:root{--di-navy:#0b2347;--di-gold:#c79a3d;--di-cream:#fff9f1;--di-blush:#eeb9b2;--di-purple:#61348b;--di-coral:#ef6d75;--di-turquoise:#28b8bd}
.di-page{background:var(--di-cream);color:#17243a}.di-page main{overflow:hidden}.di-container{width:min(1180px,calc(100% - 36px));margin:auto}.di-section{padding:92px 0}.di-heading{text-align:center;max-width:780px;margin:0 auto 44px}.di-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,5vw,4.3rem);line-height:1;margin:.3em 0;color:var(--di-navy)}.di-heading p{font-size:1.08rem;color:#5b6270}.di-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:900;color:#a36d12}
.di-hero{position:relative;isolation:isolate;background:radial-gradient(circle at 80% 18%,#fff 0,#fff6ec 33%,#f7dfd9 72%,#f0c4c7 100%);min-height:690px;display:grid;align-items:center}.di-hero::before,.di-hero::after{content:"✦";position:absolute;color:#d7a336;opacity:.7;font-size:2rem;animation:diFloat 5s ease-in-out infinite}.di-hero::before{left:4%;top:18%}.di-hero::after{right:6%;bottom:14%;animation-delay:-2s}.di-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;padding:70px 0}.di-hero-copy{position:relative;z-index:2}.di-hero h1{margin:0;color:var(--di-navy);line-height:.77}.di-hero h1 strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.4rem,8vw,8.5rem);font-weight:500;letter-spacing:.04em}.di-hero h1 em{display:block;font-family:"Segoe Script","Brush Script MT",cursive;font-size:clamp(3.8rem,7vw,7.2rem);font-weight:400;color:#b77825;transform:rotate(-3deg);margin-left:1rem}.di-tagline{font-size:1.15rem;font-weight:900;letter-spacing:.08em;color:#6f384e;margin:32px 0 12px}.di-hero-copy>p{font-size:1.08rem;max-width:590px}.di-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.di-btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 22px;border-radius:999px;font-weight:900;transition:.25s;border:1px solid transparent}.di-btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,35,71,.18)}.di-btn-primary{background:linear-gradient(135deg,#d89b28,#f1c35d);color:#102649}.di-btn-secondary{border-color:var(--di-navy);color:var(--di-navy);background:rgba(255,255,255,.55)}.di-micro{font-weight:800;color:#7d5c30}.di-phone-stage{position:relative;display:grid;place-items:center}.di-phone{width:min(360px,75vw);padding:12px;border-radius:48px;background:#111;box-shadow:0 35px 70px rgba(61,32,41,.3);transform:rotate(6deg);animation:diPhoneIn .9s ease both}.di-phone img{border-radius:37px;aspect-ratio:9/17;object-fit:cover;object-position:center}.di-phone-stage::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:linear-gradient(135deg,#ffd9de,#fff5d3);filter:blur(3px);z-index:-1}.di-balloon{position:absolute;width:72px;height:88px;border-radius:50%;opacity:.7}.di-balloon.one{right:2%;top:8%;background:#7741a3}.di-balloon.two{right:13%;top:0;background:#e8b535;width:58px;height:72px}
.di-styles{background:#fff}.di-style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.di-style-card{position:relative;min-height:230px;border-radius:28px;padding:25px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;box-shadow:0 15px 34px rgba(11,35,71,.12);transition:.3s}.di-style-card:hover{transform:translateY(-7px) rotate(.5deg)}.di-style-card::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,13,30,.72),transparent 70%)}.di-style-card span{position:relative;font-family:Georgia,serif;font-size:1.35rem;font-weight:700}.wedding{background:linear-gradient(135deg,#e7a6aa,#f6ded2)}.birthday{background:linear-gradient(135deg,#63318d,#d64e99)}.children{background:linear-gradient(135deg,#1eb8c3,#ffd229 48%,#ff6d98)}.graduation{background:linear-gradient(135deg,#061d45,#d7a52e)}.anniversary{background:linear-gradient(135deg,#c88b83,#f2d5c6)}.church{background:linear-gradient(135deg,#43245e,#b58cce)}.blacktie{background:linear-gradient(135deg,#050b14,#18345b)}.other{background:linear-gradient(135deg,#f17868,#7f4eb1 50%,#24aaa8)}
.di-journey{background:#111f3c;color:#fff}.di-journey .di-heading h2,.di-journey .di-heading p{color:#fff}.di-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;counter-reset:steps}.di-step{position:relative;padding:25px 18px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.06)}.di-step::before{counter-increment:steps;content:counter(steps);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--di-gold);color:var(--di-navy);font-weight:900;margin-bottom:18px}.di-step h3{font-size:1rem}.di-step p{font-size:.88rem;color:#d9e0ed}
.di-benefits{background:linear-gradient(135deg,#fff7ea,#fae8ed)}.di-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.di-benefit{padding:26px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(199,154,61,.25)}.di-benefit b{display:block;color:var(--di-purple);letter-spacing:.08em;margin-bottom:8px}
.di-showcase{background:#24132f;color:#fff}.di-showcase .di-heading h2,.di-showcase .di-heading p{color:#fff}.di-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.di-gallery button{border:0;padding:0;background:none;cursor:pointer;border-radius:22px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.3)}.di-gallery button:nth-child(1),.di-gallery button:nth-child(4){grid-column:span 5}.di-gallery button:nth-child(2),.di-gallery button:nth-child(3){grid-column:span 7}.di-gallery img{width:100%;height:520px;object-fit:cover;transition:.35s}.di-gallery button:nth-child(2) img,.di-gallery button:nth-child(3) img{height:390px}.di-gallery button:hover img{transform:scale(1.025)}.di-gallery-more{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.di-gallery-more button{border:0;padding:0;border-radius:18px;overflow:hidden;background:none;cursor:pointer}.di-gallery-more img{width:100%;aspect-ratio:2/3;object-fit:cover}.di-video{margin-top:50px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}.di-video video{width:100%;max-height:640px;border-radius:24px;background:#000}.di-video-copy h3{font-family:Georgia,serif;font-size:2.3rem;margin:.2em 0}
.di-phone-experience{background:#fff}.di-phone-experience-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.di-phone-experience .di-phone{margin:auto;transform:rotate(-5deg)}.di-phone-copy h2{font-family:Georgia,serif;color:var(--di-navy);font-size:clamp(2.4rem,5vw,4.4rem);line-height:1}.di-phone-copy p{font-size:1.15rem}.di-no-list{font-size:1.3rem;font-weight:900;color:#a25065;line-height:1.8}
.di-cta{padding:92px 18px;text-align:center;background:radial-gradient(circle at top,#8a3e85,#3b174f 70%);color:#fff}.di-cta h2{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.7rem);line-height:1;margin:0 auto 18px;max-width:900px}.di-cta p{font-size:1.2rem}.di-cta .di-actions{justify-content:center}.di-whatsapp{background:#23a55a;color:#fff}.di-lightbox{position:fixed;inset:0;z-index:99999;display:none;place-items:center;background:rgba(5,8,18,.92);padding:24px}.di-lightbox.open{display:grid}.di-lightbox img{max-height:90vh;max-width:min(92vw,760px);object-fit:contain}.di-lightbox button{position:absolute;right:24px;top:18px;background:#fff;color:#111;border:0;border-radius:50%;width:46px;height:46px;font-size:1.6rem;cursor:pointer}
.ae-experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}.ae-experience{position:relative;overflow:hidden;border-radius:28px;padding:34px;min-height:430px;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(11,35,71,.18)}.ae-experience h3{font-family:Georgia,serif;font-size:2.35rem;line-height:1;margin:10px 0}.ae-experience .tagline{font-weight:900;font-size:1.05rem}.ae-experience ul{columns:2;padding-left:20px}.ae-experience .di-btn{align-self:flex-start;margin-top:auto}.ae-wedding{background:linear-gradient(145deg,#fffaf5,#f5d8dc);color:#542e45;border:1px solid #e5bdc5}.ae-invitations{background:linear-gradient(145deg,#562380,#e84f89 55%,#ef9d38);color:#fff}.ae-invitations .di-btn{background:#fff;color:#522178}.ae-wedding .di-btn{background:#743f62;color:#fff}
@keyframes diFloat{50%{transform:translateY(-12px) rotate(10deg)}}@keyframes diPhoneIn{from{opacity:0;transform:translateY(50px) rotate(11deg)}to{opacity:1;transform:rotate(6deg)}}
@media(max-width:900px){.di-hero-grid,.di-phone-experience-grid,.di-video{grid-template-columns:1fr}.di-hero{text-align:center}.di-hero-copy>p{margin-left:auto;margin-right:auto}.di-actions{justify-content:center}.di-style-grid{grid-template-columns:repeat(2,1fr)}.di-steps{grid-template-columns:repeat(2,1fr)}.di-benefit-grid{grid-template-columns:repeat(2,1fr)}.ae-experience-grid{grid-template-columns:1fr}.di-video-copy{text-align:center}}
@media(max-width:600px){.di-section{padding:65px 0}.di-hero-grid{padding:45px 0}.di-hero h1 strong{font-size:clamp(3.5rem,20vw,5.3rem)}.di-hero h1 em{font-size:clamp(3rem,17vw,4.5rem);margin-left:0}.di-tagline{font-size:.95rem}.di-btn{width:100%;min-height:55px}.di-style-grid{gap:10px}.di-style-card{min-height:170px;padding:18px}.di-style-card span{font-size:1.05rem}.di-steps,.di-benefit-grid{grid-template-columns:1fr}.di-gallery,.di-gallery-more{grid-template-columns:1fr 1fr}.di-gallery button:nth-child(n){grid-column:span 1}.di-gallery img,.di-gallery button:nth-child(2) img,.di-gallery button:nth-child(3) img{height:auto;aspect-ratio:2/3}.di-gallery-more{margin-top:10px;gap:10px}.di-video{margin-top:35px}.di-phone-stage::before{width:290px;height:290px}.ae-experience{padding:25px;min-height:0}.ae-experience ul{columns:1}.di-cta{padding:70px 18px}}
@media(prefers-reduced-motion:reduce){.di-hero::before,.di-hero::after,.di-phone{animation:none!important}.di-style-card,.di-gallery img,.di-btn{transition:none!important}}

/* Keep portrait artwork constrained inside responsive phone mock-ups. */
.di-phone-stage{min-width:0}.di-phone{max-width:100%;min-width:0}.di-phone img{width:100%;min-width:0}
@media(max-width:600px){.di-hero-grid,.di-phone-stage,.di-phone-experience-grid{min-width:0;width:100%}.di-phone,.di-phone-experience .di-phone{width:260px!important;max-width:72vw!important}.di-phone img{height:auto!important;aspect-ratio:9/17}}

/* Refined editorial hero: display the official campaign artwork as artwork, not inside a second phone. */
.di-hero{min-height:720px;background:radial-gradient(circle at 78% 18%,#fff 0,#fff8f0 31%,#f8e2dc 68%,#efc7ca 100%)}
.di-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr);gap:76px;padding:58px 0}
.di-hero-copy{padding:28px 0}.di-hero h1 strong{font-size:clamp(4.8rem,7vw,7.8rem)}.di-hero h1 em{font-size:clamp(4rem,6vw,6.4rem)}
.di-hero-art{position:relative;width:min(430px,100%);justify-self:end;filter:drop-shadow(0 28px 36px rgba(66,35,43,.22));animation:diArtIn .8s ease both}
.di-hero-art::before{content:"";position:absolute;inset:5% -11% 7% 16%;z-index:-1;border-radius:48% 52% 48% 52%;background:linear-gradient(145deg,#f4b9c1,#f4d995);opacity:.55}
.di-hero-art img{width:100%;height:auto;border-radius:28px;border:7px solid rgba(255,255,255,.86);box-shadow:0 22px 55px rgba(31,19,31,.2)}
.di-art-badge{position:absolute;z-index:2;left:-52px;top:54px;display:grid;padding:15px 19px;border-radius:16px;background:#0b2347;color:#fff;border:1px solid #d9ac4d;box-shadow:0 12px 28px rgba(11,35,71,.28);transform:rotate(-5deg)}
.di-art-badge b{font-family:Georgia,serif;color:#efc66e;font-size:1.05rem}.di-art-badge span{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
@keyframes diArtIn{from{opacity:0;transform:translateY(35px) rotate(2deg)}to{opacity:1;transform:none}}
@media(max-width:900px){.di-hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:35px}.di-hero{text-align:left}.di-hero .di-actions{justify-content:flex-start}.di-hero-art{width:100%}.di-art-badge{left:-25px}}
@media(max-width:700px){.di-hero{text-align:center}.di-hero-grid{grid-template-columns:1fr;padding:48px 0 60px}.di-hero-copy{padding:0}.di-hero .di-actions{justify-content:center}.di-hero-art{width:min(315px,84vw);justify-self:center;margin-top:12px}.di-art-badge{left:-18px;top:35px}.di-hero h1 strong{font-size:clamp(3.6rem,19vw,5rem)}.di-hero h1 em{font-size:clamp(3rem,16vw,4.25rem)}.di-balloon{display:none}}
@media(prefers-reduced-motion:reduce){.di-hero-art{animation:none}}

/* Approved concept adaptation: one premium phone with motion inside the screen. */
.di-hero{min-height:auto;padding:74px 0 70px;background:radial-gradient(circle at 84% 16%,rgba(229,188,101,.28),transparent 26%),radial-gradient(circle at 18% 8%,rgba(222,101,126,.14),transparent 30%),linear-gradient(180deg,#fff 0,#fffaf6 100%)}
.di-hero-grid{grid-template-columns:1.05fr .95fr;gap:54px;padding:0}.di-hero-copy{padding:0}.di-hero h1{line-height:.84}.di-hero h1 strong{font-size:clamp(4.7rem,7vw,7.4rem);letter-spacing:-.035em}.di-hero h1 em{font-size:clamp(3.8rem,5.7vw,6rem);margin-top:-.08em}.di-tagline{font-size:clamp(1.05rem,2vw,1.35rem);margin:26px 0 16px;color:#6b3144}.di-hero-copy>p{font-size:clamp(1rem,1.5vw,1.16rem)}
.di-btn-primary{background:#0b2347;color:#fff;box-shadow:0 10px 24px rgba(11,35,71,.18)}.di-btn-primary:hover{background:#071b38}.di-btn-secondary{background:#fff}
.di-phone-stage{position:relative;min-height:620px;display:grid;place-items:center;min-width:0}.di-phone{position:relative;width:min(360px,82vw);max-width:none;aspect-ratio:9/19.2;padding:12px;border-radius:48px;background:linear-gradient(155deg,#111,#2b2b2b 50%,#050505);box-shadow:0 35px 70px rgba(17,17,17,.32);transform:rotate(3deg);animation:diConceptFloat 5s ease-in-out infinite}.di-phone::before{content:"";position:absolute;z-index:3;width:42%;height:28px;border-radius:0 0 16px 16px;background:#090909;left:29%;top:10px}.di-phone-screen{width:100%;height:100%;overflow:hidden;border-radius:38px;background:#f8efe5}.di-phone-screen video{width:100%;height:100%;object-fit:cover;display:block}.di-phone-badge{position:absolute;z-index:4;right:0;top:72px;display:grid;padding:14px 18px;border-radius:18px;background:#fff;color:#775e27;border:1px solid rgba(199,154,61,.35);box-shadow:0 20px 50px rgba(22,31,48,.14);font-family:Georgia,serif;font-size:1.1rem}.di-phone-badge span{font-family:inherit;font-size:.78rem;font-weight:500}
.di-styles{background:#fff}.di-journey{background:linear-gradient(180deg,#fffaf6,#fff);color:#17243a}.di-journey .di-heading h2{color:#0b2347}.di-journey .di-heading p{color:#5b6270}.di-step{background:#fff;border:1px solid rgba(11,35,71,.08);box-shadow:0 12px 30px rgba(17,31,56,.07)}.di-step::before{background:#0b2347;color:#fff}.di-step h3{color:#17243a}.di-step p{color:#6a7080}.di-benefits{background:#fff}.di-benefit{background:linear-gradient(180deg,#fff,#fffaf4);box-shadow:0 12px 30px rgba(17,31,56,.05)}
@keyframes diConceptFloat{50%{transform:translateY(-12px) rotate(2deg)}}
@media(max-width:900px){.di-hero{text-align:center;padding-top:56px}.di-hero-grid{grid-template-columns:1fr}.di-hero-copy>p{margin-inline:auto}.di-hero .di-actions{justify-content:center}.di-phone-stage{min-height:560px}.di-phone-badge{right:8%;top:54px}}
@media(max-width:600px){.di-hero{padding:44px 0 54px}.di-hero-grid{padding:0}.di-phone-stage{min-height:500px;margin-top:10px}.di-phone,.di-phone-experience .di-phone{width:min(310px,84vw)!important;max-width:84vw!important}.di-phone-badge{right:2%;top:38px;font-size:.95rem}.di-hero h1 strong{font-size:clamp(3.3rem,17vw,5rem)}.di-hero h1 em{font-size:clamp(3rem,15vw,4.2rem)}}
@media(prefers-reduced-motion:reduce){.di-phone{animation:none}}
