@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--plum:#43283f;--plum2:#5b3651;--rose:#c9757a;--rose2:#f0c5c5;--blush:#faeeee;--cream:#fff9f2;--gold:#cf9d42;--gold2:#f5dc9e;--ink:#2d2230;--muted:#776d78;--white:#fff;--line:rgba(67,40,63,.12);--shadow:0 24px 60px rgba(67,40,63,.13);--shadow2:0 12px 28px rgba(67,40,63,.12);--radius:24px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.65;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 12% 16%,rgba(240,197,197,.30),transparent 36%),radial-gradient(ellipse at 90% 70%,rgba(207,157,66,.08),transparent 32%),var(--cream)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.eyebrow{display:inline-flex;gap:9px;align-items:center;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin-bottom:13px}.eyebrow::before{content:"✦";color:var(--gold);font-size:1rem}.section{padding:96px 0;position:relative}.section-heading{max-width:760px;margin:0 auto 44px;text-align:center}.section-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 16px;color:var(--plum)}.section-heading p{color:var(--muted);font-size:1.04rem;margin:0 auto;max-width:650px}.gradient-text{background:linear-gradient(100deg,var(--plum),var(--rose),#b78436);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:999px;padding:13px 20px;font-weight:800;font-size:.92rem;transition:transform .25s,box-shadow .25s,background .25s;white-space:nowrap}.btn:hover{transform:translateY(-3px)}.btn-primary{background:linear-gradient(130deg,var(--plum),#633955);color:#fff;box-shadow:0 12px 24px rgba(67,40,63,.22)}.btn-primary:hover{box-shadow:0 18px 32px rgba(67,40,63,.28)}.btn-gold{background:linear-gradient(120deg,#e1b65f,var(--gold));color:#382238;box-shadow:0 12px 22px rgba(207,157,66,.22)}.btn-glass{border-color:rgba(255,255,255,.7);color:var(--plum);background:rgba(255,255,255,.7);backdrop-filter:blur(12px)}.btn-outline{border-color:rgba(67,40,63,.22);color:var(--plum);background:rgba(255,255,255,.5)}.btn-small{padding:9px 14px;font-size:.82rem}.icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(201,117,122,.12);color:var(--plum);flex:0 0 auto}.muted{color:var(--muted)}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,249,242,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(67,40,63,.08)}.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:220px}.brand img{width:52px;height:52px;object-fit:contain;border-radius:50%;mix-blend-mode:multiply}.brand-text{display:flex;flex-direction:column;line-height:1.12}.brand-text strong{font-family:'Playfair Display',Georgia,serif;font-size:1.12rem;color:var(--plum);letter-spacing:-.03em}.brand-text small{font-size:.68rem;text-transform:uppercase;letter-spacing:.17em;color:#997b7b;margin-top:5px}.nav-links{display:flex;align-items:center;gap:6px}.nav-links>a,.nav-drop>button{display:flex;align-items:center;gap:7px;background:none;border:0;padding:10px 11px;border-radius:999px;color:#5e505d;font-size:.86rem;font-weight:700}.nav-links>a:hover,.nav-drop>button:hover,.nav-links>a.active{background:#f5e4e3;color:var(--plum)}.nav-drop{position:relative}.drop-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:240px;padding:10px;background:#fffdf9;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);z-index:10}.nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu{display:grid}.drop-menu a{padding:11px 13px;border-radius:10px;font-size:.9rem;color:var(--muted)}.drop-menu a:hover{background:var(--blush);color:var(--plum)}.nav-cta{flex-shrink:0}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;color:var(--plum);font-size:1.2rem}.hero{position:relative;isolation:isolate;padding:28px 0 0;overflow:hidden;background:linear-gradient(180deg,#f9e4e4 0%,#f5d5d5 50%,#ead0cc 100%)}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 7% 13%,rgba(255,255,255,.7),transparent 30%),radial-gradient(ellipse at 95% 20%,rgba(255,223,165,.24),transparent 27%);z-index:-1}.hero-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:30px;align-items:center;padding:36px 0 18px;position:relative;z-index:2}.hero-copy{max-width:680px}.hero-copy h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.8rem,5.5vw,5.2rem);letter-spacing:-.06em;line-height:.99;color:var(--plum);margin:0 0 22px}.hero-copy p{font-size:1.06rem;color:#6f5867;max-width:590px;margin:0 0 26px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:12px;margin-top:24px;color:#795d6b;font-size:.83rem}.hero-note span:first-child{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.65);color:var(--gold)}.hero-badge{justify-self:end;background:rgba(255,249,242,.62);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(15px);padding:20px 24px;border-radius:24px;box-shadow:0 20px 42px rgba(117,63,79,.10);max-width:300px;transform:rotate(2deg)}.hero-badge strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;color:var(--plum);line-height:1.15}.hero-badge small{display:block;color:#806e78;margin-top:7px}.hero-stage{position:relative;width:100%;aspect-ratio:1600/674;min-height:340px;max-height:674px;overflow:hidden;background-image:linear-gradient(0deg,rgba(97,47,67,.08),transparent 55%),url('../assets/hero-podium.jpg');background-position:center;background-size:cover;background-repeat:no-repeat}.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;filter:saturate(.98) contrast(1.02)}.hero-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,247,245,.07),transparent 56%,rgba(76,36,54,.12));pointer-events:none;z-index:1}.hero-stage>.podium-card{z-index:4}.hero-stage>.petal-field{z-index:5}.stage-label{z-index:6}.hero-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(249,228,228,.08),transparent 40%,rgba(92,40,60,.04));pointer-events:none}.petal-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}.petal{position:absolute;top:-30px;width:11px;height:16px;background:linear-gradient(140deg,#fff5ea,#d98791);border-radius:90% 0 90% 0;opacity:.52;animation:petal-fall linear infinite;filter:drop-shadow(0 2px 3px rgba(91,54,81,.12))}.petal:nth-child(3n){width:8px;height:12px;background:#e5b15b}.petal:nth-child(4n){background:#fff5ee;opacity:.75}.podium-card{position:absolute;z-index:4;display:flex;align-items:center;justify-content:center;perspective:900px;animation:float 5.6s ease-in-out infinite;transform-style:preserve-3d}.podium-card .object{transition:transform .45s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;filter:drop-shadow(0 14px 10px rgba(71,32,52,.2))}.podium-card:hover .object{transform:translateY(-10px) rotateY(-6deg) rotateX(3deg) scale(1.03)}.podium-card--invite{left:3%;width:22%;bottom:25%;animation-delay:.2s}.podium-card--phone{left:25%;width:22%;bottom:38%;animation-delay:-1.5s}.podium-card--video{left:51%;width:22%;bottom:31%;animation-delay:-2.6s}.podium-card--print{right:2.5%;width:22%;bottom:24%;animation-delay:-.8s}.mini-invite{width:78%;min-height:174px;padding:14px 12px;border:3px double #d0a34f;border-radius:12px;background:linear-gradient(145deg,#fffdf4,#f5d5d1);color:var(--plum);text-align:center;box-shadow:inset 0 0 0 5px rgba(255,255,255,.45);transform:rotate(-6deg)}.mini-invite .flourish{color:#b99040;font-size:1.2rem}.mini-invite small{display:block;font-size:.53rem;letter-spacing:.16em;text-transform:uppercase}.mini-invite strong{display:block;font:600 clamp(.8rem,1.3vw,1.45rem)/1.1 'Playfair Display',serif;margin:10px 0}.mini-invite em{font-size:.56rem;font-style:normal}.mini-phone{width:58%;max-width:158px;padding:7px;border:3px solid #38263a;border-radius:25px;background:#171219;box-shadow:inset 0 0 0 1px #8b7381;transform:rotate(-5deg)}.phone-screen{background:linear-gradient(160deg,#f8ece5,#e6bcc0);border-radius:18px;min-height:215px;overflow:hidden;text-align:center;color:var(--plum);padding:10px 6px;position:relative}.phone-screen::before{content:"";position:absolute;top:5px;left:50%;transform:translateX(-50%);width:38px;height:7px;border-radius:10px;background:#342438}.phone-screen .arch{width:86%;height:80px;margin:14px auto 8px;border:2px solid #c59c58;border-bottom:none;border-radius:80px 80px 0 0;background:linear-gradient(135deg,#edccca,#fff7f0)}.phone-screen strong{display:block;font:600 1rem 'Playfair Display',serif;line-height:1.05}.phone-screen small{font-size:.48rem;display:block;letter-spacing:.09em;margin-top:7px}.mini-video-phone{width:57%;max-width:155px;transform:rotate(5deg);padding:7px;border-radius:25px;background:#241d2a;border:3px solid #51414c;box-shadow:inset 0 0 0 1px #bc9ca3}.mini-video-screen{min-height:214px;border-radius:17px;overflow:hidden;position:relative;background:linear-gradient(180deg,rgba(54,24,44,.08),rgba(54,24,44,.5)),radial-gradient(circle at 55% 26%,#f9ccac,transparent 17%),linear-gradient(145deg,#d98f8f,#6e3a60 64%,#231829);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.mini-video-screen::before,.mini-video-screen::after{content:"✦";position:absolute;color:#ffe6ac;animation:twinkle 2s infinite}.mini-video-screen::before{left:15px;top:28px}.mini-video-screen::after{right:16px;top:58px;animation-delay:.8s}.play-orb{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;margin-bottom:10px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(6px)}.mini-video-screen strong{font:600 1rem 'Playfair Display',serif;line-height:1.1}.mini-video-screen small{font-size:.5rem;letter-spacing:.15em;margin-top:8px}.mini-print{width:100%;max-width:240px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:4px solid rgba(255,255,255,.8);box-shadow:0 15px 25px rgba(64,31,57,.23);transform:rotate(5deg);background:#fff1e8}.mini-print img{width:100%;height:100%;object-fit:contain;padding:2px;background:#fffaf4}.stage-label{position:absolute;z-index:6;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(255,249,242,.73);border:1px solid rgba(255,255,255,.86);backdrop-filter:blur(8px);border-radius:999px;padding:7px 15px;color:var(--plum);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.trust-strip{background:linear-gradient(100deg,var(--plum),#5d3b55);color:#fff;padding:22px 0;position:relative;z-index:5}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.trust-item{display:flex;align-items:center;justify-content:center;gap:12px;border-right:1px solid rgba(255,255,255,.15)}.trust-item:last-child{border:0}.trust-item b{font-size:1.25rem;color:var(--gold2);line-height:1}.trust-item span{display:block;font-size:.82rem;color:rgba(255,255,255,.75);line-height:1.3;margin-top:4px}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.about-visual{position:relative;min-height:480px;display:grid;place-items:center}.about-card{width:min(100%,430px);border-radius:34px;padding:24px;background:linear-gradient(145deg,#f8dede,#fff8ef 50%,#ead6dd);box-shadow:var(--shadow);transform:rotate(-4deg);border:1px solid rgba(255,255,255,.85)}.about-card img{border-radius:22px;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}.floating-stamp{position:absolute;right:0;bottom:22px;width:142px;height:142px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#e8c46c,#bc8933);color:var(--plum);font-weight:900;text-align:center;line-height:1.1;padding:16px;box-shadow:0 15px 30px rgba(90,55,67,.2);border:7px solid var(--cream);transform:rotate(10deg)}.floating-stamp strong{font:700 2rem 'Playfair Display',serif;display:block}.about-copy h2{font:600 clamp(2rem,3.5vw,3.2rem)/1.1 'Playfair Display',serif;letter-spacing:-.04em;color:var(--plum);margin:0 0 20px}.about-copy p{color:var(--muted)}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0}.check-list div{display:flex;gap:9px;align-items:flex-start;font-weight:700;font-size:.9rem;color:#564454}.check-list span{color:#ad7d30;font-size:1rem}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card{position:relative;overflow:hidden;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.9);border-radius:24px;padding:23px;min-height:235px;box-shadow:0 9px 32px rgba(67,40,63,.05);transition:transform .3s,box-shadow .3s,border-color .3s}.service-card:hover{transform:translateY(-8px) rotateX(2deg);box-shadow:var(--shadow2);border-color:rgba(201,117,122,.35)}.service-card::after{content:"";position:absolute;right:-35px;top:-35px;width:115px;height:115px;border-radius:50%;background:radial-gradient(circle,rgba(240,197,197,.55),rgba(240,197,197,0));transition:transform .4s}.service-card:hover::after{transform:scale(1.6)}.service-icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#f5d9d8,#fff7ee);border:1px solid rgba(207,157,66,.25);display:grid;place-items:center;font-size:1.5rem;box-shadow:inset 0 1px rgba(255,255,255,.9);margin-bottom:22px}.service-card h3{font:600 1.22rem 'Playfair Display',serif;color:var(--plum);margin:0 0 9px}.service-card p{font-size:.88rem;color:var(--muted);margin:0 0 18px}.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--rose);font-weight:800;font-size:.86rem}.text-link:hover{color:var(--plum)}.soft-section{background:linear-gradient(180deg,rgba(245,221,220,.42),rgba(255,249,242,.5))}.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.showcase-card{overflow:hidden;background:white;border:1px solid rgba(67,40,63,.08);border-radius:26px;box-shadow:0 15px 38px rgba(67,40,63,.08);transition:transform .3s}.showcase-card:hover{transform:translateY(-7px)}.showcase-art{height:250px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,#f9e6e1,#dfabb5)}.showcase-art::before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.65);border-radius:180px 180px 22px 22px}.art-paper{position:relative;width:56%;max-width:210px;min-height:172px;border-radius:9px;padding:20px 14px;background:#fff8f0;border:3px double #d3a856;color:var(--plum);text-align:center;box-shadow:0 24px 32px rgba(75,43,65,.22);transform:rotate(-4deg);display:flex;flex-direction:column;align-items:center;justify-content:center}.art-paper::after{content:"✦";position:absolute;top:8px;color:#bb8e3e}.art-paper strong{font:600 1.35rem/1.15 'Playfair Display',serif}.art-paper small{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px}.art-paper span{font-size:.68rem;margin-top:10px}.art-phone{position:relative;width:120px;height:224px;border:6px solid #302232;border-radius:24px;background:linear-gradient(150deg,#f4dddd,#fff7ec);box-shadow:0 22px 32px rgba(75,43,65,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--plum);text-align:center;transform:rotate(5deg)}.art-phone::before{content:"";position:absolute;top:5px;width:35px;height:6px;border-radius:9px;background:#332337}.art-phone strong{font:600 1rem 'Playfair Display',serif;line-height:1.1}.art-phone span{font-size:.5rem;letter-spacing:.12em;margin-top:8px}.art-phone i{font-style:normal;font-size:1.8rem;margin-bottom:7px}.showcase-content{padding:23px}.showcase-content .tag{font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}.showcase-content h3{margin:8px 0;font:600 1.4rem 'Playfair Display',serif;color:var(--plum)}.showcase-content p{color:var(--muted);font-size:.9rem;margin:0 0 18px}
.journey{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto}.journey::before{content:"";position:absolute;top:37px;left:16%;right:16%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--rose),transparent)}.journey-item{position:relative;text-align:center;padding:0 20px}.journey-number{width:74px;height:74px;border-radius:50%;margin:0 auto 22px;position:relative;z-index:1;display:grid;place-items:center;background:linear-gradient(145deg,#fff7e8,#efd7d5);border:1px solid rgba(207,157,66,.55);box-shadow:0 12px 20px rgba(67,40,63,.1);font:700 1.45rem 'Playfair Display',serif;color:var(--plum)}.journey-item h3{font:600 1.3rem 'Playfair Display',serif;color:var(--plum);margin:0 0 8px}.journey-item p{font-size:.9rem;color:var(--muted);margin:0}
.invite-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.invite-tile{position:relative;background:#fff;border:1px solid rgba(67,40,63,.1);border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(67,40,63,.07);transition:transform .3s,box-shadow .3s}.invite-tile:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.invite-thumb{height:285px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.invite-thumb.ivory{background:radial-gradient(circle at 20% 20%,#fff7e6,transparent 33%),linear-gradient(155deg,#eac7c4,#fff3e8)}.invite-thumb.garden{background:radial-gradient(circle at 80% 25%,rgba(255,255,255,.7),transparent 24%),linear-gradient(145deg,#cce9e2,#fbefe6)}.invite-thumb.royal{background:radial-gradient(circle at 50% 10%,#c8954f,transparent 35%),linear-gradient(155deg,#4d2035,#9e5553)}.invite-thumb.midnight{background:radial-gradient(circle at 50% 0%,#433c75,transparent 40%),linear-gradient(155deg,#151d45,#31335d)}.invite-thumb .paper{width:70%;min-height:210px;padding:22px 13px;border:1px solid #d9b664;outline:4px double rgba(217,182,100,.5);outline-offset:-9px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 20px 25px rgba(35,22,38,.24);transform:rotate(-2deg);transition:transform .4s}.invite-tile:hover .paper{transform:rotate(0) translateY(-5px)}.ivory .paper{background:#fff8f0;color:#5a3650}.garden .paper{background:#fbfff6;color:#3b6d64}.royal .paper{background:#f6e7c8;color:#612940}.midnight .paper{background:#172148;color:#f4d58a;border-color:#b88d3f}.paper .tiny{font-size:.53rem;text-transform:uppercase;letter-spacing:.18em}.paper strong{font:600 1.22rem/1.05 'Playfair Display',serif;margin:12px 0}.paper em{font-size:.6rem;font-style:normal}.invite-info{padding:17px}.invite-info h3{font:600 1.18rem 'Playfair Display',serif;color:var(--plum);margin:0 0 7px}.invite-info p{font-size:.82rem;color:var(--muted);margin:0 0 13px}.invite-actions{display:flex;gap:8px;flex-wrap:wrap}.invite-actions .btn{flex:1;padding:9px 10px;font-size:.78rem}.cta-band{position:relative;overflow:hidden;margin:0 auto;width:min(calc(100% - 40px),var(--max));border-radius:34px;background:linear-gradient(120deg,#43283f,#653c59 58%,#8e5d6d);color:#fff;padding:48px 54px;display:grid;grid-template-columns:1.2fr auto;align-items:center;gap:24px;box-shadow:0 24px 55px rgba(67,40,63,.23)}.cta-band::before{content:"✦";position:absolute;font-size:13rem;right:26%;top:-65px;color:rgba(255,255,255,.04)}.cta-band h2{font:600 clamp(1.9rem,3vw,2.8rem)/1.1 'Playfair Display',serif;margin:0 0 12px;max-width:680px}.cta-band p{color:rgba(255,255,255,.72);margin:0;max-width:650px}.cta-band .btn{z-index:1}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;align-items:stretch}.contact-panel{background:linear-gradient(145deg,#43283f,#67415b);border-radius:28px;padding:32px;color:#fff;position:relative;overflow:hidden}.contact-panel::after{content:"❀";position:absolute;right:-15px;bottom:-52px;color:rgba(255,255,255,.08);font-size:11rem;line-height:1}.contact-panel h3{font:600 1.8rem 'Playfair Display',serif;margin:0 0 10px}.contact-panel>p{color:rgba(255,255,255,.72);margin:0 0 25px}.contact-line{display:flex;gap:13px;align-items:flex-start;margin:22px 0;position:relative;z-index:1}.contact-line .icon{background:rgba(255,255,255,.12);color:var(--gold2)}.contact-line strong{display:block;font-size:.94rem}.contact-line small{display:block;color:rgba(255,255,255,.7);margin-top:3px}.contact-line a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}.contact-form{padding:32px;border:1px solid rgba(67,40,63,.1);border-radius:28px;background:rgba(255,255,255,.75);box-shadow:0 10px 35px rgba(67,40,63,.06)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.82rem;font-weight:800;color:#594756}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(67,40,63,.16);background:#fffdf9;border-radius:13px;padding:13px 14px;outline:none;color:var(--ink);transition:border .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(201,117,122,.1)}.field textarea{min-height:120px;resize:vertical}.form-note{font-size:.78rem;color:var(--muted);margin:11px 0 18px}.locations{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.location-card{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line)}.location-card h4{margin:0 0 8px;color:var(--plum);font:600 1.18rem 'Playfair Display',serif}.location-card p{font-size:.88rem;color:var(--muted);margin:0 0 14px}.site-footer{margin-top:96px;background:#291d2c;color:#fff;padding:64px 0 22px;position:relative;overflow:hidden}.site-footer::before{content:"";position:absolute;left:-120px;top:-160px;width:370px;height:370px;border:1px solid rgba(207,157,66,.12);border-radius:50%;box-shadow:0 0 0 40px rgba(207,157,66,.025),0 0 0 80px rgba(207,157,66,.025)}.footer-grid{position:relative;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:38px;padding-bottom:48px}.footer-brand{display:flex;gap:13px;align-items:center;margin-bottom:17px}.footer-brand img{width:58px;height:58px;background:white;border-radius:50%;object-fit:contain}.footer-brand strong{display:block;font:600 1.25rem 'Playfair Display',serif}.footer-brand small{display:block;color:#d3b4c2;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.footer-col p{font-size:.9rem;color:#c7b8c6;max-width:340px}.footer-col h4{margin:3px 0 18px;color:var(--gold2);font-size:.82rem;letter-spacing:.13em;text-transform:uppercase}.footer-links{display:grid;gap:10px}.footer-links a{color:#cbbdca;font-size:.88rem}.footer-links a:hover{color:#fff0ce}.footer-bottom{position:relative;border-top:1px solid rgba(255,255,255,.1);padding-top:19px;display:flex;justify-content:space-between;gap:20px;color:#b5a6b5;font-size:.78rem}.footer-bottom a{color:var(--gold2)}.wa-float{position:fixed;right:20px;bottom:20px;z-index:900;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#20bd68;color:#fff;font-size:1.55rem;box-shadow:0 12px 28px rgba(20,135,74,.3);border:3px solid rgba(255,255,255,.85);transition:transform .2s}.wa-float:hover{transform:translateY(-4px) scale(1.04)}.scroll-top{position:fixed;right:26px;bottom:91px;z-index:900;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--line);color:var(--plum);box-shadow:var(--shadow2);opacity:0;pointer-events:none;transform:translateY(8px);transition:.25s}.scroll-top.visible{opacity:1;pointer-events:auto;transform:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.is-visible{opacity:1;transform:none}.faq-list{max-width:850px;margin:auto;display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.68);overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:20px 22px;font-weight:800;color:var(--plum);display:flex;align-items:center;justify-content:space-between;gap:18px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"＋";font-size:1.2rem;color:var(--rose)}.faq-item[open] summary::after{content:"−"}.faq-item p{margin:0;padding:0 22px 22px;color:var(--muted);font-size:.94rem}.page-hero{padding:84px 0 60px;background:linear-gradient(150deg,#f9e8e5,#f3d4d6 55%,#fdf4e8);position:relative;overflow:hidden}.page-hero::after{content:"✧";position:absolute;right:7%;top:10px;font-size:12rem;color:rgba(255,255,255,.35);line-height:1}.page-hero .container{position:relative;z-index:1}.page-hero h1{font:600 clamp(2.8rem,5vw,4.7rem)/1.03 'Playfair Display',serif;letter-spacing:-.05em;color:var(--plum);max-width:850px;margin:0 0 20px}.page-hero p{max-width:760px;color:#6f5867;font-size:1.05rem}.breadcrumbs{font-size:.8rem;color:#8c6c7c;margin-bottom:20px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:28px}.catalog-filters{display:flex;gap:10px;flex-wrap:wrap}.catalog-filters select,.catalog-filters input{border:1px solid var(--line);border-radius:999px;padding:11px 15px;background:#fffdf9;min-width:180px;outline:none}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.catalog-item{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(67,40,63,.05);display:flex;flex-direction:column}.catalog-preview{height:215px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#fae8e5,#f3d4d6 48%,#fff7e8);overflow:hidden}.catalog-preview.pdf::before{content:"";width:115px;height:145px;background:#fff9f0;border:1px solid #cfa75d;box-shadow:0 14px 25px rgba(67,40,63,.17);transform:rotate(-6deg);position:absolute}.catalog-preview.video{background:linear-gradient(145deg,#4e2e4b,#8f586c,#deb2b1)}.catalog-preview.video::before{content:"";width:98px;height:155px;border:5px solid #211926;border-radius:20px;background:linear-gradient(145deg,#f4d9d0,#9a526d 58%,#36203b);box-shadow:0 14px 25px rgba(20,10,20,.3)}.file-type{position:relative;z-index:1;font-size:.7rem;letter-spacing:.12em;font-weight:900;color:var(--plum);background:rgba(255,255,255,.84);border-radius:999px;padding:7px 10px;box-shadow:0 4px 9px rgba(0,0,0,.05)}.catalog-preview.video .file-type{color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.5)}.catalog-item-body{padding:18px;display:flex;flex-direction:column;flex:1}.catalog-item-body .code{font-size:.67rem;letter-spacing:.1em;color:var(--rose);font-weight:900;text-transform:uppercase}.catalog-item-body h3{font:600 1.14rem 'Playfair Display',serif;color:var(--plum);margin:7px 0}.catalog-item-body p{font-size:.82rem;color:var(--muted);margin:0 0 15px}.catalog-item-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}.catalog-item-actions .btn{font-size:.78rem;padding:9px 12px}.empty-state{grid-column:1/-1;border:1px dashed rgba(67,40,63,.25);border-radius:24px;padding:45px 24px;text-align:center;color:var(--muted);background:rgba(255,255,255,.45)}.empty-state strong{display:block;font:600 1.5rem 'Playfair Display',serif;color:var(--plum);margin-bottom:9px}.modal-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(34,19,36,.66);backdrop-filter:blur(9px);display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{width:min(100%,650px);max-height:90vh;overflow:auto;background:#fffaf4;border-radius:25px;border:1px solid rgba(255,255,255,.8);box-shadow:0 30px 80px rgba(0,0,0,.3);padding:26px;animation:modal-in .25s ease}.modal.wide{width:min(100%,950px)}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.modal-head h2{font:600 1.6rem 'Playfair Display',serif;color:var(--plum);margin:0}.modal-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--plum);font-size:1.2rem}.admin-status{border-radius:12px;background:#f7e4e0;padding:12px 14px;font-size:.84rem;color:#6a445d;margin:13px 0}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.admin-table th{color:var(--plum)}.admin-table td button{border:0;background:#f4dfdf;padding:7px 10px;border-radius:9px;color:var(--plum);font-weight:800}.preview-frame{width:100%;height:min(70vh,720px);border:0;border-radius:12px;background:white}.media-player{width:100%;max-height:70vh;border-radius:12px;background:#160f19}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes petal-fall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}12%{opacity:.65}88%{opacity:.5}100%{transform:translate3d(60px,700px,0) rotate(380deg);opacity:0}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}@keyframes modal-in{from{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1100px){.nav-links>a,.nav-drop>button{padding:10px 8px;font-size:.8rem}.brand{min-width:185px}.brand img{width:46px;height:46px}.service-grid{grid-template-columns:repeat(3,1fr)}.invite-preview-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid .footer-col:last-child{grid-column:2/4}.hero-top{grid-template-columns:1fr auto}.hero-badge{max-width:235px}.hero-copy h1{font-size:clamp(2.6rem,5vw,4.2rem)}}
@media(max-width:820px){.container{width:min(calc(100% - 30px),var(--max))}.nav-wrap{height:72px}.brand{min-width:0}.brand img{width:44px;height:44px}.brand-text strong{font-size:1rem}.brand-text small{font-size:.58rem}.menu-toggle{display:block;margin-left:auto}.nav-cta{display:none}.nav-links{display:none;position:absolute;top:71px;left:15px;right:15px;padding:13px;background:rgba(255,250,244,.98);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:2px}.nav-links.open{display:flex}.nav-links>a,.nav-drop>button{width:100%;justify-content:space-between;padding:12px 14px;font-size:.92rem}.drop-menu{position:static;box-shadow:none;border:0;border-radius:10px;margin:0 0 8px 8px;background:#f9eeee}.nav-drop:hover .drop-menu{display:none}.nav-drop.expanded .drop-menu,.nav-drop:focus-within .drop-menu{display:grid}.hero{padding-top:10px}.hero-top{grid-template-columns:1fr;gap:14px;padding:22px 0 14px}.hero-copy h1{font-size:clamp(2.6rem,8vw,4.2rem);max-width:670px}.hero-badge{justify-self:start;max-width:unset;display:flex;align-items:center;gap:15px;padding:13px 17px;transform:none}.hero-badge strong{font-size:1.25rem}.hero-badge small{margin-top:0}.hero-stage{aspect-ratio:1.5;min-height:330px;background-size:cover;background-position:center}.podium-card--invite{left:1%;width:24%;bottom:23%}.podium-card--phone{left:24%;width:24%;bottom:36%}.podium-card--video{left:50%;width:24%;bottom:29%}.podium-card--print{right:1%;width:24%;bottom:22%}.mini-invite{min-height:130px;padding:9px 6px;border-width:2px}.mini-invite strong{margin:6px 0}.phone-screen,.mini-video-screen{min-height:156px}.mini-phone,.mini-video-phone{padding:5px;border-width:2px}.phone-screen .arch{height:50px;margin-top:12px}.mini-print{border-width:2px}.stage-label{font-size:.58rem;padding:6px 10px}.trust-grid{grid-template-columns:repeat(2,1fr);gap:17px}.trust-item:nth-child(2){border:0}.section{padding:74px 0}.about-grid{grid-template-columns:1fr;gap:35px}.about-visual{min-height:420px}.about-card{width:min(78%,390px)}.floating-stamp{right:5%;bottom:5px}.service-grid{grid-template-columns:repeat(2,1fr)}.showcase-grid{grid-template-columns:repeat(2,1fr)}.journey{grid-template-columns:1fr;gap:30px;max-width:480px}.journey::before{top:30px;bottom:30px;left:37px;right:auto;width:2px;height:auto}.journey-item{display:grid;grid-template-columns:74px 1fr;column-gap:18px;text-align:left;padding:0}.journey-number{grid-row:1/4;margin:0}.journey-item h3{align-self:end}.cta-band{grid-template-columns:1fr;padding:36px 28px}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.2fr 1fr;gap:30px}.footer-grid .footer-col:last-child{grid-column:auto}.footer-grid .footer-col:first-child{grid-column:1/-1}.page-hero{padding:66px 0 46px}}
@media(max-width:540px){.container{width:calc(100% - 26px)}.hero-copy h1{font-size:2.72rem}.hero-copy p{font-size:.95rem}.hero-actions .btn{flex:1}.hero-note{align-items:flex-start}.hero-stage{aspect-ratio:1.05;min-height:370px;background-position:center bottom}.podium-card--invite{left:0;width:26%;bottom:30%}.podium-card--phone{left:23%;width:26%;bottom:39%}.podium-card--video{left:49%;width:26%;bottom:34%}.podium-card--print{right:0;width:26%;bottom:29%}.mini-invite{width:90%;min-height:108px;padding:5px 3px;border-width:2px;transform:rotate(-4deg)}.mini-invite .flourish{font-size:.8rem}.mini-invite small{font-size:.36rem}.mini-invite strong{font-size:.72rem;margin:5px 0}.mini-invite em{font-size:.4rem}.mini-phone,.mini-video-phone{width:72%;padding:4px;border-radius:18px}.phone-screen,.mini-video-screen{min-height:133px;border-radius:13px}.phone-screen .arch{height:43px;margin-top:11px}.phone-screen strong,.mini-video-screen strong{font-size:.7rem}.phone-screen small,.mini-video-screen small{font-size:.37rem}.play-orb{width:30px;height:30px}.mini-print{width:108%;border-width:2px}.stage-label{bottom:8px;font-size:.48rem;max-width:95%;overflow:hidden}.trust-grid{gap:15px 8px}.trust-item{justify-content:flex-start;padding-left:5px;gap:9px}.trust-item b{font-size:1rem}.trust-item span{font-size:.68rem}.section{padding:60px 0}.section-heading{margin-bottom:32px}.section-heading h2{font-size:2.1rem}.about-visual{min-height:350px}.about-card{width:80%;padding:13px;border-radius:25px}.floating-stamp{width:105px;height:105px;font-size:.68rem;right:1%}.floating-stamp strong{font-size:1.5rem}.check-list{grid-template-columns:1fr}.service-grid,.showcase-grid,.invite-preview-grid,.catalog-grid{grid-template-columns:1fr}.service-card{min-height:unset}.showcase-art{height:230px}.invite-thumb{height:330px}.catalog-preview{height:220px}.locations{grid-template-columns:1fr}.cta-band{width:calc(100% - 26px);padding:30px 22px;border-radius:25px}.contact-panel,.contact-form{padding:24px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr;gap:27px}.footer-grid .footer-col:first-child,.footer-grid .footer-col:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.site-footer{margin-top:60px;padding-top:48px}.page-hero h1{font-size:2.7rem}.catalog-filters{width:100%}.catalog-filters select,.catalog-filters input{min-width:0;width:100%}.catalog-toolbar>.muted{width:100%}.wa-float{width:52px;height:52px;right:13px;bottom:13px}.scroll-top{right:18px;bottom:75px}.modal{padding:20px;border-radius:20px}.admin-table{display:block;overflow:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Extra layouts for wedding invitation landing and service catalogue pages. */
.wedding-page-hero{min-height:510px;overflow:hidden;isolation:isolate}.wedding-page-hero .container{position:relative;z-index:2}.wedding-page-hero p{max-width:680px}.wedding-hero-orbit{position:absolute;right:4%;top:8%;width:min(38vw,440px);aspect-ratio:1;border:1px solid rgba(207,157,66,.35);border-radius:50%;display:grid;place-items:center;z-index:-1;opacity:.8}.wedding-hero-orbit::before,.wedding-hero-orbit::after{content:"";position:absolute;inset:12%;border:1px dashed rgba(201,117,122,.32);border-radius:50%;animation:ko-orbit 34s linear infinite}.wedding-hero-orbit::after{inset:25%;border-style:solid;animation-direction:reverse}.wedding-hero-orbit>span{position:absolute;font-size:2rem;color:#bd8f50}.wedding-hero-orbit>span:nth-child(1){top:10%;left:50%}.wedding-hero-orbit>span:nth-child(2){bottom:15%;left:10%}.wedding-hero-orbit>span:nth-child(3){right:8%;top:42%}.orbit-seal{width:31%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f3d775,#c47a18);border:12px solid #43283f;box-shadow:0 15px 50px rgba(67,40,63,.22);font:600 clamp(2rem,5vw,4rem) 'Playfair Display',serif;color:#43283f}.wedding-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.wedding-design-card{border:1px solid rgba(67,40,63,.11);border-radius:27px;overflow:hidden;background:rgba(255,255,255,.72);box-shadow:0 18px 45px rgba(67,40,63,.08);transition:transform .35s,box-shadow .35s}.wedding-design-card:hover{transform:translateY(-7px);box-shadow:0 28px 60px rgba(67,40,63,.14)}.wedding-demo-thumb{position:relative;min-height:390px;display:grid;place-items:center;overflow:hidden;padding:35px;background:linear-gradient(140deg,#f7e1dd,#e8c4bd)}.wedding-demo-thumb::before{content:"";position:absolute;inset:8%;border:1px solid rgba(255,255,255,.8);border-radius:44% 44% 16px 16px;box-shadow:0 15px 40px rgba(67,40,63,.1)}.demo-ivory{background:radial-gradient(ellipse at 50% 15%,#fffaf0,transparent 48%),linear-gradient(140deg,#f1d3cf,#e8b7b2)}.demo-garden{background:radial-gradient(ellipse at 50% 15%,#fbf8e8,transparent 58%),linear-gradient(140deg,#b6c9ad,#e2dbbf)}.demo-royal{background:radial-gradient(ellipse at 50% 18%,#6e3a60,transparent 48%),linear-gradient(135deg,#32192f,#70415d)}.demo-midnight{background:radial-gradient(ellipse at 50% 0%,#34466c,transparent 55%),linear-gradient(145deg,#10172d,#24233f)}.demo-art-frame{position:relative;z-index:2;width:min(100%,310px);min-height:310px;padding:42px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--demo-line,#d1af75);background:rgba(255,250,242,.85);color:#4a2c43;box-shadow:0 25px 60px rgba(40,20,35,.18),inset 0 0 0 6px rgba(255,255,255,.35);transform:rotate(-1deg);transition:transform .6s}.wedding-design-card:hover .demo-art-frame{transform:rotate(0) translateY(-5px)}.demo-art-frame small{font-size:.55rem;letter-spacing:.21em;line-height:1.7}.demo-art-frame strong{font:500 clamp(2.6rem,5vw,3.7rem)/.86 'Playfair Display',Georgia,serif;margin:20px 0;letter-spacing:-.06em}.demo-art-frame strong i{display:block;font-size:.6em;font-weight:400;margin:10px;color:#b08245}.demo-art-frame em{font-style:normal;font-size:.55rem;letter-spacing:.1em;line-height:1.8}.demo-date{display:inline-block;margin-top:20px;padding:8px 10px;border-block:1px solid var(--demo-line,#d1af75);font-size:.62rem;letter-spacing:.16em}.demo-seal{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--demo-line,#d1af75);font-size:1.25rem;margin-bottom:14px}.demo-garden .demo-art-frame{background:rgba(250,255,244,.87);color:#2e4a3a;--demo-line:#7c9b78}.demo-royal .demo-art-frame{background:rgba(57,28,50,.86);color:#f8e9c6;box-shadow:0 25px 60px rgba(0,0,0,.22),inset 0 0 0 6px rgba(255,255,255,.05);--demo-line:#d3aa61}.demo-royal .demo-art-frame strong i{color:#d3aa61}.demo-midnight .demo-art-frame{background:rgba(19,28,52,.9);color:#f6e9cd;--demo-line:#d9b86d;box-shadow:0 25px 60px rgba(0,0,0,.24),inset 0 0 0 6px rgba(255,255,255,.035)}.demo-midnight .demo-art-frame strong i{color:#d9b86d}.demo-open-chip{position:absolute;bottom:18px;right:18px;z-index:4;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.86);color:#43283f;font-size:.72rem;font-weight:800;box-shadow:0 6px 18px rgba(20,10,20,.1)}.garden-vines,.royal-arch,.night-stars{position:absolute;inset:7%;z-index:1;color:rgba(61,89,63,.4);font-size:2rem;line-height:1.6;pointer-events:none;text-align:left}.royal-arch{inset:6% 22%;border:2px solid rgba(221,184,108,.4);border-bottom:0;border-radius:50% 50% 0 0}.night-stars{text-align:center;color:rgba(235,203,130,.65);letter-spacing:.3em}.wedding-design-body{padding:24px 25px 27px}.design-number{font-size:.66rem;letter-spacing:.17em;font-weight:900;color:#b57d59}.wedding-design-body h3{font:600 1.75rem 'Playfair Display',Georgia,serif;color:var(--plum);margin:8px 0}.wedding-design-body p{margin:0;color:var(--muted);line-height:1.8}.design-tags{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0 21px}.design-tags span{border:1px solid rgba(67,40,63,.12);border-radius:999px;padding:6px 10px;font-size:.68rem;color:#766072;background:#fff8f4}.design-card-actions{display:flex;gap:10px;flex-wrap:wrap}.feature-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-matrix article{padding:24px;border:1px solid rgba(67,40,63,.1);border-radius:22px;background:rgba(255,255,255,.64);box-shadow:0 12px 30px rgba(67,40,63,.04)}.feature-matrix article>span{width:43px;height:43px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#f3d9d5,#fff4df);color:#774963;font-size:1.25rem}.feature-matrix h3{font:600 1.2rem 'Playfair Display',serif;color:var(--plum);margin:18px 0 7px}.feature-matrix p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.8}.personalise-band{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:50px;padding:35px;border-radius:26px;background:linear-gradient(120deg,#f3dddd,#fff6e8);border:1px solid rgba(207,157,66,.24)}.personalise-band h2{font:600 clamp(1.7rem,3vw,2.5rem)/1.15 'Playfair Display',serif;color:var(--plum);margin:0 0 10px}.personalise-band p{color:#786374;margin:0}.catalog-note{margin-top:40px;padding:28px;border:1px solid rgba(67,40,63,.12);border-radius:22px;background:rgba(255,255,255,.58)}.catalog-note strong{font:600 1.3rem 'Playfair Display',serif;color:var(--plum)}.catalog-note p{color:var(--muted)}
@keyframes ko-orbit{to{transform:rotate(360deg)}}
@media(max-width:820px){.wedding-hero-orbit{right:-12%;top:22%;width:50vw;opacity:.35}.wedding-page-hero{padding-top:60px;padding-bottom:55px}.wedding-design-grid{gap:18px}.wedding-demo-thumb{min-height:340px;padding:22px}.demo-art-frame{min-height:285px;padding:32px 17px}.feature-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.personalise-band{align-items:flex-start;flex-direction:column}}
@media(max-width:540px){.wedding-design-grid{grid-template-columns:1fr}.wedding-demo-thumb{min-height:360px}.feature-matrix{grid-template-columns:1fr}.personalise-band{padding:26px}.demo-art-frame{min-height:300px}.demo-art-frame strong{font-size:3.3rem}}

.catalog-preview.image{background:linear-gradient(145deg,#fff5ee,#ead0d0 52%,#f4e5c9)}.catalog-preview.image::before{content:'';width:112px;height:152px;border:3px double #c99b51;background:linear-gradient(145deg,#fffaf3,#f3d5d3);box-shadow:0 14px 25px rgba(67,40,63,.16);transform:rotate(-4deg)}


/* Premium dimensional navigation, editorial service storytelling and hero-first layout */
.site-header{background:linear-gradient(135deg,rgba(255,252,247,.94),rgba(248,225,226,.9));border-bottom:1px solid rgba(255,255,255,.85);box-shadow:0 8px 30px rgba(67,40,63,.09);backdrop-filter:blur(22px) saturate(1.25)}
.nav-wrap{height:88px}.brand{position:relative;padding:8px 13px 8px 8px;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(246,221,222,.55));border:1px solid rgba(255,255,255,.92);box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(67,40,63,.07);transition:transform .3s,box-shadow .3s}.brand:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 13px 26px rgba(67,40,63,.12)}.brand img{width:54px;height:54px;filter:drop-shadow(0 5px 6px rgba(67,40,63,.12))}.nav-links{gap:5px;padding:7px;border-radius:999px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(67,40,63,.04)}.nav-links>a,.nav-drop>button{padding:11px 13px;transition:background .25s,transform .25s,color .25s;white-space:nowrap}.nav-links>a:hover,.nav-drop>button:hover,.nav-links>a.active{transform:translateY(-1px);background:linear-gradient(145deg,#fff,#f1d9dc);box-shadow:0 5px 12px rgba(67,40,63,.08)}.nav-drop>button[aria-expanded=true]{background:#f4e0e2;color:var(--plum)}.drop-menu{top:calc(100% + 14px);padding:12px;border-radius:20px;background:rgba(255,253,249,.97);box-shadow:0 22px 60px rgba(54,28,48,.19),inset 0 1px 0 #fff;border:1px solid rgba(255,255,255,.95);backdrop-filter:blur(18px)}.drop-menu a{transition:transform .2s,background .2s;padding:12px 14px}.drop-menu a:hover{transform:translateX(3px);background:linear-gradient(100deg,#fae9e8,#fff9f2)}.nav-cta{box-shadow:0 10px 0 rgba(67,40,63,.07),0 14px 26px rgba(67,40,63,.22);border:1px solid rgba(255,255,255,.35)}
.hero{padding:0}.hero-stage{aspect-ratio:16/7;min-height:420px;max-height:720px;box-shadow:inset 0 -50px 100px rgba(67,40,63,.08)}.hero-bg-video{object-fit:cover;object-position:center center}.hero-top{padding-top:46px;padding-bottom:50px}.podium-card--phone{left:39%;width:20%;bottom:41%;transform:translateZ(45px)}.podium-card--video{left:57%;width:18%;bottom:34%}.podium-card--invite{left:19%;width:18%;bottom:27%}.podium-card--print{right:16%;width:17%;bottom:23%}.mini-phone,.mini-video-phone{filter:drop-shadow(0 22px 22px rgba(42,18,35,.32))}.mini-phone{transform:rotate(-2deg) translateY(-8px)}.stage-label{bottom:15px;box-shadow:0 12px 35px rgba(67,40,63,.12);letter-spacing:.1em}.hero-stage::after{background:linear-gradient(180deg,rgba(255,247,245,.02),transparent 66%,rgba(76,36,54,.15))}
.editorial-studio{background:linear-gradient(180deg,#fffaf7 0%,#f8e9e8 48%,#fff9f2 100%);overflow:hidden}.editorial-intro{max-width:800px;text-align:center;margin:0 auto 55px}.editorial-intro h2{font:600 clamp(2.2rem,4vw,3.6rem)/1.08 'Playfair Display',Georgia,serif;color:var(--plum);letter-spacing:-.045em;margin:0 0 15px}.editorial-intro p{max-width:620px;margin:auto;color:var(--muted)}.editorial-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(28px,5vw,74px);margin:0 auto 74px;max-width:1120px}.editorial-row:last-child{margin-bottom:0}.editorial-row--reverse .editorial-image{order:2}.editorial-row--reverse .editorial-copy{order:1}.editorial-image{position:relative;min-height:340px;aspect-ratio:1.18;perspective:1000px}.editorial-image::before{content:"";position:absolute;inset:5% -3% -4% 5%;border-radius:32px;background:linear-gradient(135deg,#d7a5b0,#fff1e9 60%,#d9b56e);transform:rotate(3deg);box-shadow:0 22px 55px rgba(67,40,63,.12)}.editorial-image img{position:relative;width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:28px;border:7px solid rgba(255,255,255,.82);box-shadow:0 26px 60px rgba(67,40,63,.18);transform:rotateY(-4deg) rotateX(2deg);transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .65s}.editorial-row--reverse .editorial-image img{transform:rotateY(4deg) rotateX(2deg)}.editorial-row:hover .editorial-image img{transform:rotateY(0) rotateX(0) translateY(-6px);box-shadow:0 35px 70px rgba(67,40,63,.22)}.editorial-chip{position:absolute;left:22px;bottom:22px;padding:10px 15px;border-radius:999px;color:var(--plum);background:rgba(255,250,244,.88);border:1px solid rgba(255,255,255,.95);backdrop-filter:blur(12px);box-shadow:0 10px 25px rgba(67,40,63,.12);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.editorial-copy .eyebrow{margin-bottom:11px}.editorial-copy h3{font:600 clamp(2rem,3.2vw,3.1rem)/1.08 'Playfair Display',Georgia,serif;color:var(--plum);letter-spacing:-.04em;margin:0 0 18px}.editorial-copy h3 em{color:#b36c7a;font-weight:500}.editorial-copy p{color:#766676;line-height:1.9;margin:0 0 20px;max-width:500px}.editorial-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.editorial-tags span{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(67,40,63,.09);color:#795d70;font-size:.73rem;font-weight:700}.editorial-copy .btn{box-shadow:0 12px 24px rgba(67,40,63,.17)}
@media(max-width:980px){.nav-wrap{gap:12px}.brand{min-width:unset}.brand-text small{letter-spacing:.1em}.nav-links>a,.nav-drop>button{padding:10px 9px;font-size:.78rem}.nav-cta{font-size:.8rem;padding:11px 14px}.editorial-row{gap:34px}.hero-stage{min-height:360px}}
@media(max-width:820px){.nav-wrap{height:74px}.brand{padding:5px 10px 5px 5px}.nav-links{background:rgba(255,250,246,.98);border-radius:22px}.hero-stage{aspect-ratio:1.5;min-height:350px}.hero-top{padding:28px 0 36px}.editorial-row,.editorial-row--reverse{grid-template-columns:1fr;gap:28px;margin-bottom:58px}.editorial-row--reverse .editorial-image,.editorial-row--reverse .editorial-copy{order:initial}.editorial-image,.editorial-image img{min-height:300px}.editorial-copy{padding:0 5px}.editorial-intro{margin-bottom:40px}}
@media(max-width:540px){.hero-stage{aspect-ratio:1.04;min-height:380px}.podium-card--invite{left:5%;width:25%;bottom:29%}.podium-card--phone{left:34%;width:25%;bottom:41%}.podium-card--video{left:58%;width:23%;bottom:31%}.podium-card--print{right:4%;width:22%;bottom:22%}.stage-label{white-space:normal;text-align:center;width:max-content;max-width:94%;font-size:.48rem}.hero-top{padding-top:26px}.editorial-studio{padding:60px 0}.editorial-row{margin-bottom:48px}.editorial-image,.editorial-image img{min-height:245px;border-radius:22px}.editorial-image img{border-width:5px}.editorial-chip{left:14px;bottom:14px;font-size:.62rem;padding:8px 11px}.editorial-copy h3{font-size:2.15rem}.editorial-tags{gap:6px}.editorial-tags span{font-size:.67rem}}


/* Five sequential square podium showcases — scoped to the service showcase only */
.editorial-image.podium-showcase{aspect-ratio:1/1;width:100%;min-height:0;isolation:isolate;overflow:hidden;border-radius:30px;background:#f8e6ef;display:flex;align-items:center;justify-content:center;box-shadow:0 25px 58px rgba(105,55,111,.16);}
.editorial-image.podium-showcase::before{inset:4% -2% -3% 4%;border-radius:32px;background:linear-gradient(135deg,rgba(194,139,190,.75),rgba(255,237,246,.9) 52%,rgba(151,131,205,.68));box-shadow:0 24px 50px rgba(102,58,133,.13);z-index:-1;}
.podium-scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0;}
.podium-scene-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(40,14,44,.02),rgba(57,23,62,.06) 65%,rgba(48,22,53,.2));pointer-events:none;}
.podium-product{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-43%);filter:drop-shadow(0 18px 18px rgba(61,25,73,.27));}
.podium-product--phone{width:29%;max-width:180px;}
.podium-device{position:relative;width:100%;aspect-ratio: .49;border:5px solid #241e2b;border-radius:28px;padding:5px;background:linear-gradient(145deg,#fdf9ff,#c9bfce);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 8px 20px rgba(38,15,47,.2);}
.podium-device::before{content:"";position:absolute;z-index:3;top:7px;left:50%;transform:translateX(-50%);width:30%;height:7px;border-radius:20px;background:#241e2b;}
.podium-device-screen{width:100%;height:100%;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10% 6%;overflow:hidden;color:#63324e;background:linear-gradient(160deg,#fff9f5,#f3d7e5 60%,#f9e8ed);}
.podium-device-screen small{font-size:clamp(5px,.8vw,10px);letter-spacing:.12em;font-weight:800;margin:8% 0 5%;}
.podium-device-screen strong{font:600 clamp(12px,2.1vw,28px)/1.02 'Playfair Display',Georgia,serif;}
.podium-device-screen em{font-size:clamp(6px,.8vw,10px);font-style:normal;margin-top:9%;}
.mock-flower,.mock-site-flower{font-size:clamp(13px,2.2vw,28px);color:#b8789b;}
.mock-date{font-size:clamp(6px,.75vw,10px);margin-top:10%;padding:5% 8%;border-top:1px solid #d9a7bd;border-bottom:1px solid #d9a7bd;}
.podium-screen-site{background:linear-gradient(160deg,#fffdf8,#e7d8ed 55%,#f6e4e8);color:#4b315e;}
.podium-screen-site strong{font-size:clamp(12px,2vw,26px);}
.podium-product--card{width:58%;max-width:350px;}
.mock-kankotri{aspect-ratio:.78;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8%;border:2px solid #d8b36d;outline:1px solid rgba(255,255,255,.9);outline-offset:-7px;border-radius:5px;color:#76334b;background:radial-gradient(ellipse at top,#fff9e9,#f4d9d8 70%,#e8c2cc);box-shadow:0 12px 24px rgba(73,26,49,.22);}
.mock-kankotri span{font-size:clamp(11px,1.7vw,23px);font-weight:800;}.mock-kankotri b{font-size:clamp(7px,1vw,13px);margin:8% 0;color:#a47a38;}.mock-kankotri strong{font:600 clamp(15px,2.3vw,32px)/1.15 'Playfair Display',Georgia,serif;}.mock-kankotri small{font-size:clamp(7px,1vw,13px);margin-top:7%;}.mock-kankotri i{font-style:normal;color:#b58a46;margin-top:8%;}
.podium-product--banner{width:72%;max-width:440px;}
.mock-banner{aspect-ratio:1.75;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7%;color:#fff9f4;border:1px solid rgba(255,255,255,.8);background:linear-gradient(135deg,rgba(72,34,77,.96),rgba(154,80,126,.94) 55%,rgba(82,68,130,.96));box-shadow:0 14px 26px rgba(57,25,67,.25);}
.mock-banner small{font-size:clamp(6px,.85vw,11px);letter-spacing:.15em;}.mock-banner strong{font:600 clamp(16px,3vw,42px)/.98 'Playfair Display',Georgia,serif;margin:5% 0;}.mock-banner span{font-size:clamp(6px,.85vw,11px);letter-spacing:.16em;}
.podium-product--visiting{width:66%;max-width:410px;}
.mock-visiting{width:100%;aspect-ratio:1.75;transform:rotate(-4deg);border-radius:8px;padding:5px;background:linear-gradient(145deg,#fff,#e7d8e9);box-shadow:0 14px 26px rgba(49,20,57,.3);}
.mock-visiting img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border:0;border-radius:4px;transform:none;box-shadow:none;}
.editorial-row:hover .podium-scene-video{transform:scale(1.025);transition:transform .7s ease;}
.editorial-row:hover .podium-product{filter:drop-shadow(0 22px 20px rgba(76,34,93,.32));}
@media(max-width:820px){.editorial-image.podium-showcase{min-height:0;aspect-ratio:1/1;width:min(100%,620px);margin-inline:auto}.podium-product--phone{width:27%;}.podium-device{border-width:4px;border-radius:24px;}}
@media(max-width:540px){.editorial-image.podium-showcase{min-height:0;aspect-ratio:1/1;border-radius:22px}.podium-product--phone{width:29%;}.podium-device{border-width:3px;border-radius:19px;padding:4px}.podium-device::before{top:5px}.podium-device-screen{border-radius:14px}.podium-product--card{width:56%}.podium-product--banner{width:72%}.podium-product--visiting{width:68%}.editorial-image.podium-showcase .editorial-chip{left:10px;bottom:10px;font-size:.55rem;padding:7px 9px;letter-spacing:.06em}}


/* Premium four-product hero stage */
.hero-stage--premium{isolation:isolate;min-height:360px;max-height:660px;aspect-ratio:1600/600;overflow:hidden}
.hero-stage--premium .hero-bg-video{opacity:.78}
.hero-stage-glow{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,rgba(255,250,245,.52),transparent 56%),linear-gradient(180deg,rgba(255,245,246,.06),rgba(73,34,60,.14))}
.hero-podium-item{position:absolute;z-index:4;bottom:13%;width:18%;height:66%;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:10px;perspective:1000px;animation:heroProductFloat 6s ease-in-out infinite}
.hero-podium-item::before{content:"";position:absolute;bottom:7%;width:115%;height:23%;border-radius:48% 48% 14% 14%;background:linear-gradient(145deg,#fff5f1 0%,#d9a8b5 35%,#9e6e86 70%,#f5d6d5 100%);box-shadow:0 22px 26px rgba(54,21,46,.24),inset 0 3px 2px rgba(255,255,255,.8),inset 0 -7px 10px rgba(68,29,57,.17);transform:perspective(260px) rotateX(9deg);z-index:-1}
.hero-product-frame{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,245,222,.95);background:linear-gradient(145deg,#fffdfb,#f5e8ed 55%,#d9bdce);box-shadow:0 20px 38px rgba(54,22,48,.28),0 0 0 3px rgba(194,147,169,.58),0 0 23px rgba(255,222,232,.6),inset 0 0 0 1px #fff;border-radius:12px;overflow:hidden;animation:heroFrameGlow 4s ease-in-out infinite alternate}
.hero-product-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid rgba(255,255,255,.8)}
.hero-phone-frame{height:70%;aspect-ratio:.49;padding:5px;border:5px solid #2b2530;border-radius:26px;background:linear-gradient(135deg,#fdf8fa,#b8a7b5);box-shadow:0 22px 30px rgba(33,13,34,.38),0 0 0 2px #e9d7dc,0 0 22px rgba(255,227,237,.65)}
.hero-phone-screen{height:100%;width:100%;overflow:hidden;border-radius:17px;background:#fff}
.hero-phone-screen iframe,.hero-pdf-frame iframe{width:100%;height:100%;border:0;background:#fff}
.hero-kankotri-frame{height:61%;width:75%;padding:5px;transform:rotate(-5deg) rotateY(7deg)}
.hero-card-frame{width:94%;aspect-ratio:1.72;padding:5px;transform:rotate(5deg) rotateY(-8deg);border-radius:8px}
.hero-pdf-frame{height:62%;aspect-ratio:.66;width:70%;padding:4px;border-radius:7px;transform:rotateY(-5deg)}
.hero-product-frame img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.hero-product-label{position:relative;z-index:2;display:block;max-width:100%;padding:7px 11px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(67,40,63,.76);color:#fffaf6;font-size:clamp(9px,.8vw,13px);font-weight:800;letter-spacing:.04em;text-align:center;box-shadow:0 5px 15px rgba(38,17,38,.16);white-space:nowrap}
.hero-podium-item--phone{left:7%;animation-delay:-1.2s}
.hero-podium-item--kankotri{left:29%;animation-delay:-2.8s}
.hero-podium-item--card{left:51%;animation-delay:-.6s}
.hero-podium-item--pdf{left:73%;animation-delay:-3.5s}
@keyframes heroProductFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes heroFrameGlow{from{box-shadow:0 20px 34px rgba(54,22,48,.25),0 0 0 2px rgba(194,147,169,.48),0 0 12px rgba(255,222,232,.35),inset 0 0 0 1px #fff}to{box-shadow:0 24px 40px rgba(54,22,48,.32),0 0 0 3px rgba(246,211,155,.75),0 0 25px rgba(255,222,232,.72),inset 0 0 0 1px #fff}}
@media(max-width:760px){.hero-stage--premium{min-height:260px;aspect-ratio:1.45;max-height:440px}.hero-podium-item{bottom:11%;height:66%;width:23%;gap:7px}.hero-podium-item--phone{left:1.5%}.hero-podium-item--kankotri{left:26%}.hero-podium-item--card{left:50.5%}.hero-podium-item--pdf{left:75%}.hero-product-label{font-size:8px;padding:5px 6px;letter-spacing:0}.hero-phone-frame{height:61%;border-width:3px;border-radius:15px;padding:3px}.hero-phone-screen{border-radius:10px}.hero-kankotri-frame{height:53%;width:86%}.hero-card-frame{width:100%;padding:3px}.hero-pdf-frame{height:54%;width:82%}.hero-podium-item::before{width:120%;height:19%;bottom:9%}.stage-label{font-size:9px!important;max-width:96%;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){.hero-podium-item,.hero-product-frame{animation:none!important}.hero-stage--premium .hero-bg-video{display:none}}

.service-faq .faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.service-faq details{padding:20px 22px;border:1px solid rgba(107,68,94,.16);border-radius:16px;background:rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(67,40,63,.05)}.service-faq summary{cursor:pointer;font-weight:750;color:var(--plum);line-height:1.45}.service-faq details p{margin:12px 0 0;color:var(--muted);line-height:1.7;font-size:.93rem}@media(max-width:680px){.service-faq .faq-grid{grid-template-columns:1fr}}

/* True original-media mockups in the five editorial podium showcases */
.podium-showcase{border:1px solid rgba(255,246,226,.95);box-shadow:0 25px 58px rgba(105,55,111,.2),0 0 0 2px rgba(180,137,174,.5),0 0 25px rgba(244,202,220,.42);animation:showcaseGlow 5s ease-in-out infinite alternate}
.podium-showcase::after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.7);border-radius:23px;pointer-events:none;z-index:4}
@keyframes showcaseGlow{from{box-shadow:0 25px 50px rgba(105,55,111,.16),0 0 0 1px rgba(180,137,174,.42),0 0 12px rgba(244,202,220,.28)}to{box-shadow:0 28px 62px rgba(105,55,111,.25),0 0 0 3px rgba(224,186,128,.65),0 0 26px rgba(244,202,220,.6)}}
.podium-screen-real-video{padding:0!important;background:#17131b!important}
.podium-screen-real-video video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.mock-kankotri--original{width:100%;height:100%;padding:4px;background:linear-gradient(145deg,#fffaf2,#d4b67c);border:3px double #a77b35;border-radius:5px;box-shadow:inset 0 0 0 2px #fff}
.mock-kankotri--original img{display:block;width:100%;height:100%;object-fit:contain}
.podium-product--pdf{width:34%;max-width:220px;height:72%}
.mock-pdf{width:100%;height:100%;padding:5px;border:5px solid #29212d;border-radius:12px;background:#fff;box-shadow:0 15px 32px rgba(28,12,31,.35),0 0 0 2px rgba(244,221,175,.85);overflow:hidden}
.mock-pdf iframe{width:100%;height:100%;border:0;background:#fff}
.podium-product--website{width:31%;max-width:190px;height:76%}
.mock-website{width:100%;height:100%;padding:5px;border:5px solid #29212d;border-radius:24px;background:#f7f0f6;box-shadow:0 15px 32px rgba(28,12,31,.35),0 0 0 2px rgba(244,221,175,.85);overflow:hidden}
.mock-website iframe{width:100%;height:100%;border:0;border-radius:16px;background:#fff}
.mock-visiting--dg{width:100%;padding:4px;border-radius:10px;background:linear-gradient(135deg,#fff4cf,#ba8c35);box-shadow:0 14px 24px rgba(35,15,35,.3)}
.mock-visiting--dg img{display:block;width:100%;height:auto;object-fit:contain;border-radius:6px}
@media(max-width:680px){.podium-product--pdf{width:42%;height:65%}.podium-product--website{width:40%;height:70%}.mock-website{border-width:4px;border-radius:17px;padding:3px}.mock-website iframe{border-radius:10px}}
@media(prefers-reduced-motion:reduce){.podium-showcase{animation:none!important}}
.hero-phone-video video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;background:#211725}.hero-phone-screen iframe{display:block;width:100%;height:100%;border:0}

/* Auto-scrolling preview rendered from pages of the supplied original wedding PDF */
.hero-pdf-scroll{height:100%;width:100%;overflow:hidden;background:#fff}
.hero-pdf-scroll-track{width:100%;animation:invitationPdfAutoScroll 26s linear infinite}
.hero-pdf-scroll-group{display:flex;flex-direction:column;width:100%}
.hero-pdf-scroll-group img{display:block;width:100%;height:auto;max-width:none;object-fit:contain;margin:0;padding:0;border:0;border-radius:0}
@keyframes invitationPdfAutoScroll{0%,8%{transform:translateY(0)}92%,100%{transform:translateY(-50%)}}
.hero-pdf-scroll:hover .hero-pdf-scroll-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero-pdf-scroll-track{animation:none!important}}


/* October 2026 refinement: preserve the supplied hero video frame and use only the
   actual products/assets already provided in the media folders. */
.hero-stage--premium{
  aspect-ratio:1280 / 540;
  min-height:0;
  max-height:none;
  height:auto;
  background:#b17a8a;
}
.hero-stage--premium .hero-bg-video{
  opacity:1;
  object-fit:contain;
  object-position:center center;
  background:#b17a8a;
}
.hero-stage--premium .hero-podium-item::before{content:none!important;display:none!important}
.hero-stage--premium .hero-stage-glow{
  background:linear-gradient(180deg,rgba(255,245,246,.015),transparent 55%,rgba(73,34,60,.08));
}
.mock-visiting img{object-fit:contain!important;background:#fff}
.catalog-preview{isolation:isolate}
.catalog-preview .catalog-thumbnail{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  z-index:1;
  object-fit:contain;
  padding:10px;
  background:linear-gradient(145deg,#fffaf6,#f8e9e8);
}
.catalog-preview.video .catalog-thumbnail{padding:7px}
.catalog-preview .file-type{position:absolute;z-index:2;top:10px;left:10px}
.catalog-preview.image .catalog-thumbnail{padding:12px}
.catalog-item-body h3{overflow-wrap:anywhere}
.catalog-item-actions{flex-wrap:wrap}
.catalog-item-actions .btn{min-height:40px}
@media(max-width:760px){
  .hero-stage--premium{aspect-ratio:1280 / 540;min-height:0;max-height:none}
  .hero-stage--premium .hero-bg-video{object-fit:contain}
  .hero-stage--premium .hero-podium-item::before{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-stage--premium .hero-podium-item,
  .hero-stage--premium .hero-product-frame,
  .podium-showcase,
  .hero-pdf-scroll-track{animation:none!important}
}


/* Premium product presentation: podium-aligned assets, real previews and responsive media cards. */
.hero-stage--premium{aspect-ratio:1280/540;min-height:0;overflow:hidden;background:#b17a8a}
.hero-stage--premium .hero-bg-video{object-fit:fill;object-position:center;width:100%;height:100%;opacity:1}
.hero-stage--premium .hero-podium-item{height:66%;bottom:30%;width:18%;gap:0;justify-content:flex-end;align-items:center;animation:heroProductFloat 6s ease-in-out infinite}
.hero-stage--premium .hero-product-frame{flex-shrink:0;animation:heroFrameGlow 4.5s ease-in-out infinite alternate}
.hero-stage--premium .hero-phone-frame{height:70%;width:auto;aspect-ratio:.49;padding:4px;border-width:4px;border-radius:23px}
.hero-stage--premium .hero-phone-screen{border-radius:15px}
.hero-stage--premium .hero-podium-item--kankotri{left:28%;bottom:46%;height:44%;width:18%;}
.hero-stage--premium .hero-kankotri-frame{width:122%;height:100%;aspect-ratio:1.5;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translateY(0);overflow:visible}
.hero-stage--premium .hero-kankotri-frame::after{display:none}
.hero-stage--premium .hero-transparent-frame img{object-fit:contain;filter:drop-shadow(0 12px 12px rgba(56,24,48,.22));}
.hero-stage--premium .hero-podium-item--card{left:54%;bottom:40%;height:54%;width:18%;}
.hero-stage--premium .hero-card-frame{height:48%;width:auto;max-width:115%;aspect-ratio:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;overflow:visible}
.hero-stage--premium .hero-card-frame::after{display:none}
.hero-stage--premium .hero-podium-item--laptop{left:69.5%;bottom:30%;width:27%;height:auto;display:block;animation:heroProductFloat 6.6s ease-in-out infinite;z-index:4}
.hero-laptop-shell{position:relative;width:100%;aspect-ratio:1.5;filter:drop-shadow(0 18px 15px rgba(34,14,31,.3));}
.hero-laptop-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}
.hero-laptop-screen{position:absolute;left:14.1%;top:8.7%;width:71.8%;height:60.7%;z-index:1;overflow:hidden;background:#251923;border-radius:2px;}
.hero-laptop-screen iframe{display:block;width:100%;height:100%;border:0;pointer-events:none;background:#fff}
.hero-stage--premium .stage-label{z-index:6}
/* Vertical, no-scrollbar media previews that show the actual file on catalogue cards. */
.catalog-preview{height:300px;aspect-ratio:4/5;position:relative;overflow:hidden;background:linear-gradient(145deg,#f9e7e6,#ead9e8);}
.catalog-preview .catalog-thumbnail{background:transparent;}
.catalog-preview video.catalog-thumbnail{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;padding:6px;background:linear-gradient(145deg,#f8e4e4,#e9d9ed);}
.catalog-pdf-scroll{position:absolute;inset:0;overflow:hidden;background:#fff;scrollbar-width:none;-ms-overflow-style:none}
.catalog-pdf-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.catalog-pdf-track{width:100%;animation:catalogPdfAutoScroll 18s linear infinite;will-change:transform}
.catalog-pdf-group{display:flex;flex-direction:column;width:100%;}
.catalog-pdf-group img{display:block;flex:0 0 auto;width:100%;height:auto;object-fit:contain;padding:0;margin:0;border:0;background:#fff}
@keyframes catalogPdfAutoScroll{0%,7%{transform:translateY(0)}93%,100%{transform:translateY(-50%)}}
.catalog-item:hover .catalog-pdf-track{animation-play-state:paused}
.catalog-item:hover video.catalog-video-preview{transform:scale(1.02);transition:transform .5s ease}
.catalog-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.catalog-filters select,.catalog-filters input{min-width:170px;max-width:100%}
.catalog-custom-note,.showcase-custom-note{margin:26px auto 0;max-width:900px;text-align:center;color:#786575;font-size:.93rem;padding:15px 20px;border:1px solid rgba(98,60,90,.12);border-radius:18px;background:rgba(255,255,255,.58)}
.showcase-grid{align-items:stretch;gap:22px}
.showcase-card{display:flex;flex-direction:column;border-radius:28px;box-shadow:0 18px 48px rgba(67,40,63,.09)}
.showcase-art{height:310px;flex:0 0 310px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.showcase-art--pdf{background:linear-gradient(145deg,#f7dedd,#e3b0bd)}
.showcase-art--video{background:linear-gradient(145deg,#efc2d2,#6f3f68)}
.showcase-art--website{background:linear-gradient(145deg,#ecd7d0,#b5d9d0)}
.showcase-art--pdf::before,.showcase-art--video::before,.showcase-art--website::before{content:"";position:absolute;inset:20px 7%;border:1px solid rgba(255,255,255,.68);border-radius:180px 180px 22px 22px;pointer-events:none}
.showcase-pdf-device{position:relative;width:42%;height:76%;max-width:205px;padding:5px;border:3px solid #d5aa63;border-radius:10px;background:#fff7ee;box-shadow:0 22px 36px rgba(72,40,63,.25);transform:rotate(-4deg);overflow:hidden;z-index:1}
.showcase-pdf-scroll{height:100%;width:100%;overflow:hidden;scrollbar-width:none;background:#fff}
.showcase-pdf-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.showcase-pdf-track{width:100%;animation:invitationPdfAutoScroll 26s linear infinite;will-change:transform}
.showcase-pdf-group{display:flex;flex-direction:column;width:100%}
.showcase-pdf-group img{display:block;width:100%;height:auto;object-fit:contain;padding:0;margin:0;border:0}
.showcase-video-device,.showcase-web-device{position:relative;width:135px;height:254px;padding:7px;border:5px solid #2a202c;border-radius:27px;background:#fff5f2;box-shadow:0 24px 40px rgba(51,22,47,.33);overflow:hidden;z-index:1;transform:rotate(4deg)}
.showcase-video-device video{display:block;width:100%;height:100%;object-fit:cover;border-radius:17px;background:#311d33}
.showcase-video-notch,.showcase-web-notch{position:absolute;z-index:3;top:5px;left:50%;transform:translateX(-50%);height:6px;width:36px;border-radius:8px;background:#2a202c;pointer-events:none}
.showcase-web-device{transform:rotate(-4deg);background:#fff;border-color:#29202c}
.showcase-web-device iframe{display:block;width:100%;height:100%;border:0;border-radius:16px;background:white;pointer-events:none}
.showcase-content{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.showcase-content p{flex:1}
.showcase-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.showcase-actions .btn{white-space:normal;text-align:center}
@media(max-width:980px){.showcase-art{height:285px;flex-basis:285px}.catalog-preview{height:275px}}
@media(max-width:760px){
 .hero-stage--premium{aspect-ratio:auto;height:240px;min-height:240px;max-height:none}
 .hero-stage--premium .hero-bg-video{object-fit:fill}
 .hero-stage--premium .hero-podium-item{width:22%;height:66%;bottom:30%;}
 .hero-stage--premium .hero-podium-item--phone{left:1%;bottom:30%;width:22%;height:66%}
 .hero-stage--premium .hero-phone-frame{height:67%;border-width:3px;border-radius:14px;padding:3px}
 .hero-stage--premium .hero-phone-screen{border-radius:9px}
 .hero-stage--premium .hero-podium-item--kankotri{left:24%;bottom:46%;width:23%;height:43%}
 .hero-stage--premium .hero-kankotri-frame{width:128%;height:100%}
 .hero-stage--premium .hero-podium-item--card{left:50%;bottom:40%;width:19%;height:54%}
 .hero-stage--premium .hero-card-frame{height:45%;max-width:145%}
 .hero-stage--premium .hero-podium-item--laptop{left:69%;bottom:30%;width:30%;height:auto}
 .hero-laptop-screen{left:14.1%;top:8.7%;width:71.8%;height:60.7%}
 .hero-stage--premium .stage-label{font-size:8px!important;padding:5px 9px;bottom:3px}
 .catalog-preview{height:280px}
 .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .showcase-art{height:270px;flex-basis:270px}
 .showcase-pdf-device{width:46%;height:74%}
 .showcase-content{padding:19px}
}
@media(max-width:540px){
 .catalog-grid,.showcase-grid{grid-template-columns:1fr}
 .catalog-preview{height:310px;aspect-ratio:4/5}
 .catalog-item-body{padding:18px}
 .catalog-filters{display:grid;grid-template-columns:1fr;width:100%}
 .catalog-filters select,.catalog-filters input{width:100%;min-width:0}
 .showcase-art{height:300px;flex-basis:300px}
 .showcase-content{padding:22px}
 .showcase-pdf-device{width:42%;max-width:190px;height:77%}
 .showcase-video-device,.showcase-web-device{width:132px;height:245px}
 .hero-stage--premium{height:235px;min-height:235px}
 .hero-stage--premium .hero-podium-item--phone{left:0;width:21%}
 .hero-stage--premium .hero-podium-item--kankotri{left:22%;width:25%;bottom:46%}
 .hero-stage--premium .hero-podium-item--card{left:49%;width:20%;bottom:40%}
 .hero-stage--premium .hero-podium-item--laptop{left:68%;width:31%;bottom:30%}
 .hero-stage--premium .hero-card-frame{height:43%}
 .hero-stage--premium .stage-label{max-width:96%;font-size:7px!important}
}
@media(prefers-reduced-motion:reduce){.catalog-pdf-track,.showcase-pdf-track{animation:none!important}.showcase-video-device video{animation:none}}

/* Final asset-fit pass: transparent cut-outs sit naturally above the exact podium tops. */
.hero-stage--premium .hero-transparent-frame{animation:none!important;}
.hero-stage--premium .hero-kankotri-frame{width:122%;height:auto;aspect-ratio:1.5;}
.hero-stage--premium .hero-card-frame{height:48%;width:auto;max-width:115%;aspect-ratio:.834;}
.editorial-image .podium-product--transparent{width:62%;height:72%;top:50%;bottom:auto;transform:translate(-50%,-43%);display:flex;align-items:center;justify-content:center;overflow:visible;}
.editorial-image .podium-product--visiting.podium-product--transparent{width:66%;height:70%;}
.editorial-image .podium-product--transparent img{display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;background:transparent!important;}
@media(max-width:760px){.hero-stage--premium .hero-kankotri-frame{width:128%;height:auto;aspect-ratio:1.5}.hero-stage--premium .hero-card-frame{height:45%;aspect-ratio:.834}}
@media(max-width:540px){.editorial-image .podium-product--transparent{width:58%;height:70%}.editorial-image .podium-product--visiting.podium-product--transparent{width:66%;height:68%}}
/* The webpage must sit over the laptop's opaque black screen, while the bezel and keyboard stay visible. */
.hero-laptop-image{z-index:1}
.hero-laptop-screen{z-index:2}


/* Premium invitation service previews — card, scrolling PDF phone, autoplay video phone. */
.showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}
.showcase-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid rgba(95,59,83,.09);border-radius:28px;box-shadow:0 18px 48px rgba(67,40,63,.09);transition:transform .3s ease,box-shadow .3s ease}
.showcase-card:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(67,40,63,.14)}
.showcase-art{height:clamp(245px,24vw,310px);flex:0 0 auto;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}
.showcase-art::before{content:"";position:absolute;inset:20px 7%;border:1px solid rgba(255,255,255,.72);border-radius:180px 180px 22px 22px;pointer-events:none;z-index:0}
.showcase-art--card{background:linear-gradient(135deg,#fae8e2 0%,#e6b5c0 100%)}
.showcase-art--pdf{background:linear-gradient(140deg,#e8bfd0 0%,#8d6685 66%,#6e3f69 100%)}
.showcase-art--video{background:linear-gradient(140deg,#f0dcd7 0%,#cfdbd2 55%,#add7d0 100%)}
.showcase-card-back{position:absolute;width:44%;height:69%;max-width:210px;border-radius:8px;background:linear-gradient(140deg,#fffaf3,#f8e9d9);border:1px solid rgba(190,143,72,.65);transform:translate(7px,4px) rotate(5deg);box-shadow:0 14px 24px rgba(72,40,63,.13);z-index:1}
.showcase-card-device{position:relative;z-index:2;width:47%;height:77%;max-width:214px;max-height:250px;min-height:190px;padding:3px;border:1px solid #c99b4d;border-radius:9px;background:#fff9f1;box-shadow:0 20px 34px rgba(72,40,63,.24);transform:rotate(-4deg);overflow:hidden;display:flex;align-items:center;justify-content:center}
.showcase-card-device::after{content:"";position:absolute;inset:3px;border:1px solid rgba(205,164,94,.45);border-radius:6px;pointer-events:none}
.showcase-card-device img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff9f1}
.showcase-art-sparkle{position:absolute;color:#fff7e8;line-height:1;text-shadow:0 2px 12px rgba(120,69,83,.2);z-index:2;pointer-events:none}
.showcase-art-sparkle--one{top:19%;left:19%;font-size:21px}
.showcase-art-sparkle--two{right:16%;bottom:22%;font-size:27px}
.showcase-pdf-phone,.showcase-video-device{position:relative;z-index:1;flex:0 0 auto;width:138px;height:258px;max-height:82%;border:5px solid #2a202c;border-radius:29px;background:#fff5f2;box-shadow:0 24px 40px rgba(51,22,47,.32);overflow:hidden;transform:rotate(4deg)}
.showcase-pdf-phone{transform:rotate(4deg);background:#fff8f1}
.showcase-pdf-screen{position:absolute;inset:7px;overflow:hidden;border-radius:18px;background:#fff;scrollbar-width:none;-ms-overflow-style:none}
.showcase-pdf-screen::-webkit-scrollbar{display:none;width:0;height:0}
.showcase-pdf-notch,.showcase-video-notch{position:absolute;z-index:3;top:6px;left:50%;transform:translateX(-50%);height:6px;width:35px;border-radius:8px;background:#2a202c;pointer-events:none}
.showcase-pdf-track{width:100%;animation:showcaseInvitationPdfScroll 24s linear infinite;will-change:transform}
.showcase-pdf-group{display:flex;flex-direction:column;width:100%}
.showcase-pdf-group img{display:block;flex:0 0 auto;width:100%;height:auto;max-width:none;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;background:#fff}
@keyframes showcaseInvitationPdfScroll{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.showcase-video-device{transform:rotate(-4deg);background:#fff8f2}
.showcase-video-device video{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:17px;background:#311d33}
.showcase-content{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.showcase-content .tag{display:block;margin-bottom:7px;font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#d66a78;line-height:1.5}
.showcase-content h3{margin:4px 0 9px;font:600 clamp(1.16rem,1.4vw,1.42rem)/1.22 'Playfair Display',Georgia,serif;color:#53364f}
.showcase-content p{flex:1;color:#817683;font-size:.91rem;line-height:1.7;margin:0 0 16px}
.showcase-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto;padding-top:6px;width:100%}
.showcase-actions .btn{white-space:normal;text-align:center;max-width:100%;font-size:.8rem}
@media(max-width:980px){
 .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .showcase-art{height:285px}
 .showcase-card-device{width:48%;height:76%}
 .showcase-content{padding:21px}
 .showcase-content h3{font-size:1.28rem}
}
@media(max-width:620px){
 .showcase-grid{grid-template-columns:minmax(0,1fr);gap:18px;max-width:460px;margin-inline:auto}
 .showcase-card{border-radius:24px}
 .showcase-art{height:280px;flex-basis:280px}
 .showcase-card-device{width:46%;height:78%;min-height:0;max-height:236px}
 .showcase-card-back{width:43%;height:70%}
 .showcase-pdf-phone,.showcase-video-device{width:132px;height:244px;max-height:84%}
 .showcase-content{padding:21px}
 .showcase-content h3{font-size:1.3rem}
 .showcase-content p{font-size:.9rem;line-height:1.65}
 .showcase-actions{gap:8px}
 .showcase-actions .btn{flex:0 1 auto}
}
@media(max-width:360px){
 .showcase-art{height:250px;flex-basis:250px}
 .showcase-card-device{width:49%;height:77%}
 .showcase-pdf-phone,.showcase-video-device{width:120px;height:222px}
 .showcase-content{padding:18px}
 .showcase-actions .btn{font-size:.75rem;padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){
 .showcase-card{transition:none}
 .showcase-card:hover{transform:none}
 .showcase-pdf-track{animation:none!important}
 .showcase-video-device video{animation:none}
}

/* 2026-10-27 premium alignment + interactive catalogue preview refinements */
.hero-stage--premium .hero-podium-item--phone{bottom:17%;}
.hero-stage--premium .hero-podium-item--kankotri{bottom:31%;}
.hero-stage--premium .hero-kankotri-frame{width:132%;height:100%;}
.hero-stage--premium .hero-podium-item--card{left:52%;bottom:25%;width:22%;height:57%;}
.hero-stage--premium .hero-card-frame{height:62%;max-width:142%;}
.hero-stage--premium .hero-card-frame img{filter:drop-shadow(0 13px 12px rgba(47,20,41,.32));}
.hero-stage--premium .hero-podium-item--laptop{left:69%;bottom:16%;width:29%;}
.hero-stage--premium .hero-laptop-shell{filter:drop-shadow(0 15px 12px rgba(34,14,31,.32));}
.hero-stage--premium .hero-laptop-screen{overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;}
.hero-stage--premium .hero-laptop-screen::-webkit-scrollbar,
.hero-stage--premium .hero-laptop-screen iframe::-webkit-scrollbar{display:none;width:0;height:0}
.hero-stage--premium .hero-podium-item{transition:transform .35s ease,filter .35s ease;}
.hero-stage--premium .hero-podium-item:hover{z-index:8;filter:drop-shadow(0 18px 16px rgba(43,17,39,.22));}
.hero-stage--premium .hero-podium-item--phone:hover,
.hero-stage--premium .hero-podium-item--kankotri:hover,
.hero-stage--premium .hero-podium-item--card:hover,
.hero-stage--premium .hero-podium-item--laptop:hover{animation-play-state:paused;transform:translateY(-5px) scale(1.035);}
#catalogGrid .showcase-card{box-shadow:0 14px 38px rgba(67,40,63,.10),0 3px 10px rgba(67,40,63,.045);}
#catalogGrid .showcase-card:hover{box-shadow:0 22px 46px rgba(67,40,63,.16),0 5px 14px rgba(67,40,63,.06);}
#catalogGrid .showcase-pdf-phone,#catalogGrid .showcase-video-device{box-shadow:0 17px 32px rgba(51,22,47,.25),0 5px 12px rgba(51,22,47,.10);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;}
#catalogGrid .showcase-pdf-phone:hover{transform:rotate(0) translateY(-5px) scale(1.045);box-shadow:0 22px 38px rgba(51,22,47,.3);}
#catalogGrid .showcase-video-device:hover{transform:rotate(0) translateY(-5px) scale(1.045);box-shadow:0 22px 38px rgba(51,22,47,.3);}
#catalogGrid .showcase-card-device{filter:drop-shadow(0 14px 15px rgba(67,40,63,.20));transition:transform .4s ease,filter .4s ease;}
#catalogGrid .showcase-card:hover .showcase-card-device{transform:translateY(-4px) rotate(-1deg);filter:drop-shadow(0 20px 18px rgba(67,40,63,.25));}
#mediaPreviewModal{z-index:3000;overscroll-behavior:contain;}
#mediaPreviewModal .modal{max-height:92dvh;overflow:hidden;display:flex;flex-direction:column;width:min(96vw,1040px);padding:clamp(14px,2.5vw,26px);}
#mediaPreviewModal .modal-head{flex:0 0 auto;margin-bottom:12px;}
#mediaPreviewContent{min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:14px;scrollbar-width:thin;}
#mediaPreviewContent .preview-frame{display:block;width:100%;height:min(72dvh,780px);border:0;background:#fff;border-radius:12px;}
#mediaPreviewContent .media-player{display:block;width:100%;max-height:72dvh;object-fit:contain;background:#160f19;}
#mediaPreviewContent img{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:auto;}
#mediaPreviewModal .modal-close{position:relative;z-index:5;flex:0 0 42px;width:42px;height:42px;font-size:1.6rem;line-height:1;box-shadow:0 4px 14px rgba(67,40,63,.12);}
@media(max-width:760px){
 .hero-stage--premium .hero-podium-item--phone{bottom:18%;}
 .hero-stage--premium .hero-podium-item--kankotri{left:24%;bottom:34%;width:24%;}
 .hero-stage--premium .hero-kankotri-frame{width:128%;}
 .hero-stage--premium .hero-podium-item--card{left:49%;bottom:27%;width:22%;height:54%;}
 .hero-stage--premium .hero-card-frame{height:55%;max-width:145%;}
 .hero-stage--premium .hero-podium-item--laptop{left:68%;bottom:17%;width:31%;}
 #mediaPreviewModal{padding:8px;}
 #mediaPreviewModal .modal{width:100%;max-height:95dvh;border-radius:18px;padding:13px;}
 #mediaPreviewContent .preview-frame{height:74dvh;}
}
@media(prefers-reduced-motion:reduce){#catalogGrid .showcase-pdf-phone,#catalogGrid .showcase-video-device,#catalogGrid .showcase-card-device{transition:none!important}}


/* Premium refinement: clean service dropdown, softer card shadows, true cut-out invitation art, and the hero tablet. */
.nav-links{box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 8px 22px rgba(67,40,63,.065)}
.nav-drop{position:relative}
.nav-drop>button{display:inline-flex;align-items:center;gap:9px;border-radius:999px;box-shadow:0 2px 9px rgba(67,40,63,.045)}
.nav-drop>button:hover,.nav-drop>button[aria-expanded="true"]{box-shadow:0 4px 13px rgba(67,40,63,.10)}
.nav-chevron{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .22s ease;opacity:.82}
.nav-drop>button[aria-expanded="true"] .nav-chevron{transform:translateY(2px) rotate(225deg)}
.drop-menu{width:min(320px,calc(100vw - 24px));max-height:min(72vh,540px);overflow-y:auto;padding:10px;border-radius:18px;background:rgba(255,253,250,.985);border:1px solid rgba(255,255,255,.94);box-shadow:0 14px 34px rgba(54,28,48,.13),0 3px 8px rgba(54,28,48,.045),inset 0 1px 0 #fff;backdrop-filter:blur(16px)}
.drop-menu a{display:block;border-radius:11px;padding:11px 13px;line-height:1.35;font-size:.9rem}
.drop-menu a:hover{transform:translateX(2px);box-shadow:0 3px 10px rgba(67,40,63,.055)}
.showcase-card,#catalogGrid .catalog-item.showcase-card{box-shadow:0 14px 36px rgba(67,40,63,.105),0 3px 10px rgba(67,40,63,.035)}
.showcase-card:hover,#catalogGrid .catalog-item.showcase-card:hover{box-shadow:0 22px 46px rgba(67,40,63,.15),0 5px 13px rgba(67,40,63,.05)}
/* The invitation artwork supplied as a transparent PNG should float freely: no fake cream card/frame behind it. */
.invitation-card-gallery #catalogGrid .showcase-card-back{display:none!important}
.invitation-card-gallery #catalogGrid .showcase-card-device{width:58%;height:80%;max-width:240px;max-height:260px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none;filter:none}
.invitation-card-gallery #catalogGrid .showcase-card-device::after{display:none!important}
.invitation-card-gallery #catalogGrid .showcase-card-device img,
.invitation-card-gallery #catalogGrid .showcase-card-device .catalog-original-art{padding:0!important;background:transparent!important;object-fit:contain;filter:drop-shadow(0 13px 13px rgba(53,23,46,.20));}
.invitation-card-gallery #catalogGrid .showcase-art-sparkle{display:none}
.invitation-card-gallery #catalogGrid .showcase-card:hover .showcase-card-device{transform:translateY(-3px);filter:drop-shadow(0 17px 15px rgba(53,23,46,.25))}
/* Rounded, image-first gallery cards for the added printing services. */
.service-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:24px}
.service-gallery-card{min-width:0}
.service-gallery-art{min-height:280px}
.service-photo-window{position:relative;z-index:1;width:76%;height:76%;max-width:320px;max-height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:18px;background:rgba(255,250,249,.58);box-shadow:0 16px 32px rgba(66,31,57,.16),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(8px);transition:transform .35s ease,box-shadow .35s ease}
.service-gallery-card:hover .service-photo-window{transform:translateY(-3px) scale(1.015);box-shadow:0 20px 38px rgba(66,31,57,.20),inset 0 1px 0 rgba(255,255,255,.9)}
.service-gallery-photo{display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:9px;object-fit:contain;object-position:center;background:transparent;border-radius:13px}
.service-page-hero{position:relative;overflow:hidden}
.service-page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 18%,rgba(221,167,190,.20),transparent 40%),radial-gradient(ellipse at 12% 70%,rgba(245,215,205,.26),transparent 45%)}
.service-page-hero .container{position:relative;z-index:1}
/* PDF image reader: no built-in browser toolbar, download button or print button. */
#mediaPreviewContent .pdf-reader-caption{margin:0 0 10px;color:var(--muted);font-size:.82rem;text-align:center}
#mediaPreviewContent .pdf-image-reader{height:min(72dvh,780px);overflow-y:auto;overflow-x:hidden;background:#f3edf1;border-radius:12px;padding:clamp(8px,2vw,18px);scrollbar-width:thin;overscroll-behavior:contain}
#mediaPreviewContent .pdf-image-reader-pages{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:800px;margin:0 auto}
#mediaPreviewContent .pdf-image-reader-pages img{display:block;width:100%;height:auto;max-height:none;max-width:100%;object-fit:contain;margin:0;border-radius:4px;background:white;box-shadow:0 8px 22px rgba(48,25,43,.12)}
/* Hero tablet replaces the laptop and cycles through the actual Gajera Family engagement PDF pages. */
.hero-stage--premium .hero-podium-item--tablet{left:74%;bottom:16%;width:19%;height:69%;z-index:5;display:flex;align-items:center;justify-content:center;animation:heroProductFloat 6.5s ease-in-out infinite;}
.hero-tablet-shell{position:relative;box-sizing:border-box;width:100%;height:100%;padding:8px;border:2px solid rgba(240,225,237,.92);border-radius:25px;background:linear-gradient(145deg,#27212d,#0e0d12 55%,#352735);box-shadow:0 20px 26px rgba(30,12,29,.34),0 0 0 2px rgba(42,28,42,.72),inset 0 1px 0 rgba(255,255,255,.24);transform:rotate(2.5deg) rotateY(-5deg);filter:drop-shadow(0 13px 11px rgba(32,12,29,.25));}
.hero-tablet-camera{position:absolute;top:50%;right:3px;width:4px;height:4px;border-radius:50%;background:#08070a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transform:translateY(-50%);z-index:3}
.hero-tablet-screen{position:absolute;inset:8px 10px 8px 8px;overflow:hidden;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);}
.hero-tablet-pages{width:100%;animation:heroTabletPdfScroll 31s ease-in-out infinite;will-change:transform}
.hero-tablet-page-stack{display:flex;flex-direction:column;width:100%}
.hero-tablet-page-stack img{display:block;width:100%;height:auto;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;background:#fff}
@keyframes heroTabletPdfScroll{0%,5%{transform:translateY(0)}94%,100%{transform:translateY(-50%)}}
@media(max-width:980px){.service-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-gallery-art{min-height:260px}.service-photo-window{width:78%;height:76%}}
@media(max-width:760px){
 .nav-links{box-shadow:0 12px 28px rgba(67,40,63,.10)}
 .drop-menu{width:min(320px,calc(100vw - 34px));max-height:60vh}
 .service-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .service-gallery-art{height:260px;min-height:260px}
 .service-photo-window{width:82%;height:74%;border-radius:15px}
 .service-gallery-photo{padding:7px}
 .hero-stage--premium .hero-podium-item--tablet{left:74%;bottom:17%;width:20%;height:64%;}
 .hero-tablet-shell{padding:6px;border-radius:17px}
 .hero-tablet-screen{inset:6px 8px 6px 6px;border-radius:11px}
 .hero-tablet-camera{width:3px;height:3px;right:1px}
 #mediaPreviewContent .pdf-image-reader{height:74dvh}
}
@media(max-width:540px){
 .service-gallery-grid{grid-template-columns:minmax(0,1fr);max-width:460px;margin-inline:auto;gap:20px}
 .service-gallery-art{height:300px;min-height:300px}
 .service-photo-window{width:74%;height:78%;max-height:270px}
 .hero-stage--premium .hero-podium-item--tablet{left:73%;bottom:19%;width:22%;height:58%;}
 .hero-tablet-shell{padding:5px;border-radius:14px;transform:rotate(1.5deg)}
 .hero-tablet-screen{inset:5px 7px 5px 5px;border-radius:9px}
 .hero-tablet-camera{width:2.5px;height:2.5px}
 .invitation-card-gallery #catalogGrid .showcase-card-device{width:58%;height:79%;max-height:235px}
}
@media(prefers-reduced-motion:reduce){.hero-tablet-pages,.hero-stage--premium .hero-podium-item--tablet{animation:none!important}.service-gallery-card,.service-photo-window{transition:none!important}}


/* October 2026 refinement: balanced hero products and consistent catalogue cards */
.hero-stage--premium .hero-podium-item--tablet{
  left:75.5%; bottom:20%; width:17.2%; height:61%;
}
.hero-stage--premium .hero-podium-item--phone,
.hero-stage--premium .hero-podium-item--kankotri,
.hero-stage--premium .hero-podium-item--card{
  bottom:17%;
}
.service-page-hero--compact{
  padding:clamp(22px,3vw,42px) 0 24px!important;
  min-height:0!important;
  background:linear-gradient(125deg,#f4d9df 0%,#fbe9e0 55%,#fff7ed 100%);
}
.service-page-hero--compact .container{padding-top:0!important;padding-bottom:0!important}
.service-page-hero--compact .breadcrumbs{margin-bottom:14px}
.service-page-hero--compact h1{
  margin:0!important;
  max-width:none!important;
  white-space:nowrap;
  font-size:clamp(1.55rem,3.1vw,3.05rem)!important;
  line-height:1.12!important;
  letter-spacing:-.045em;
}
.catalog-item.showcase-card,
.service-gallery-card{
  border:1px solid rgba(255,255,255,.98)!important;
  box-shadow:0 8px 24px rgba(67,35,59,.11),0 1px 3px rgba(67,35,59,.06)!important;
  overflow:hidden;
}
.catalog-preview.service-gallery-art,
.service-gallery-art{
  border:1px solid rgba(255,255,255,.9);
  border-radius:inherit;
  overflow:hidden;
}
.service-photo-window{
  border-radius:inherit!important;
  overflow:hidden!important;
  background:transparent!important;
}
.service-gallery-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:inherit;
}
@media(max-width:760px){
 .hero-stage--premium .hero-podium-item--tablet{left:73%;bottom:17%;width:23%;height:58%}
 .hero-stage--premium .hero-podium-item--phone{left:3%;bottom:16%;width:19%;height:55%}
 .hero-stage--premium .hero-podium-item--kankotri{left:25%;bottom:17%;width:21%;height:52%}
 .hero-stage--premium .hero-podium-item--card{left:48%;bottom:16%;width:20%;height:48%}
 .service-page-hero--compact h1{white-space:normal;font-size:clamp(1.55rem,6vw,2.2rem)!important}
}


/* 2026-10-28 premium UI/UX final pass: stable podium mapping, service heroes and preview modals. */
.brand{gap:13px;min-width:228px}
.brand img{width:58px;height:58px}
.brand-text strong{font-size:clamp(1.28rem,1.65vw,1.52rem);font-weight:700;letter-spacing:-.035em;white-space:nowrap}
.brand-text small{display:none!important}

/* The source video is 1280x540. Keep its original frame ratio on desktop without stretching/cropping. */
.hero-stage--premium{aspect-ratio:1280/540;position:relative;overflow:hidden;background:#b17a8a}
.hero-stage--premium .hero-bg-video{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;background:#b17a8a}
.hero-stage--premium .hero-podium-item{align-items:center;justify-content:flex-end;gap:0;bottom:24%;height:60%;animation-duration:6.3s}
.hero-stage--premium .hero-podium-item--phone{left:3.5%;bottom:30%;width:19%;height:60%;}
.hero-stage--premium .hero-phone-frame{height:70%;width:auto;aspect-ratio:.49;padding:4px;border-width:4px;border-radius:22px;transform:rotate(-2deg);}
.hero-stage--premium .hero-phone-screen{overflow:hidden;border-radius:15px;background:#fff}
.hero-stage--premium .hero-phone-screen video{display:block;width:100%;height:100%;object-fit:cover;background:#fff}
.hero-stage--premium .hero-podium-item--kankotri{left:25%;bottom:42%;width:21%;height:48%;}
.hero-stage--premium .hero-kankotri-frame{width:125%;height:auto;aspect-ratio:1.5;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:rotate(-1deg);}
.hero-stage--premium .hero-kankotri-frame::after,.hero-stage--premium .hero-card-frame::after{display:none!important}
.hero-stage--premium .hero-kankotri-frame img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 13px 12px rgba(44,17,39,.26));}
.hero-stage--premium .hero-podium-item--card{left:51.5%;bottom:42%;width:20%;height:52%;}
.hero-stage--premium .hero-card-frame{height:58%;width:auto;max-width:135%;aspect-ratio:.90;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:rotate(1deg);}
.hero-stage--premium .hero-card-frame img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 13px 12px rgba(44,17,39,.28));}
.hero-stage--premium .hero-podium-item--tablet{left:76%;bottom:28%;width:15.5%;height:55%;z-index:5;display:flex;align-items:center;justify-content:center;animation:heroProductFloat 6.5s ease-in-out infinite;}
.hero-stage--premium .hero-tablet-shell{width:100%;height:100%;padding:7px;border-radius:22px;transform:rotate(1.5deg) rotateY(-3deg);}
.hero-stage--premium .hero-tablet-screen{inset:7px 9px 7px 7px;border-radius:14px;background:#fff}
.hero-stage--premium .hero-tablet-pages{animation-duration:36s}
.hero-stage--premium .hero-tablet-page-stack img{width:100%;height:auto;object-fit:contain}
.hero-stage--premium .stage-label{position:absolute;left:50%;bottom:2.5%;transform:translateX(-50%);max-width:94%;white-space:nowrap;z-index:8;}
.hero-stage--premium .hero-podium-item:hover{filter:drop-shadow(0 15px 12px rgba(43,17,39,.18));}

/* Each service has a relevant centered headline, supporting copy and restrained motion. */
.service-page-hero--compact{padding:clamp(28px,3.4vw,48px) 0 36px!important;min-height:0!important;text-align:center;background:linear-gradient(125deg,#f4d9df 0%,#fbe9e0 52%,#fff7ed 100%)}
.service-page-hero--compact .service-hero-content{display:flex;flex-direction:column;align-items:center;max-width:1040px}
.service-page-hero--compact .breadcrumbs{margin:0 0 13px;text-align:center}
.service-hero-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 9px;color:#9c6b42;font-size:.74rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;animation:serviceHeroRise .65s ease both}
.service-hero-kicker::before,.service-hero-kicker::after{content:"✦";font-size:.7rem;color:#c69a52}
.service-page-hero--compact h1{max-width:920px;margin:0!important;white-space:normal!important;font-size:clamp(1.9rem,4.5vw,3.35rem)!important;line-height:1.12!important;letter-spacing:-.045em;color:var(--plum);animation:serviceHeroRise .72s .05s ease both}
.service-page-hero--compact p{max-width:720px;margin:12px auto 0;color:#725d6b;font-size:clamp(.9rem,1.3vw,1.03rem);line-height:1.65;animation:serviceHeroRise .75s .12s ease both}
.service-hero-ornament{display:block;width:76px;height:3px;border-radius:999px;margin:20px auto 0;background:linear-gradient(90deg,#b98740,#eed59b,#b98740);box-shadow:0 2px 7px rgba(185,135,64,.18);transform-origin:center;animation:serviceHeroLine 4s ease-in-out infinite}
@keyframes serviceHeroRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes serviceHeroLine{0%,100%{transform:scaleX(.7);opacity:.76}50%{transform:scaleX(1.1);opacity:1}}

/* The print galleries use the same rounded premium cards, while artwork keeps its full source aspect ratio. */
.service-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}
.service-gallery-card{border-radius:28px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 14px 38px rgba(67,40,63,.10),0 3px 10px rgba(67,40,63,.04)!important;}
.service-gallery-art{height:clamp(250px,25vw,318px);min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:inherit!important;position:relative;border:0!important;background:linear-gradient(140deg,#f5e2e3 0%,#ecd3df 48%,#d9c5d9 100%);}
.service-gallery-card:nth-child(4n+2) .service-gallery-art{background:linear-gradient(140deg,#f7e6d7 0%,#ebc6c5 55%,#d3b2c9 100%)}
.service-gallery-card:nth-child(4n+3) .service-gallery-art{background:linear-gradient(140deg,#e8e0d4 0%,#d9c7d7 52%,#c9d6d0 100%)}
.service-gallery-card:nth-child(4n) .service-gallery-art{background:linear-gradient(140deg,#f3dce4 0%,#dfc2d8 55%,#bca8c6 100%)}
.service-photo-window{position:relative;z-index:1;width:88%;height:82%;max-width:none;max-height:none;display:flex;align-items:center;justify-content:center;overflow:hidden;border:0!important;border-radius:24px!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;transition:transform .35s ease!important}
.service-gallery-card:hover .service-photo-window{transform:translateY(-3px) scale(1.025);box-shadow:none!important}
.service-gallery-photo{display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:0!important;object-fit:contain!important;object-position:center;background:transparent!important;border:0!important;border-radius:20px!important;box-shadow:none!important}
.service-gallery-card .catalog-item-body{background:#fff;padding:20px 21px 23px}
.service-gallery-card .catalog-item-body h3{font-size:1.12rem}
.service-gallery-card .catalog-item-actions{gap:9px}
.service-gallery-card .catalog-item-actions .btn{min-height:42px}

/* Preview modal: always has an obvious close control; PDF/video are shown in phone-sized, non-black frames. */
#mediaPreviewModal{z-index:3000;padding:18px;overscroll-behavior:contain}
#mediaPreviewModal .modal{max-height:94dvh;overflow:hidden;display:flex;flex-direction:column;width:min(95vw,980px);padding:clamp(14px,2.2vw,24px);}
#mediaPreviewModal .modal-head{flex:0 0 auto;margin:0 0 12px;align-items:center;gap:12px}
#mediaPreviewModal .modal-head h2{font-size:clamp(1.15rem,2.5vw,1.65rem);overflow-wrap:anywhere}
#mediaPreviewModal .modal-close{position:relative;z-index:6;flex:0 0 44px;width:44px;height:44px;border-radius:50%;font-size:1.7rem;line-height:1;background:#fff;border:1px solid rgba(86,58,79,.18);color:var(--plum);box-shadow:0 5px 16px rgba(67,40,63,.15);display:grid;place-items:center}
#mediaPreviewModal .modal-close:hover{background:#f7e8ec;transform:translateY(-1px)}
#mediaPreviewContent{min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:14px;scrollbar-width:thin;}
#mediaPreviewContent .image-preview-stage{display:flex;align-items:center;justify-content:center;min-height:0;padding:8px;background:linear-gradient(135deg,#fffaf5,#f3e5ed);border-radius:14px;}
#mediaPreviewContent .image-preview-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:72dvh;object-fit:contain;margin:auto;border-radius:10px;background:transparent;}
#mediaPreviewModal.is-image-preview .modal{width:min(95vw,980px)}
#mediaPreviewModal.is-phone-preview .modal{width:min(94vw,480px);padding:15px 15px 12px}
#mediaPreviewModal.is-phone-preview #mediaPreviewContent{display:flex;flex-direction:column;align-items:center;overflow:auto;background:transparent}
#mediaPreviewContent .preview-phone-shell{position:relative;flex:0 0 auto;overflow:hidden;margin:0 auto;border:5px solid #4a3048;border-radius:30px;background:#fffaf5;box-shadow:0 15px 32px rgba(51,22,47,.19),inset 0 0 0 1px rgba(255,255,255,.8)}
#mediaPreviewContent .preview-pdf-shell{width:min(100%,390px);height:min(72dvh,700px);border-radius:23px;border-width:4px;background:#fff}
#mediaPreviewContent .preview-frame{display:block;width:100%;height:100%;border:0;background:#fff;border-radius:17px;}
#mediaPreviewContent .preview-video-shell{width:min(100%,360px,40dvh);aspect-ratio:9/16;border-radius:29px;border-width:5px;background:#fffaf5;}
#mediaPreviewContent .media-player{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#fffaf5;border-radius:22px;}
#mediaPreviewContent .pdf-reader-caption{margin:10px 0;color:#837382;font-size:.78rem;text-align:center}
#mediaPreviewModal .form-note{flex:0 0 auto;margin:10px 0 0;font-size:.76rem;line-height:1.45}
@media(max-width:980px){.service-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .brand{min-width:0;gap:9px}.brand img{width:48px;height:48px}.brand-text strong{font-size:1.2rem}
 .hero-stage--premium{height:auto;aspect-ratio:1280/540;min-height:0;max-height:none}
 .hero-stage--premium .hero-bg-video{object-fit:cover}
 .hero-stage--premium .hero-podium-item--phone{left:3.5%;bottom:30%;width:19%;height:60%}
 .hero-stage--premium .hero-podium-item--phone .hero-phone-frame{height:68%;border-width:3px;border-radius:14px;padding:3px}
 .hero-stage--premium .hero-podium-item--kankotri{left:25%;bottom:42%;width:21%;height:48%}
 .hero-stage--premium .hero-kankotri-frame{width:123%;height:auto;aspect-ratio:1.5}
 .hero-stage--premium .hero-podium-item--card{left:51.5%;bottom:42%;width:20%;height:52%}
 .hero-stage--premium .hero-card-frame{height:58%;max-width:135%}
 .hero-stage--premium .hero-stage-glow{background:linear-gradient(180deg,rgba(255,245,246,.02),transparent 55%,rgba(73,34,60,.08))}
 .hero-stage--premium .hero-podium-item--tablet{left:76%;bottom:28%;width:15.5%;height:55%}
 .hero-stage--premium .hero-tablet-shell{padding:4px;border-radius:12px;transform:rotate(1deg)}
 .hero-stage--premium .hero-tablet-screen{inset:4px 5px 4px 4px;border-radius:8px}
 .hero-stage--premium .stage-label{font-size:7px!important;max-width:96%;padding:5px 8px;white-space:normal;text-align:center;bottom:1.5%}
 .service-page-hero--compact{padding:25px 0 32px!important}
 .service-page-hero--compact h1{font-size:clamp(1.65rem,5.8vw,2.3rem)!important;line-height:1.12!important}
 .service-page-hero--compact p{max-width:590px;font-size:.9rem}
 .service-gallery-art{height:270px;min-height:270px}
 .service-photo-window{width:88%;height:82%}
 #mediaPreviewModal{padding:8px}
 #mediaPreviewModal .modal{width:100%;max-height:95dvh;border-radius:18px;padding:13px}
 #mediaPreviewModal.is-phone-preview .modal{width:min(96vw,450px);padding:12px}
 #mediaPreviewContent .preview-pdf-shell{height:min(71dvh,680px);width:min(100%,380px)}
 #mediaPreviewContent .preview-video-shell{width:min(100%,360px,39dvh)}
 #mediaPreviewContent .image-preview-stage img{max-height:70dvh}
}
@media(max-width:540px){
 .service-gallery-grid{grid-template-columns:minmax(0,1fr);max-width:460px;margin-inline:auto;gap:20px}
 .service-gallery-art{height:300px;min-height:300px}
 .service-photo-window{width:88%;height:84%}
 .service-hero-kicker{font-size:.67rem;letter-spacing:.12em}
 .service-page-hero--compact .breadcrumbs{font-size:.74rem;margin-bottom:10px}
 #mediaPreviewModal.is-phone-preview .modal{width:min(96vw,420px)}
 #mediaPreviewContent .preview-pdf-shell{height:min(70dvh,650px);width:min(100%,360px)}
 #mediaPreviewContent .preview-video-shell{width:min(100%,360px,38dvh)}
}
@media(prefers-reduced-motion:reduce){
 .service-hero-kicker,.service-page-hero--compact h1,.service-page-hero--compact p,.service-hero-ornament{animation:none!important}
 .hero-stage--premium .hero-podium-item,.hero-stage--premium .hero-product-frame,.hero-tablet-pages,.service-gallery-card,.service-photo-window{animation:none!important;transition:none!important}
}

#mediaPreviewContent .preview-pdf-shell .pdf-image-reader{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background:#f7f0f5;border-radius:17px;padding:8px;scrollbar-width:thin}
#mediaPreviewContent .preview-source-warning{max-width:390px;padding:0 7px;color:#866a78;line-height:1.5}


/* Final requested refinements: visiting-card position, elegant print gallery frames,
   multi-page invitation previews, and premium wedding website design cards. */
.hero-stage--premium .hero-podium-item--card{bottom:36%!important}
@media(max-width:760px){.hero-stage--premium .hero-podium-item--card{bottom:12%!important}}

/* Give every sample image a clean white print-proof edge and soft studio shadow. */
body:has(link[href*="catalog-showcase.css"]) .catalog-preview.image,
body:has(link[href*="catalog-showcase.css"]) .service-gallery-art{
  border:3px solid #fff!important;
  box-shadow:0 8px 24px rgba(55,31,49,.16),0 1px 4px rgba(55,31,49,.08)!important;
  background:#fff!important;
}
body:has(link[href*="catalog-showcase.css"]) .catalog-preview.image img,
body:has(link[href*="catalog-showcase.css"]) .service-gallery-photo{
  border-radius:inherit;
}

/* Match wedding website demo cards to the invitation PDF catalogue's premium card language. */
.wedding-design-card{border:1px solid rgba(255,255,255,.98)!important;border-radius:26px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 12px 34px rgba(67,35,59,.12),0 2px 6px rgba(67,35,59,.05)!important;transition:transform .25s ease,box-shadow .25s ease}
.wedding-design-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(67,35,59,.17)!important}
.wedding-demo-thumb{border:4px solid #fff!important;box-shadow:inset 0 0 0 1px rgba(104,65,88,.1),0 5px 16px rgba(55,31,49,.12)!important}
.wedding-design-body{background:linear-gradient(180deg,#fff 0%,#fffaf8 100%)}
@media(prefers-reduced-motion:reduce){.wedding-design-card{transition:none!important}}

#mediaPreviewContent .pdf-image-reader-pages{padding-bottom:12px}
#mediaPreviewContent .pdf-image-reader-pages img{border:2px solid #fff;box-shadow:0 8px 22px rgba(48,25,43,.15)}


/* 2026-10-29 final podium pixel-alignment pass: five showcase scenes */
.editorial-image.podium-showcase{isolation:isolate;overflow:hidden;}
.editorial-image.podium-showcase .podium-scene-video{inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;}
.editorial-image.podium-showcase .podium-scene-shade{pointer-events:none;}
.editorial-image.podium-showcase .podium-product{left:50%;right:auto;bottom:auto;z-index:3;display:flex;align-items:center;justify-content:center;}

/* 01 — Invitation card: bottom edge settles over the marble podium top. */
.editorial-image.podium-showcase--1 .podium-product--card.podium-product--transparent{
  top:48%;width:62%;height:55%;max-width:none;transform:translate(-50%,-58%);
}
.editorial-image.podium-showcase--1 .podium-product--transparent img{
  width:100%;height:100%;max-width:none;max-height:100%;object-fit:contain!important;
}

/* 02 — Visiting-card artwork: use the original transparent artwork, not a mock card. */
.editorial-image.podium-showcase--2 .podium-product--visiting.podium-product--transparent{
  top:34%;width:55%;height:62%;max-width:none;transform:translate(-50%,-53%);
}
.editorial-image.podium-showcase--2 .podium-product--transparent img{
  width:100%;height:100%;max-width:none;max-height:100%;object-fit:contain!important;
}

/* 03 — Ring ceremony: real phone body and original video remain centered. */
.editorial-image.podium-showcase--3 .podium-product--phone{
  top:34%;width:28%;max-width:200px;height:auto;transform:translate(-50%,-51%);
}
.editorial-image.podium-showcase--3 .podium-device{
  width:100%;aspect-ratio:.52;height:auto;box-sizing:border-box;overflow:hidden;
}
.editorial-image.podium-showcase--3 .podium-device-screen{overflow:hidden;}
.editorial-image.podium-showcase--3 .podium-screen-real-video video{width:100%;height:100%;object-fit:cover;}

/* 04 — Website: a normal smartphone ratio, matching the ring-video device. */
.editorial-image.podium-showcase--4 .podium-product--website{
  top:39%;height:55%;width:auto;max-width:none;aspect-ratio:.53;transform:translate(-50%,-51%);
}
.editorial-image.podium-showcase--4 .mock-website{
  width:100%;height:100%;min-width:0;min-height:0;padding:4px;border:4px solid #29212d;border-radius:23px;
  background:#f7f0f6;overflow:hidden;box-shadow:0 15px 32px rgba(28,12,31,.35),0 0 0 2px rgba(244,221,175,.85);
}
.editorial-image.podium-showcase--4 .mock-website iframe{
  display:block;width:100%;height:100%;min-width:0;min-height:0;border:0;border-radius:15px;background:#fff;overflow:hidden;
}

/* 05 — PDF: same phone silhouette as the website and video preview, with clipped pages. */
.editorial-image.podium-showcase--5 .podium-product--pdf{
  top:50%;height:49%;width:auto;max-width:none;aspect-ratio:.53;transform:translate(-50%,-53%);
}
.editorial-image.podium-showcase--5 .mock-pdf{
  width:100%;height:100%;min-width:0;min-height:0;padding:4px;border:4px solid #29212d;border-radius:20px;
  background:#fff;overflow:hidden;box-shadow:0 15px 32px rgba(28,12,31,.35),0 0 0 2px rgba(244,221,175,.85);
}
.editorial-image.podium-showcase--5 .hero-pdf-scroll,
.editorial-image.podium-showcase--5 .hero-pdf-scroll-track,
.editorial-image.podium-showcase--5 .hero-pdf-scroll-group{width:100%;min-width:0;overflow:hidden;}
.editorial-image.podium-showcase--5 .hero-pdf-scroll-group img{display:block;width:100%;height:auto;max-width:none;object-fit:contain;}

/* Clipped screen content is intentional; scroll motion happens inside the mockup. */
.editorial-image.podium-showcase .mock-website,
.editorial-image.podium-showcase .mock-pdf,
.editorial-image.podium-showcase .mock-website iframe,
.editorial-image.podium-showcase .hero-pdf-scroll{
  scrollbar-width:none!important;-ms-overflow-style:none!important;
}
.editorial-image.podium-showcase .mock-website::-webkit-scrollbar,
.editorial-image.podium-showcase .mock-website iframe::-webkit-scrollbar,
.editorial-image.podium-showcase .mock-pdf::-webkit-scrollbar,
.editorial-image.podium-showcase .hero-pdf-scroll::-webkit-scrollbar{
  display:none!important;width:0!important;height:0!important;
}

@media(max-width:680px){
  .editorial-image.podium-showcase--1 .podium-product--card.podium-product--transparent{width:62%;height:65%;top:48%;transform:translate(-50%,-58%);}
  .editorial-image.podium-showcase--2 .podium-product--visiting.podium-product--transparent{width:68%;height:60%;top:49%;transform:translate(-50%,-53%);}
  .editorial-image.podium-showcase--3 .podium-product--phone{width:30%;max-width:175px;}
  .editorial-image.podium-showcase--4 .podium-product--website,
  .editorial-image.podium-showcase--5 .podium-product--pdf{height:61%;aspect-ratio:.47;}
  .editorial-image.podium-showcase--4 .mock-website{padding:3px;border-width:3px;border-radius:17px;}
  .editorial-image.podium-showcase--4 .mock-website iframe{border-radius:10px;}
  .editorial-image.podium-showcase--5 .mock-pdf{padding:3px;border-width:3px;border-radius:17px;}
}
@media(max-width:380px){
  .editorial-image.podium-showcase--1 .podium-product--card.podium-product--transparent{width:65%;height:55%;}
  .editorial-image.podium-showcase--2 .podium-product--visiting.podium-product--transparent{width:70%;height:58%;}
  .editorial-image.podium-showcase--3 .podium-product--phone{width:31%;}
  .editorial-image.podium-showcase--4 .podium-product--website,
  .editorial-image.podium-showcase--5 .podium-product--pdf{height:59%;aspect-ratio:.47;}
}

/* The website is rendered at a 360px mobile viewport and reduced into the physical handset. */
.editorial-image.podium-showcase--4 .mock-website{position:relative;}
.editorial-image.podium-showcase--4 .mock-website::before,
.editorial-image.podium-showcase--5 .mock-pdf::before{
  content:"";position:absolute;z-index:8;top:7px;left:50%;transform:translateX(-50%);
  width:28%;height:6px;border-radius:999px;background:#251e2b;
  box-shadow:0 1px 1px rgba(255,255,255,.2);pointer-events:none;
}
.editorial-image.podium-showcase--4 .mock-website iframe{
  width:200%;height:200%;transform:scale(.5);transform-origin:top left;
  max-width:none;max-height:none;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;
}
.editorial-image.podium-showcase--5 .mock-pdf{position:relative;}


/* Mobile-safe overflow and uploaded-PDF preview fallback. */
html{max-width:100%;overflow-x:clip}
body{max-width:100%;overflow-x:clip}
img,video,iframe,svg,canvas{max-width:100%}
input,select,textarea,button{max-width:100%;font:inherit}
.catalog-pdf-inline-preview{display:block;width:100%;height:100%;min-height:0;border:0;background:#fff;pointer-events:none}
.catalog-source-link{display:inline-flex;align-items:center;color:#6d4967;font-size:.76rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;margin-top:8px;max-width:100%;overflow-wrap:anywhere}
@media(max-width:540px){.catalog-source-link{font-size:.74rem}.catalog-item-actions{align-items:flex-start}}


/* Homepage family microsites use the same phone-preview language as the wedding website gallery. */
.invite-thumb.family-home-preview{height:300px;isolation:isolate;background:radial-gradient(ellipse at 50% 20%,rgba(255,255,255,.88),transparent 55%),linear-gradient(135deg,#ead3ce,#b895ad)}
.family-home-preview.family-home-daxini{background:linear-gradient(145deg,#edc99e,#71536d)}
.family-home-preview.family-home-savaliya{background:linear-gradient(145deg,#d6b675,#785733)}
.family-home-preview.family-home-radadiya{background:linear-gradient(145deg,#d9b4a9,#4f7067)}
.family-home-preview.family-home-joshi{background:linear-gradient(145deg,#8f3447,#29102b)}
.family-home-phone{position:relative;width:150px;height:258px;padding:5px;border:5px solid #241c29;border-radius:29px;background:#fff;overflow:hidden;box-shadow:0 20px 38px rgba(35,16,33,.34),0 0 0 2px rgba(255,255,255,.8);z-index:2}
.family-home-phone:before{content:"";position:absolute;z-index:4;top:6px;left:50%;transform:translateX(-50%);width:40px;height:7px;border-radius:10px;background:#241c29;pointer-events:none}
.family-home-phone iframe{display:block;width:100%;height:100%;border:0;border-radius:20px;background:#fff;pointer-events:none}
.family-home-preview-label{position:absolute;z-index:5;left:12px;bottom:11px;padding:6px 10px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.88);color:#493247;font-size:.58rem;font-weight:900;letter-spacing:.1em}
@media(max-width:540px){.invite-thumb.family-home-preview{height:330px}.family-home-phone{width:154px;height:270px}.family-home-preview-label{left:10px;bottom:10px;font-size:.56rem}}
@media(prefers-reduced-motion:reduce){.family-home-phone{scroll-behavior:auto}}


/* Responsive polish pass — consistent gutters, readable centered copy and dependable navigation. */
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:clip}
body{max-width:100%;overflow-x:clip}
img,video,iframe{max-width:100%}
.container{width:min(100% - 40px, 1240px);margin-inline:auto}
main section:not(.hero){scroll-margin-top:100px}
section .section-heading,section .section-intro,section .section-copy{margin-inline:auto;text-align:center}
.section-heading p,.section-intro,.section-copy{max-width:760px;margin-inline:auto}
.site-header{position:sticky;top:0;z-index:1000}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{flex:0 0 auto}
.nav-links{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap}
.nav-cta{flex:0 0 auto;white-space:nowrap}
.mock-website{overflow:hidden;isolation:isolate}
.mock-website iframe,.family-preview-device iframe,.family-home-phone iframe{display:block;width:100%;height:100%;border:0;background:#fff;transform:translateZ(0)}
@media(max-width:1050px){
 .container{width:min(100% - 32px,1240px)}
 .nav-wrap{gap:12px}.nav-links>a,.nav-drop>button{padding:10px 9px;font-size:.9rem}
 .nav-cta{padding-inline:15px}
}
@media(max-width:820px){
 .container{width:min(100% - 32px,720px)}
 .nav-wrap{height:76px;position:relative}
 .brand{padding:5px 10px 5px 5px;border-radius:16px}
 .brand img{width:44px;height:44px}
 .brand-text strong{font-size:1.12rem}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(92,48,79,.14);border-radius:14px;background:rgba(255,255,255,.88);color:#492b45;font-size:1.45rem;cursor:pointer;box-shadow:0 5px 15px rgba(67,40,63,.08)}
 .nav-cta{margin-left:auto;padding:11px 13px;font-size:.84rem}
 .nav-links{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:calc(100dvh - 100px);overflow-y:auto;align-items:stretch;flex-direction:column;gap:4px;padding:12px;border-radius:20px;background:rgba(255,250,248,.98);border:1px solid rgba(255,255,255,.95);box-shadow:0 18px 48px rgba(54,28,48,.2);backdrop-filter:blur(20px)}
 .nav-links.open{display:flex}
 .nav-links>a,.nav-drop>button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:12px;text-align:left;font-size:.96rem;white-space:normal}
 .nav-drop{width:100%}.drop-menu{display:none;position:static;min-width:0;width:100%;margin-top:4px;padding:7px;border-radius:14px;box-shadow:none;background:rgba(250,239,240,.85)}
 .nav-drop.expanded .drop-menu{display:block}.drop-menu a{white-space:normal;padding:11px 12px}
 .hero-top,.hero-copy,.service-page-hero--compact{text-align:center}
 .hero-copy{margin-inline:auto;max-width:680px;padding-inline:8px}
 .hero-copy p{margin-inline:auto;max-width:62ch}
 .hero-actions{justify-content:center;flex-wrap:wrap}
 .hero-note{justify-content:center}
 .hero-stage--premium{width:100%;aspect-ratio:1.15;min-height:320px;max-height:620px}
 .hero-stage--premium .hero-bg-video{object-fit:cover;object-position:center}
 .service-page-hero--compact .breadcrumbs{justify-content:center;flex-wrap:wrap}
 .wedding-design-grid,.service-gallery-grid{margin-inline:auto}
}
@media(max-width:540px){
 .container{width:calc(100% - 28px)}
 .nav-wrap{height:70px;gap:8px}
 .brand{gap:7px}.brand img{width:39px;height:39px}.brand-text strong{font-size:1rem}
 .nav-cta{font-size:.75rem;padding:10px 11px;border-radius:999px}
 .menu-toggle{width:40px;height:40px;flex-basis:40px}
 h1{font-size:clamp(1.8rem,8vw,2.6rem);line-height:1.12}
 h2{font-size:clamp(1.45rem,6vw,2rem);line-height:1.2}
 p{line-height:1.7}
 .hero-top{padding:28px 0 32px}
 .hero-copy{padding-inline:4px}
 .hero-actions .btn{width:100%;max-width:340px;justify-content:center}
 .hero-stage--premium{aspect-ratio:1/1;min-height:290px;max-height:460px}
 .hero-stage--premium .hero-podium-item--phone{left:3%;bottom:28%;width:17%;height:54%}
 .hero-stage--premium .hero-podium-item--kankotri{left:22%;bottom:39%;width:23%;height:43%}
 .hero-stage--premium .hero-podium-item--card{left:48%;bottom:30%;width:22%;height:45%}
 .hero-stage--premium .hero-podium-item--tablet{left:75%;bottom:25%;width:19%;height:50%}
 .hero-stage--premium .hero-tablet-shell{padding:4px;border-radius:11px}
 .hero-stage--premium .hero-tablet-screen{inset:4px;border-radius:7px}
 .hero-stage--premium .stage-label{font-size:6px!important;max-width:94%;padding:4px 6px}
 .family-preview-device,.family-home-phone{margin-inline:auto}
 .wedding-design-card,.invite-tile,.service-gallery-card{min-width:0;width:100%}
 .design-card-actions,.invite-actions{flex-wrap:wrap}
 .design-card-actions .btn,.invite-actions .btn{flex:1 1 100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Mobile-only alignment pass: center the copy and content without redesigning cards. */
@media (max-width: 820px) {
  .site-header .nav-wrap { justify-content:space-between; }
  .nav-links.open { align-items:center; text-align:center; }
  .nav-links.open > a,
  .nav-links.open .nav-drop,
  .nav-links.open .nav-drop > button { text-align:center; justify-content:center; }
  .nav-links.open .nav-drop > button { gap:10px; }
  .nav-links.open .drop-menu { text-align:center; }
  .nav-links.open .drop-menu a { justify-content:center; text-align:center; }
  main section:not(.hero) .container,
  .section-heading, .editorial-intro, .editorial-copy,
  .about-copy, .hero-copy, .service-page-hero--compact,
  .service-page-hero--compact .hero-copy,
  .service-card, .service-card > *, .trust-item,
  .invite-info, .invite-info > *, .invite-actions,
  .service-gallery-card, .service-gallery-card > *,
  .wedding-design-card, .wedding-design-card > *,
  .catalog-item, .catalog-item > *, .catalog-card, .catalog-card > *,
  .faq-grid details, .faq-grid summary, .faq-grid details p,
  .contact-panel, .contact-panel > *, .contact-form, .contact-form > *,
  .about-grid, .about-copy .check-list, .check-list > *,
  .trust-grid, .trust-item > *, .footer-grid, .footer-col,
  .footer-col > *, .footer-links, .footer-links > *,
  .form-grid, .form-grid .field, .field, .field label,
  .modal, .modal-head, .form-note {
    text-align:center;
  }
  .editorial-copy, .editorial-copy p, .editorial-copy h3,
  .about-copy p, .about-copy h2, .section-heading p,
  .section-heading h2, .editorial-intro p, .editorial-intro h2,
  .service-card p, .invite-info p, .catalog-item p,
  .service-gallery-card p, .faq-grid details p,
  .contact-panel p, .trust-item span { margin-inline:auto; }
  .hero-actions, .hero-note, .editorial-tags, .check-list,
  .trust-grid, .trust-item, .footer-links, .footer-brand,
  .footer-bottom, .invite-actions, .design-card-actions,
  .breadcrumbs, .service-page-hero--compact .breadcrumbs {
    justify-content:center;
  }
  .check-list { justify-items:center; }
  .check-list > div { text-align:center; }
  .section-heading p, .editorial-copy p, .about-copy p,
  .service-card p, .invite-info p, .faq-grid details p,
  .contact-panel p { max-width:62ch; }
  .service-grid, .faq-grid, .trust-grid, .editorial-studio .container,
  .about-grid, .contact-grid { margin-inline:auto; }
  .service-card, .invite-tile, .wedding-design-card,
  .service-gallery-card, .catalog-item, .catalog-card { margin-inline:auto; }
  .service-card .text-link, .editorial-copy .btn,
  .invite-actions .btn, .design-card-actions .btn { margin-inline:auto; }
  .ko-premium-footer { padding:34px 0 28px; text-align:center; }
  .ko-footer-inner { display:flex; flex-direction:column; align-items:center; gap:13px; }
  .ko-footer-brand { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; text-align:center; }
  .ko-footer-brand img { width:60px; height:60px; object-fit:contain; border-radius:50%; background:#fffaf7; padding:5px; box-shadow:0 5px 18px #0002; }
  .ko-footer-brand span { display:flex; flex-direction:column; align-items:center; gap:3px; }
  .ko-footer-brand strong { color:#fff5e9; font:700 1.25rem/1.2 'Playfair Display',Georgia,serif; letter-spacing:.01em; }
  .ko-footer-brand small { color:#d7c4d0; font-size:.72rem; letter-spacing:.08em; }
  .ko-footer-invitation { margin:0; color:#e6dbe3; font-size:.82rem; max-width:300px; }
  .ko-footer-locations { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; color:#fff5e9; font-size:.82rem; }
  .ko-footer-locations a { color:#ffdf9a; text-decoration:none; border-bottom:1px solid #ffdf9a88; padding-bottom:2px; }
  .ko-footer-locations a span { font-size:1rem; }
  .ko-location-separator { color:#bfa6b9; }
  .ko-footer-credit { margin-top:7px; padding-top:14px; width:100%; border-top:1px solid #ffffff22; color:#d7c4d0; font-size:.78rem; }
  .ko-footer-credit a { color:#ffdf9a; font-weight:800; text-decoration:none; }
  .ko-footer-credit a:hover { text-decoration:underline; }
  .ko-footer-copyright { color:#bfaebc; font-size:.68rem; }
}
@media (max-width: 540px) {
  .container { width:calc(100% - 32px); }
  .hero-copy, .hero-copy * { text-align:center; }
  .editorial-row, .about-grid, .contact-grid { justify-items:center; }
  .editorial-image { margin-inline:auto; width:100%; }
  .editorial-copy { width:100%; padding-inline:4px; }
  .service-grid, .faq-grid { grid-template-columns:minmax(0,1fr); }
  .service-card, .faq-grid details { width:100%; }
  .faq-grid summary { list-style-position:inside; }
  .nav-cta { margin-left:0; }
  .ko-footer-locations { flex-direction:column; gap:6px; }
  .ko-location-separator { display:none; }
}


/* Premium minimal footer, shared across desktop and mobile. */
.ko-premium-footer { background:linear-gradient(145deg,#241322,#43283f 55%,#241322); color:#d7c4d0; border-top:1px solid rgba(255,223,154,.34); }
.ko-footer-inner { display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
.ko-footer-brand { display:flex; align-items:center; justify-content:center; gap:12px; text-align:left; text-decoration:none; }
.ko-footer-brand img { width:54px; height:54px; object-fit:contain; border-radius:50%; background:#fffaf7; padding:4px; box-shadow:0 5px 18px #0002; }
.ko-footer-brand span { display:flex; flex-direction:column; gap:3px; }
.ko-footer-brand strong { color:#fff5e9; font:700 1.3rem/1.2 'Playfair Display',Georgia,serif; }
.ko-footer-brand small { color:#d7c4d0; font-size:.72rem; letter-spacing:.08em; }
.ko-footer-invitation { margin:0; color:#e6dbe3; font-size:.86rem; }
.ko-footer-locations { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; color:#fff5e9; font-size:.84rem; }
.ko-footer-locations a { color:#ffdf9a; text-decoration:none; border-bottom:1px solid #ffdf9a88; padding-bottom:2px; }
.ko-footer-credit { margin-top:8px; padding-top:14px; width:min(100%,760px); border-top:1px solid #ffffff22; color:#d7c4d0; font-size:.8rem; }
.ko-footer-credit a { color:#ffdf9a; font-weight:800; text-decoration:none; }
.ko-footer-credit a:hover { text-decoration:underline; }
.ko-footer-copyright { color:#bfaebc; font-size:.7rem; }

/* Explicit mobile text rule: every visible text element aligns to the center. */
@media (max-width: 820px) {
  body :is(h1,h2,h3,h4,h5,h6,p,span,strong,em,small,label,li,a,summary,figcaption,blockquote,td,th,legend,dt,dd,button,.eyebrow,.tag,.badge,.muted,.text-link,.stage-label,.editorial-chip,.service-icon,.trust-item b) {
    text-align:center !important;
  }
  .site-footer, .site-footer * { text-align:center !important; }
}


/* Mobile hero: vertical curtain stage + the exact four original desktop previews. */
.hero-mobile-showcase{display:none}
@media(max-width:760px){
 .home-page .hero{padding-top:0}
 .home-page .hero-stage--premium{
  width:100%;height:auto;min-height:0;max-height:none;
  aspect-ratio:478 / 850!important;overflow:hidden;background:#6e344b;
 }
 .home-page .hero-stage--premium>.hero-bg-video,
 .home-page .hero-stage--premium>.hero-stage-glow,
 .home-page .hero-stage--premium>.petal-field,
 .home-page .hero-stage--premium>.stage-label{display:none!important}
 .home-page .hero-mobile-showcase{
  display:block;position:absolute;inset:0;z-index:3;overflow:hidden;
  isolation:isolate;background:#6e344b;
 }
 .home-page .hero-mobile-bg{
  position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;
  max-width:none;object-fit:cover;object-position:center center;
 }
 .home-page .hero-mobile-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(48,15,39,.04) 0%,rgba(48,15,39,0) 55%,rgba(48,15,39,.12) 100%);
 }
 .home-page .hero-stage--premium>.hero-podium-item{
  display:flex!important;position:absolute;left:50%!important;right:auto!important;top:auto!important;
  bottom:74%!important;width:76%!important;height:62%!important;max-width:420px!important;
  align-items:center;justify-content:flex-end;flex-direction:column;gap:0;margin:0;padding:0;
  opacity:0;visibility:hidden;pointer-events:none;z-index:5;
  transform:translateX(-50%) translateY(14px) scale(.975);
  transform-origin:center bottom;animation:none!important;
  transition:opacity .45s ease,transform .55s cubic-bezier(.2,.7,.2,1),visibility 0s linear .45s;
 }
 .home-page .hero-stage--premium>.hero-podium-item.is-mobile-hero-active{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0) scale(1);
  transition:opacity .45s ease,transform .55s cubic-bezier(.2,.7,.2,1),visibility 0s;
 }
 .home-page .hero-stage--premium>.hero-podium-item::before{display:none!important}
 .home-page .hero-stage--premium .hero-phone-frame{
  width:auto;height:82%;max-width:72%;aspect-ratio:.49;padding:4px;
  border-width:4px;border-radius:22px;
 }
 .home-page .hero-stage--premium .hero-phone-screen{width:100%;height:100%;border-radius:15px}
 .home-page .hero-stage--premium .hero-phone-screen video{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#fff;
 }
 .home-page .hero-stage--premium .hero-kankotri-frame{
  width:100%;max-width:100%;height:auto;max-height:70%;aspect-ratio:1.5;
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none;
 }
 .home-page .hero-stage--premium .hero-kankotri-frame img{
  display:block;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 17px 16px rgba(41,13,36,.30));
 }
 .home-page .hero-stage--premium .hero-card-frame{
  width:100%;max-width:280px;height:100%;max-height:270px;aspect-ratio:.90;
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none;
 }
 .home-page .hero-stage--premium .hero-card-frame img{
  display:block;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 17px 16px rgba(41,13,36,.30));
 }
 .home-page .hero-stage--premium .hero-podium-item--tablet{
  width:55%!important;height:55%!important;bottom:33%!important;
 }
 .home-page .hero-stage--premium .hero-tablet-shell{
  width:100%;height:100%;padding:7px;border-radius:22px;
 }
 .home-page .hero-stage--premium .hero-tablet-screen{inset:7px 9px 7px 7px;border-radius:14px}
 .home-page .hero-stage--premium .hero-tablet-camera{width:4px;height:4px;right:2px}
 .home-page .hero-stage--premium .hero-tablet-pages{animation-duration:36s}
 .home-page .hero-stage--premium .hero-tablet-page-stack img{width:100%;height:auto;object-fit:contain}
}
@media(max-width:380px){
 .home-page .hero-stage--premium>.hero-podium-item{width:82%!important;height:60%!important;bottom:20%!important}
 .home-page .hero-stage--premium .hero-phone-frame{height:80%;max-width:70%}
 .home-page .hero-stage--premium .hero-card-frame{width:72%;height:73%}
 .home-page .hero-stage--premium .hero-tablet-shell{padding:5px;border-radius:17px}
 .home-page .hero-stage--premium .hero-tablet-screen{inset:5px 7px 5px 5px;border-radius:11px}
}
@media(prefers-reduced-motion:reduce){
 .home-page .hero-stage--premium>.hero-podium-item,
 .home-page .hero-stage--premium>.hero-podium-item.is-mobile-hero-active{
  transition:none!important;transform:translateX(-50%)!important;
 }
}


/* Mobile hero gallery controls: deliberate, user-driven navigation (no timed slide jump). */
@media(max-width:760px){
 .home-page .hero-mobile-gallery-controls{position:absolute;z-index:12;right:clamp(10px,3.2vw,18px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;padding:9px 7px;border:1px solid rgba(255,255,255,.36);border-radius:24px;background:rgba(43,17,36,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(28,8,22,.2)}
 .home-page .hero-gallery-arrow{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font:400 28px/1 Arial,sans-serif;cursor:pointer;transition:background .2s ease,transform .2s ease}
 .home-page .hero-gallery-arrow:active{transform:scale(.92);background:rgba(255,255,255,.3)}
 .home-page .hero-gallery-pagination{display:flex;flex-direction:column;align-items:center;gap:8px;padding:3px 0}
 .home-page .hero-gallery-dot{width:7px;height:7px;min-width:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.58);box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:pointer;transition:height .22s ease,background .22s ease,border-radius .22s ease}
 .home-page .hero-gallery-dot.is-current{height:20px;border-radius:8px;background:#fff}
 .home-page .hero-gallery-count{color:#fff;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.04em;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.45);writing-mode:vertical-rl;transform:rotate(180deg);margin-top:1px}
 .home-page .hero-stage--premium>.hero-podium-item{right:0!important}
}
@media(max-width:380px){
 .home-page .hero-mobile-gallery-controls{right:7px;gap:8px;padding:7px 5px}
 .home-page .hero-gallery-arrow{width:29px;height:29px;font-size:24px}
 .home-page .hero-gallery-pagination{gap:7px}
}
@media(prefers-reduced-motion:reduce){.home-page .hero-gallery-arrow,.home-page .hero-gallery-dot{transition:none!important}}


/* KRISHNA OFFSET — unified premium mobile navigation */
@keyframes koNavReveal{from{opacity:0;transform:translateY(-7px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:820px){
  .site-header .nav-wrap{position:relative;justify-content:space-between;gap:10px}
  .site-header .nav-links.open{
    display:flex;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:5px;
    position:absolute;top:calc(100% + 9px);left:0;right:0;width:100%;max-height:calc(100svh - 100px);
    overflow-y:auto;overscroll-behavior:contain;padding:11px;border-radius:20px;
    background:rgba(255,252,249,.985);border:1px solid rgba(255,255,255,.96);
    box-shadow:0 20px 54px rgba(48,25,45,.20),0 3px 12px rgba(48,25,45,.07);
    backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);text-align:left;
    transform-origin:top center;animation:koNavReveal .18s ease-out both;z-index:1002;
  }
  .site-header .nav-links.open>a,
  .site-header .nav-links.open .nav-drop,
  .site-header .nav-links.open .nav-drop>button{
    display:flex;width:100%;min-height:46px;align-items:center;justify-content:space-between;
    padding:12px 14px;border-radius:12px;text-align:left;font-size:.94rem;font-weight:750;
    color:#4b3049;white-space:normal;
  }
  .site-header .nav-links.open>a:hover,
  .site-header .nav-links.open>a:focus-visible,
  .site-header .nav-links.open .nav-drop>button:hover,
  .site-header .nav-links.open .nav-drop.expanded>button{
    background:linear-gradient(100deg,rgba(122,65,105,.10),rgba(207,157,66,.10));color:#49243f;
  }
  .site-header .nav-links.open .nav-drop{display:block;padding:0}
  .site-header .nav-links.open .nav-drop>button{border:0;background:transparent;cursor:pointer}
  .site-header .nav-links.open .nav-chevron{margin-left:12px;flex:0 0 auto}
  .site-header .nav-links.open .drop-menu{
    display:none;position:static;width:100%;min-width:0;margin:3px 0 4px;padding:6px;
    border:1px solid rgba(110,66,96,.10);border-radius:14px;background:#f8f0f0;
    box-shadow:none;text-align:left;
  }
  .site-header .nav-links.open .nav-drop.expanded .drop-menu{display:grid;gap:2px}
  .site-header .nav-links.open .drop-menu a{
    display:flex;justify-content:flex-start;align-items:center;width:100%;min-height:42px;
    padding:10px 12px;border-radius:9px;text-align:left;color:#705a6c;font-size:.88rem;
  }
  .site-header .nav-links.open .drop-menu a:hover,
  .site-header .nav-links.open .drop-menu a:focus-visible{background:#fff;color:#4a2c46}
  .site-header .menu-toggle{position:relative;z-index:1003;transition:background .2s ease,border-color .2s ease,transform .2s ease}
  .site-header .menu-toggle[aria-expanded="true"]{color:#fff;border-color:#5b3154;background:linear-gradient(135deg,#4b2b48,#765071);box-shadow:0 8px 19px rgba(67,40,63,.22)}
  .site-header .menu-toggle:focus-visible,
  .site-header .nav-links a:focus-visible,
  .site-header .nav-links button:focus-visible{outline:3px solid rgba(194,145,66,.65);outline-offset:2px}
}
@media(max-width:540px){
  .site-header .nav-links.open{left:-1px;right:-1px;width:calc(100% + 2px);padding:9px;border-radius:17px}
  .site-header .nav-links.open>a,.site-header .nav-links.open .nav-drop>button{min-height:45px;padding:11px 13px}
}
@media(prefers-reduced-motion:reduce){.site-header .nav-links.open{animation:none!important}}

/* KRISHNA OFFSET — refined mobile header: centered identity + premium 3-line drawer */
@keyframes koNavReveal{from{opacity:0;transform:translateY(-7px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:820px){
  .site-header .nav-wrap{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-end!important;
    width:min(calc(100% - 28px),720px);
    height:78px;
    min-width:0;
    gap:0;
    padding:0;
    overflow:visible;
  }
  .site-header .nav-wrap>.brand{
    position:absolute!important;
    left:50%!important;
    top:82%!important;
    display:flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-width:0;
    max-width:calc(100% - 68px);
    margin:0;
    padding:6px 15px 6px 7px;
    gap:9px;
    transform:translate(-50%,-50%)!important;
    border:1px solid rgba(255,255,255,.96);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,248,245,.88));
    box-shadow:0 9px 26px rgba(67,40,63,.13),inset 0 1px 0 rgba(255,255,255,.95);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    z-index:1001;
  }
  .site-header .nav-wrap>.brand:hover{
    transform:translate(-50%,-50%)!important;
  }
  .site-header .brand img{
    display:block;
    width:47px;
    height:47px;
    flex:0 0 47px;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.88);
    border-radius:50%;
    background:#fffaf6;
    box-shadow:0 3px 10px rgba(49,27,48,.16);
  }
  .site-header .brand-text{display:flex;min-width:0;line-height:1.05}
  .site-header .brand-text strong{
    display:block;
    color:#492b45;
    font-family:'Playfair Display',Georgia,serif;
    font-size:clamp(.92rem,3.8vw,1.08rem);
    font-weight:700;
    letter-spacing:-.035em;
    white-space:nowrap;
  }
  .site-header .brand-text small{display:none}
  .site-header .menu-toggle{
    display:grid!important;
    place-items:center;
    width:48px;
    height:48px;
    flex:0 0 48px;
    margin:0 0 0 auto;
    padding:0;
    position:relative;
    z-index:1003;
    border:1px solid rgba(255,255,255,.96);
    border-radius:16px;
    background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,247,244,.88));
    color:#492b45;
    box-shadow:0 8px 22px rgba(67,40,63,.14),inset 0 1px 0 #fff;
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;
  }
  .site-header .menu-toggle:active{transform:scale(.94)}
  .site-header .menu-bars{
    display:flex;
    width:21px;
    height:18px;
    flex-direction:column;
    justify-content:space-between;
    align-items:stretch;
  }
  .site-header .menu-bars span{
    display:block;
    width:100%;
    height:2.4px;
    border-radius:99px;
    background:linear-gradient(90deg,#492b45 0%,#87526f 72%,#bd914b 100%);
    transform-origin:center;
    transition:transform .22s ease,opacity .18s ease,width .22s ease;
  }
  .site-header .menu-bars span:nth-child(2){width:15px;align-self:flex-end}
  .site-header .menu-toggle[aria-expanded="true"]{
    border-color:rgba(255,255,255,.25);
    background:linear-gradient(135deg,#4b2b48,#765071);
    box-shadow:0 9px 23px rgba(67,40,63,.25);
  }
  .site-header .menu-toggle[aria-expanded="true"] .menu-bars span{background:#fff}
  .site-header .menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(1){transform:translateY(7.8px) rotate(45deg)}
  .site-header .menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(2){opacity:0;width:0}
  .site-header .menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(3){transform:translateY(-7.8px) rotate(-45deg)}
  .site-header .nav-cta{display:none!important}
  .site-header .nav-links{
    display:none!important;
    position:absolute!important;
    top:calc(100% + 20px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    max-height:calc(100svh - 100px);
    margin:0;
    padding:11px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:5px;
    border:1px solid rgba(255,255,255,.96);
    border-radius:20px;
    background:rgba(255,252,249,.985);
    box-shadow:0 20px 54px rgba(48,25,45,.20),0 3px 12px rgba(48,25,45,.07);
    -webkit-backdrop-filter:blur(22px);
    backdrop-filter:blur(22px);
    white-space:normal;
    z-index:1002;
    transform-origin:top center;
  }
  .site-header .nav-links.open{
    display:flex!important;
    animation:koNavReveal .18s ease-out both;
  }
  .site-header .nav-links>a,
  .site-header .nav-links>.nav-drop>button{
    display:flex;
    width:100%;
    min-height:47px;
    align-items:center;
    justify-content:space-between;
    padding:12px 14px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#4b3049;
    font-size:.95rem;
    font-weight:750;
    line-height:1.25;
    text-align:left;
    white-space:normal;
  }
  .site-header .nav-links>a:hover,
  .site-header .nav-links>a:focus-visible,
  .site-header .nav-links .nav-drop>button:hover,
  .site-header .nav-links .nav-drop.expanded>button{
    background:linear-gradient(100deg,rgba(122,65,105,.10),rgba(207,157,66,.10));
    color:#49243f;
  }
  .site-header .nav-links>.nav-drop{display:block;position:static;width:100%;padding:0}
  .site-header .nav-links>.nav-drop>button{cursor:pointer}
  .site-header .nav-links .nav-chevron{flex:0 0 auto;margin-left:12px}
  .site-header .nav-links .drop-menu{
    display:none;
    position:static;
    width:100%;
    min-width:0;
    max-height:none;
    margin:3px 0 4px;
    padding:6px;
    overflow:visible;
    border:1px solid rgba(110,66,96,.10);
    border-radius:14px;
    background:#f8f0f0;
    box-shadow:none;
    text-align:left;
  }
  .site-header .nav-links .nav-drop.expanded .drop-menu{display:grid;gap:2px}
  .site-header .nav-links .drop-menu a{
    display:flex;
    width:100%;
    min-height:42px;
    align-items:center;
    justify-content:flex-start;
    padding:10px 12px;
    border-radius:9px;
    color:#705a6c;
    font-size:.88rem;
    text-align:left;
    white-space:normal;
  }
  .site-header .nav-links .drop-menu a:hover,
  .site-header .nav-links .drop-menu a:focus-visible{background:#fff;color:#4a2c46}
  .site-header .menu-toggle:focus-visible,
  .site-header .nav-links a:focus-visible,
  .site-header .nav-links button:focus-visible{outline:3px solid rgba(194,145,66,.65);outline-offset:2px}

  /* On the homepage, remove the pink header strip and float the controls over the hero video. */
  .home-page .site-header{
    position:absolute!important;
    top:0;
    left:0;
    right:0;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .home-page .hero{padding-top:0!important}
}
@media(max-width:540px){
  .site-header .nav-wrap{height:74px}
  .site-header .nav-wrap>.brand{gap:8px;padding:5px 13px 5px 6px}
  .site-header .brand img{width:45px;height:45px;flex-basis:45px}
  .site-header .brand-text strong{font-size:clamp(.88rem,4vw,1.02rem)}
  .site-header .menu-toggle{width:46px;height:46px;flex-basis:46px;border-radius:15px}
  .site-header .nav-links.open{left:0!important;right:0!important;width:100%!important;padding:10px;border-radius:18px}
}
@media(max-width:360px){
  .site-header .nav-wrap>.brand{max-width:calc(100% - 62px);gap:6px;padding:4px 10px 4px 5px}
  .site-header .brand img{width:42px;height:42px;flex-basis:42px}
  .site-header .brand-text strong{font-size:.88rem}
  .site-header .menu-toggle{width:44px;height:44px;flex-basis:44px}
}
@media(prefers-reduced-motion:reduce){
  .site-header .nav-links.open{animation:none!important}
  .site-header .menu-toggle,.site-header .menu-bars span{transition:none!important}
}
