@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Tamil:wght@400;600;700&family=Playfair+Display:wght@700&family=Sacramento&display=swap');
.hero-photo{padding:9px 9px 28px!important;background:#fffaf0!important;box-shadow:0 12px 24px #0002!important}.hero-photo img{object-fit:cover!important}:root{--green:#173d2d;--gold:#b58a2b;--ink:#13251e;--coral:#c9644b;--paper:#f4eddf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050605;color:var(--ink);font-family:'Noto Sans Tamil',system-ui,sans-serif}.page{min-height:100vh;display:grid;place-items:center;padding:22px}.phone-frame{position:relative;width:min(100%,430px);min-height:980px;overflow:hidden;border-radius:42px;background:radial-gradient(circle at 50% 0,#fffaf0,#eee5d5 48%,#e6ddce);box-shadow:0 30px 90px #000b, inset 0 0 0 2px #ffffff99}.phone-frame:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");mix-blend-mode:multiply;pointer-events:none}.hero-stack{position:relative;height:610px;padding-top:78px}.green-card{position:absolute;right:44px;top:108px;width:150px;height:420px;border-radius:16px;background:var(--green);transform:rotate(-3deg);box-shadow:0 20px 45px #0003}.botanical{position:absolute;right:26px;top:92px;color:#d5ba72;font-size:88px;opacity:.5}.ribbon{position:absolute;right:-42px;bottom:115px;width:130px;height:22px;background:#c86146;border-radius:18px;box-shadow:0 0 0 8px #b74e3833;transform:rotate(2deg)}.card{position:relative;z-index:2;margin:auto;width:305px;height:500px;background:var(--paper);border-radius:9px;box-shadow:0 18px 40px #0003;display:grid;place-items:center}.inner-border{width:88%;height:88%;border:1px solid #c89c44;padding:26px 18px;text-align:center}.crown{color:var(--gold);fill:#e8c15d;margin-top:2px}.script{font-family:Sacramento,cursive;color:var(--gold);font-size:64px;line-height:.78;margin:10px 0 0;text-shadow:0 1px #72500f}.gold-heart{fill:var(--gold);color:var(--gold)}h1{font-size:22px;color:var(--green);margin:8px 0 5px}.divider{display:flex;align-items:center;gap:8px;justify-content:center;color:var(--gold)}.divider span{height:1px;width:72px;background:var(--gold)}.silhouette{height:112px;display:flex;align-items:end;justify-content:center;gap:10px;background:radial-gradient(circle at 70% 70%,#efdcb8 0 45px,transparent 46px)}.dad,.kid{display:block;background:var(--green);border-radius:45% 45% 12px 12px}.dad{width:28px;height:96px}.kid{width:20px;height:66px}.cta{display:inline-grid;place-items:center;text-decoration:none;background:var(--green);color:#ffd77a;border:1px solid #d5aa45;border-radius:50%;width:58px;height:58px;box-shadow:0 8px 14px #0003}.scroll-icon{width:30px;height:30px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.scroll-icon rect,.scroll-icon path{stroke:currentColor}.down{margin-top:13px;color:#111}.polaroid{margin:0;background:#fffaf0;padding:9px 9px 28px;box-shadow:0 12px 24px #0002;cursor:zoom-in;outline:none}.polaroid:focus-visible{box-shadow:0 12px 24px #0002,0 0 0 3px #ffd77a,0 0 0 6px var(--green)}.polaroid img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo{position:absolute;z-index:3;left:-18px;top:190px;width:150px;height:150px;padding:0;background:transparent;box-shadow:none}.hero-photo img{object-fit:contain}.photo-lightbox{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:rgba(5,6,5,.72);padding:26px}.zoomed-polaroid{width:min(82vw,360px);height:min(82vw,360px);cursor:default;box-shadow:0 28px 70px #0009}.lightbox-close{position:fixed;top:22px;right:22px;width:44px;height:44px;border:1px solid #d5aa45;border-radius:50%;background:#fffaf0;color:var(--green);font:700 28px/1 'Noto Sans Tamil',system-ui,sans-serif;box-shadow:0 12px 24px #0005;cursor:pointer}.lightbox-close:focus-visible{outline:3px solid #ffd77a;outline-offset:3px}.note{position:absolute;z-index:3;left:24px;bottom:6px;width:120px;padding:15px 13px;background:#f4efe4;border-bottom:2px solid #d9cdbc;transform:rotate(-4deg);font-size:20px;box-shadow:0 8px 16px #0002}.note svg{color:#b53e2d;vertical-align:middle}.ticket{position:absolute;right:18px;bottom:40px;z-index:3;background:#eee2ce;border:1px dashed #8d7658;padding:13px 18px;transform:rotate(8deg);font:700 18px/1.1 monospace}.ticket svg{color:#a93628;fill:#a93628}.ticket small{color:#b54a37;margin-left:8px;writing-mode:vertical-rl}.confetti{position:absolute;border-radius:3px;width:14px;height:14px;background:var(--gold);box-shadow:0 4px 10px #0003}.c1{left:25px;top:21px}.c2{left:110px;top:38px}.c3{right:44px;top:494px;background:#276493}.c4{right:70px;bottom:108px;background:#7b8f55}.c5{left:56px;top:94px;background:#c96245}.c6{left:54px;bottom:260px;background:#84945c}.trail{position:absolute;left:174px;top:575px;width:90px;height:315px;z-index:1}.trail path{fill:none;stroke:var(--green);stroke-width:3;stroke-dasharray:8 9;stroke-linecap:round}.memories{position:relative;z-index:2;padding:35px 20px 22px}.memory{display:grid;grid-template-columns:145px 1fr;gap:18px;align-items:center;margin:24px 0}.memory:nth-child(even){grid-template-columns:1fr 142px}.memory:nth-child(even) .polaroid{order:2}.memory .polaroid{width:145px;height:145px}.paper{position:relative;background:#f8f2e7;padding:22px 18px;filter:drop-shadow(0 8px 10px #0002);clip-path:polygon(0 3%,100% 0,98% 92%,66% 97%,34% 93%,0 100%)}.paper h2{font-size:22px;margin:0 0 8px}.paper p{font-size:14px;line-height:1.65;margin:0}.star{position:absolute;right:18px;top:20px;color:#7f966b}footer{text-align:center;color:var(--green);font-weight:700;padding:10px 34px 38px;font-size:16px}@media (max-width:420px){.page{padding:0}.phone-frame{border-radius:0}.card{width:292px}.hero-photo{left:-30px}.photo-lightbox{padding:18px}.zoomed-polaroid{width:min(88vw,340px);height:min(88vw,340px)}.lightbox-close{top:14px;right:14px}.memory{grid-template-columns:128px 1fr;gap:12px}.memory .polaroid{width:128px;height:135px}}
