@font-face{font-family:Instrument;src:url('assets/serif.ttf') format('truetype');font-display:swap}@font-face{font-family:Instrument;src:url('assets/serif-italic.ttf') format('truetype');font-style:italic;font-display:swap}@font-face{font-family:Poppins;src:url('assets/sans.ttf') format('truetype');font-display:swap}@font-face{font-family:Poppins;src:url('assets/sans-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--paper:#fcf8f8;--ink:#502838;--accent:#c77c96;--blush:#eac4d3;--line:#eadce1;--muted:#805b6c;--serif:Instrument,Georgia,serif;--sans:Poppins,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;height:auto}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:var(--blush)}.wrap{max-width:1280px;width:calc(100% - 112px);margin-inline:auto}.header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.logo{width:175px}.header nav{display:flex;gap:37px;font-size:14px}.header nav a:hover,.text-link:hover{color:#a04d6a}.button{display:inline-flex;align-items:center;gap:32px;background:var(--ink);color:var(--paper);border-radius:100px;padding:17px 27px;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#713b51;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button.small{padding:12px 20px;gap:20px;font-size:13px}.hero{padding-top:66px;overflow:hidden;text-align:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 19px}.hero h1{font:112px/.92 var(--serif);letter-spacing:-3px;margin:0}em{font-weight:400;color:#b46683}.intro{font-size:15px;line-height:1.85;margin:26px 0 24px}.hero-copy{position:relative;z-index:2}.fan{height:486px;max-width:1160px;position:relative;margin:45px auto 0}.fan-card{position:absolute;padding:0;background:#fff;box-shadow:0 12px 25px #50283817;overflow:hidden;border-radius:3px;width:286px;transform-origin:50% 90%;transition:translate .3s,box-shadow .3s}.fan-card:hover{translate:0 -14px;box-shadow:0 18px 30px #50283825}.fan-card img{width:100%;aspect-ratio:3/4;object-fit:cover}.fan-left{left:calc(50% - 386px);top:49px;transform:rotate(-13deg);z-index:1}.fan-center{left:calc(50% - 148px);width:296px;top:5px;transform:rotate(3deg);z-index:3}.fan-right{left:calc(50% + 103px);top:55px;transform:rotate(13deg);z-index:2}.handwritten{font:italic 29px/1.12 var(--serif);color:var(--muted)}.note-left{position:absolute;left:0;top:48px;transform:rotate(-9deg);text-align:left}.note-right{position:absolute;right:-4px;top:20px;transform:rotate(8deg)}.note-right img{margin:auto;width:57px}.note-right p{font-size:25px;margin-top:9px}.hero-caption{font-size:11px;letter-spacing:2px;margin:0 0 54px}.templates{padding-top:76px;border-top:1px solid var(--line);padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}h2{font:66px/1.04 var(--serif);letter-spacing:-1.6px;margin:0}.section-heading>p{font-size:14px;color:var(--muted);margin:0 0 4px}.filters{display:flex;gap:33px;margin:38px 0 29px;border-bottom:1px solid var(--line)}.filters button{background:none;padding:0 0 15px;font-size:14px;color:var(--muted);position:relative}.filters button[aria-pressed=true]{color:var(--ink)}.filters button[aria-pressed=true]:after{content:'';height:2px;background:var(--accent);position:absolute;bottom:-1px;left:0;right:0}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.template-card{padding:0;background:none;text-align:left;min-width:0}.template-card[hidden]{display:none}.card-image{overflow:hidden;border-radius:7px;position:relative;background:var(--blush)}.card-image>img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .4s}.template-card:hover .card-image>img{transform:scale(1.025)}.preview-label{position:absolute;bottom:18px;left:50%;transform:translate(-50%,8px);white-space:nowrap;background:var(--paper);padding:10px 17px;border-radius:40px;font-size:12px;opacity:0;transition:.25s}.template-card:hover .preview-label,.template-card:focus-visible .preview-label{opacity:1;transform:translate(-50%,0)}.card-title{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.card-title h3{font-size:16px;font-weight:600;margin:0}.card-title>span{font-size:22px}.template-card>p{font-size:12px;color:var(--muted);margin:3px 0 0}.app-section{background:#f3e4e9;padding:84px 0 73px;overflow:hidden}.app-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.phone-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:42px}.phone{width:253px;border:7px solid #fffafb;outline:1px solid #e1ccd4;border-radius:37px;overflow:hidden;transform:rotate(-6deg);box-shadow:15px 22px 35px #50283816}.app-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:24px}.steps{list-style:none;padding:0;margin:30px 0}.steps li{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid #50283819}.steps li>span{font:24px var(--serif);color:#a8647e}.steps h3{font-size:14px;font-weight:600;margin:0 0 3px}.steps p{font-size:12px;color:var(--muted);margin:0}.text-link{display:inline-flex;gap:30px;border-bottom:1px solid var(--ink);font-size:14px;padding:3px 0 7px}.closing{text-align:center;padding-top:83px;padding-bottom:94px}.closing>img{margin:0 auto 22px;width:48px}.closing .eyebrow{font-size:11px}.closing h2{font-size:100px;margin-bottom:30px}.footer{border-top:1px solid var(--line);padding-top:28px;padding-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.footer p{color:var(--muted)}.footer a:last-child{font-size:12px}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:var(--paper);padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:24px;width:470px;max-width:calc(100vw - 28px);max-height:94dvh}dialog::backdrop{background:#30132199;backdrop-filter:blur(7px)}body:has(dialog[open]){overflow:hidden}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-heading .eyebrow{font-size:10px;margin-bottom:5px}.dialog-heading h2{font-size:38px}.close{background:none;border-radius:50%;font-size:30px;width:44px;height:44px}.slide-view{position:relative;display:flex;justify-content:center;background:#efe5e7;border-radius:5px;overflow:hidden}.slide-view>img{max-height:62dvh;width:auto;max-width:100%;object-fit:contain}.slide-control{position:absolute;top:calc(50% - 23px);width:44px;height:44px;border-radius:50%;background:var(--paper);font:34px/1 var(--serif);box-shadow:0 2px 10px #50283822}.previous{left:10px}.next{right:10px}.slide-footer{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-top:12px}.slide-footer p{margin:0}#slide-count{font-weight:600}
@media(min-width:1600px){.hero{padding-top:82px}.fan{margin-top:55px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.fan{max-width:880px}.note-left{left:10px;top:-10px;font-size:23px}.note-right{right:18px;top:-14px}.note-right p{font-size:21px}.fan-card{width:250px}.fan-left{left:calc(50% - 335px)}.fan-center{width:270px;left:calc(50% - 135px)}.fan-right{left:calc(50% + 90px)}.fan{height:440px}.section-heading h2{font-size:54px}.app-copy h2{font-size:58px}.template-card>p{font-size:11px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:82px;gap:12px}.header .logo{width:134px}.header nav{display:none}.header .small{font-size:11px;padding:10px 13px;gap:13px}.hero{padding-top:51px}.eyebrow{font-size:10px;letter-spacing:1.7px}.hero h1{font-size:83px;letter-spacing:-2px}.intro{font-size:13px;margin:22px 0}.hero .button{padding:14px 22px;font-size:13px}.fan{height:345px;margin-top:44px}.fan-card{width:195px}.fan-left{left:calc(50% - 260px);top:47px;transform:rotate(-14deg)}.fan-center{width:215px;left:calc(50% - 107px);top:5px}.fan-right{left:calc(50% + 65px);top:50px;transform:rotate(13deg)}.note-left,.note-right{display:none}.hero-caption{font-size:8px;letter-spacing:1.4px;margin-bottom:34px}.templates{padding-top:45px;padding-bottom:60px}.section-heading{display:block}.section-heading h2{font-size:48px}.section-heading>p{font-size:12px;margin-top:20px}.filters{gap:24px;margin:27px 0 23px;overflow-x:auto}.filters button{font-size:12px;white-space:nowrap}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 16px}.card-title{margin-top:11px}.card-title h3{font-size:12px}.card-title>span{font-size:17px}.template-card>p{font-size:10px;line-height:1.6}.preview-label{display:none}.app-section{padding:54px 0}.app-inner{grid-template-columns:1fr;gap:50px}.phone{width:220px}.app-copy{max-width:420px;margin:auto;width:100%}.app-copy h2{font-size:65px}.app-copy>p:not(.eyebrow){font-size:14px}.steps h3{font-size:15px}.steps p{font-size:13px}.closing{padding:58px 0 64px}.closing h2{font-size:75px}.closing .eyebrow{font-size:9px}.footer{flex-wrap:wrap;padding-top:24px;padding-bottom:24px;gap:15px}.footer img{width:120px}.footer p{font-size:10px}.footer a:last-child{width:100%;font-size:11px}.slide-footer{font-size:10px}dialog{padding:18px}.dialog-heading h2{font-size:33px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Keep small-screen labels and supporting copy readable. */
.intro,.app-copy>p:not(.eyebrow){font-size:16px}.template-card>p,.steps p,.footer,.footer p,.footer a:last-child,.hero-caption,.closing .eyebrow,.slide-footer{font-size:12px}.note-left{top:-9px}.note-right{top:-24px}
@media(max-width:760px){.hero h1{font-size:clamp(64px,19vw,83px)}.header .small{font-size:12px}.hero .button,.filters button,.card-title h3,.text-link{font-size:14px}.intro,.app-copy>p:not(.eyebrow){font-size:16px}.eyebrow,.hero-caption,.closing .eyebrow,.template-card>p,.footer p,.footer a:last-child,.slide-footer{font-size:12px}.hero-caption{padding:0 22px;letter-spacing:1px}.section-heading>p,.steps p{font-size:14px}.filters{gap:22px}.header .logo{width:125px}.button.small{gap:10px}}

/* The note stays in document flow, safely below the tilted phone. */
.phone-stage>.handwritten{position:static;margin:0;text-align:center;font-size:28px;line-height:1.2;transform:rotate(-4deg)}
.flower-loop{transform-origin:50% 50%;animation:flower-turn 28s linear infinite,flower-breathe 5.6s ease-in-out infinite}
.closing>.flower-loop{animation-direction:reverse,normal;animation-delay:-7s,-1.4s}
@keyframes flower-turn{to{rotate:360deg}}
@keyframes flower-breathe{0%,100%{scale:1}50%{scale:1.09}}
@media(max-width:760px){.phone-stage{gap:34px}.phone-stage>.handwritten{font-size:26px}}
@media(prefers-reduced-motion:reduce){.flower-loop{animation:none;rotate:none;scale:1}}

/* Legal and support pages: one readable column in the homepage palette. */
.legal{max-width:760px;margin:0 auto;padding:64px 0 96px}.legal h1{font:76px/1 var(--serif);letter-spacing:-2px;margin:0 0 14px}.legal .updated{color:var(--muted);font-size:13px;margin:0 0 40px}.legal h2{font:36px/1.1 var(--serif);letter-spacing:-.6px;margin:52px 0 14px}.legal h3{font-size:15px;font-weight:600;margin:28px 0 6px}.legal p,.legal li{font-size:15px;line-height:1.8}.legal ul{padding-left:20px}.legal li{margin:4px 0}.legal a{border-bottom:1px solid var(--accent)}.legal a:hover{color:#a04d6a}.legal .card{background:#f3e4e9;border-radius:14px;padding:22px 26px;margin:26px 0}.legal .card p{margin:4px 0}.legal table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}.legal th,.legal td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 12px 10px 0}.legal th{font-weight:600}.footer-links{display:flex;gap:22px}.footer-links a{font-size:12px}
@media(max-width:760px){.legal{padding:42px 0 64px}.legal h1{font-size:54px}.legal h2{font-size:30px}.legal table{font-size:13px}.legal th,.legal td{padding-right:8px}}
