:root{color-scheme:dark;--bg:#080b14;--surface:#121a29;--text:#f3f6ff;--muted:#b3bfd1;--cyan:#50e6ff;--pink:#ef94ff;--line:#33465c;font-family:Poppins,system-ui,sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:radial-gradient(ellipse at 80% 13%,#18314160,transparent 38%),var(--bg)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--pink);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}p{color:var(--muted);line-height:1.8;font-size:1rem}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.17;letter-spacing:-.045em}h1{font-size:clamp(2.5rem,4.25vw,4.8rem)}h2{font-size:clamp(2rem,3.15vw,3.5rem)}h3{font-size:1.35rem;letter-spacing:-.025em}.wrap{max-width:1240px;margin-inline:auto;padding-inline:2rem}.skip{position:absolute;top:0;left:1rem;z-index:10;transform:translateY(-130%);background:var(--cyan);color:#07121c;padding:1rem}.skip:focus{transform:none}.nav{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.7rem;font-size:1.18rem;font-weight:700;letter-spacing:-.04em}.light{font-weight:400}.nav nav{display:flex;align-items:center;gap:2rem}.how-link{font-size:.875rem;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.3rem;min-height:56px;padding:.95rem 1.3rem;border:1px solid transparent;border-radius:14px;font-size:.925rem;font-weight:600;text-align:center;transition:box-shadow .2s,background .2s}.button span{font-size:1.4rem;line-height:1}.primary{background:linear-gradient(110deg,#33bbff,var(--cyan));color:#051425;border-color:#7ceaff;box-shadow:0 0 25px #35bde51a,inset 0 0 1px #fff}.primary:hover{box-shadow:0 0 32px #35bde540}.outline{border-color:#365776;background:#121c2a99;box-shadow:inset 0 0 0 3px #66dfff05}.outline:hover{border-color:var(--cyan);background:#192b3c}.small{min-height:46px;padding:.6rem 1rem;font-size:.875rem}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:3.8rem;align-items:center;padding-block:3rem 6rem}.eyebrow{font-size:.875rem;line-height:1.5;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan);margin-bottom:1.35rem}h1 span{color:var(--cyan)}.lead{max-width:510px;margin-top:1.65rem;font-size:1.08rem}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.pilot-note{font-size:.875rem;max-width:470px;line-height:1.7;margin-top:1.5rem}.pilot-label{display:block;color:var(--pink);font-size:.75rem;font-weight:600;letter-spacing:.13em;margin-bottom:.3rem}.hero-visual{position:relative;padding:1.2rem 1.2rem 0 .8rem;min-width:0}.moment{position:relative;overflow:hidden;border:1px solid #65d8ed8c;border-radius:24px;padding:8px;background:#15263a;box-shadow:0 0 60px #54d7ff13}.main-moment{transform:rotate(3deg)}.main-moment img{width:100%;height:475px;object-position:center 43%;border-radius:17px}.moment figcaption{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem .8rem .7rem;font-size:.9rem}.frame-label{font-size:.75rem;color:var(--cyan);letter-spacing:.1em;white-space:nowrap}.effect-chip{position:absolute;left:-1.4rem;top:13%;border:1px solid #ab76c7;border-radius:10px;background:#272038;padding:.65rem 1rem;font-size:.875rem;box-shadow:0 9px 30px #0005;transform:rotate(-5deg)}.effect-chip span{color:var(--pink);font-size:1.4rem;margin-left:.4rem}.visual-caption{display:flex;flex-direction:column;gap:.2rem;margin:1.8rem 0 0 .6rem;font-size:.875rem;color:var(--muted)}.visual-caption strong{font-weight:500;color:var(--text)}.feature-line{border-block:1px solid var(--line);background:#11192788}.feature-line .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.5rem;font-size:.875rem;font-weight:500}.feature-line span[aria-hidden]{font-size:1.7rem;color:var(--cyan)}.steps{padding-block:6rem}.section-head{max-width:800px}.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.8rem;margin-top:3rem}.step-grid article{border-top:1px solid var(--line);padding-top:1.5rem}.step-number{display:block;color:var(--pink);font-size:2rem;font-weight:700;margin-bottom:1rem}.step-grid p{margin-top:1rem}.occasion{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:4.5rem;padding-block:1.5rem 6rem}.occasion-photo{overflow:hidden;border:1px solid #9c76bc;border-radius:20px;background:#201b2d;box-shadow:0 0 40px #965cbd14}.occasion-photo img{width:100%;aspect-ratio:1.2;object-position:45% center}.occasion-photo figcaption{padding:1rem 1.25rem;font-size:.875rem;line-height:1.65}.occasion p:not(.eyebrow){margin-top:1.4rem}.pink{color:var(--pink)}.text-link{display:inline-flex;align-items:center;gap:1.5rem;color:var(--cyan);margin-top:1.5rem;min-height:44px;font-weight:600}.closing{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-block:3.5rem;border-block:1px solid var(--line);background:linear-gradient(110deg,#13223470,#27193450);border-radius:24px}.closing>div{max-width:770px}.closing h2{font-size:clamp(1.7rem,2.6vw,2.65rem)}.closing p:not(.eyebrow){margin-top:1.4rem;max-width:640px}.closing .button{flex-shrink:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:2.5rem;flex-wrap:wrap}.footer p,.footer-note{font-size:.875rem}.footer-note{color:var(--muted)}
@media(min-width:1450px){.hero{padding-block:4.5rem 7rem}.main-moment img{height:530px}}
@media(max-width:1000px){.hero{gap:1.8rem;grid-template-columns:1.05fr .95fr}h1{font-size:clamp(2.1rem,4.8vw,3.5rem)}.main-moment img{height:410px}.effect-chip{left:-.5rem;top:8%;font-size:.8rem}.occasion{gap:2rem}.closing{margin-inline:2rem;flex-direction:column;align-items:flex-start}.step-grid{gap:1.5rem}.brand{font-size:1rem}.nav nav{gap:1rem}}
@media(max-width:700px){.wrap{padding-inline:1.35rem}.nav{min-height:84px;gap:.75rem}.brand{gap:.4rem;font-size:.95rem}.brand img{width:30px;height:30px}.how-link{display:none}.small{font-size:.8rem;min-height:44px;padding:.6rem .7rem;gap:.5rem}.hero{grid-template-columns:1fr;padding-block:2rem 3rem;gap:2rem}.eyebrow{font-size:.8rem;letter-spacing:.1em}h1{font-size:clamp(2.15rem,8.4vw,3.7rem)}.lead{font-size:1rem}.actions{gap:.7rem}.actions .button{flex:1 1 170px}.hero-visual{max-width:470px;width:100%;margin-inline:auto;padding-inline:1rem}.main-moment img{height:auto;aspect-ratio:1.04;object-position:center 41%}.main-moment{transform:rotate(2deg)}.effect-chip{left:0;top:12%}.visual-caption{margin-top:1.5rem}.feature-line .wrap{flex-wrap:wrap;justify-content:center;gap:.8rem 1.1rem}.feature-line span[aria-hidden]{display:none}.feature-line span:not([aria-hidden]){border-left:2px solid var(--cyan);padding-left:.65rem}.steps{padding-block:3.5rem}.step-grid{grid-template-columns:1fr;gap:1.75rem;margin-top:2rem}.step-number{font-size:1.5rem;margin-bottom:.7rem}.occasion{grid-template-columns:1fr;gap:2rem;padding-block:0 3.5rem}.occasion-photo img{aspect-ratio:1.3}.occasion h2 br{display:none}.occasion h2 span:before{content:' '}.closing{margin-inline:1.35rem;gap:1.5rem;padding:2rem 1.35rem;border-radius:18px}.closing .button{width:100%;flex-shrink:1}.footer{gap:1rem;padding-block:2rem;align-items:flex-start;flex-direction:column}.footer-note{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Let the responsive aspect ratio override the image's intrinsic HTML height. */
.occasion-photo img{height:auto}
/* Native comparison controls keep the demo usable without JavaScript or API calls. */
.photo-demo{position:relative}
.demo-check{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.demo-stage{position:relative;overflow:hidden;border-radius:17px}
.occasion-photo .demo-stage{border-radius:0}
.demo-original,.demo-back{display:none}
.demo-check:checked~.demo-stage .demo-result{display:none}
.demo-check:checked~.demo-stage .demo-original{display:block}
.demo-check:checked~.demo-toggle .demo-show{display:none}
.demo-check:checked~.demo-toggle .demo-back{display:inline}
.demo-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.65rem 1rem;margin:.75rem .5rem 0;border:1px solid #65d8ed8c;border-radius:12px;background:#101d2c;color:var(--cyan);font-size:.875rem;font-weight:600;text-align:center;cursor:pointer;touch-action:manipulation}
.demo-toggle:hover{background:#192b3c;border-color:var(--cyan)}
.demo-check:focus-visible~.demo-toggle{outline:3px solid var(--pink);outline-offset:3px}
.occasion-photo .demo-toggle{margin-inline:1rem}
