@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Parisienne&display=swap');
:root{--coral:#D95D62;--raspberry:#B94350;--plum:#492F45;--ink:#292A27;--ivory:#FFFDF8;--blush:#FCE9E6;--sage:#82A98A;--butter:#F5D77A;--sky:#A8D8E8;--line:#DED5CC;--white:#fff;--shadow:rgba(73,47,69,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.65}h1,h2,h3{color:var(--plum);font-family:'Cormorant Garamond',Georgia,serif;line-height:1.02;margin:.25em 0}a{color:var(--raspberry)}
.testing-banner{background:var(--plum);color:#fff;text-align:center;padding:9px 18px;font-size:.82rem;letter-spacing:.01em}.site-head{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);background:rgba(255,253,248,.96);position:sticky;top:0;z-index:10}.brand{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:700;color:var(--plum);text-decoration:none}.brand span{font-family:Parisienne,cursive;font-weight:400;color:var(--coral)}.site-head nav{display:flex;gap:24px;align-items:center}.site-head nav a{color:var(--plum);text-decoration:none;font-size:.9rem;font-weight:600}.site-head nav a[aria-current="page"]{color:var(--raspberry);text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--coral);color:#fff!important;padding:14px 25px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 8px 20px rgba(217,93,98,.2);transition:.2s ease}.button:hover{background:var(--raspberry);transform:translateY(-1px)}.button.small{padding:9px 17px}.button.full{width:100%}
.hero{min-height:720px;background:radial-gradient(circle at 8% 15%,rgba(245,215,122,.48),transparent 19%),radial-gradient(circle at 88% 18%,rgba(168,216,232,.5),transparent 22%),linear-gradient(125deg,var(--ivory) 0 58%,var(--blush) 58%);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;padding:80px 8vw;gap:7vw;overflow:hidden}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(3.5rem,6vw,6.7rem);max-width:820px;text-wrap:balance}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#5e8065;font-size:.76rem;font-weight:800}.lead{font-size:1.12rem;max-width:670px}.hero-actions{display:flex;gap:24px;align-items:center;margin:32px 0}.text-link{color:var(--raspberry);font-weight:700}.trust{display:flex;flex-wrap:wrap;gap:9px 20px;font-size:.82rem;font-weight:600}.trust span:before{content:'✓';color:#52765a;font-weight:bold;margin-right:7px}.hero-card{background:var(--white);padding:14px;box-shadow:0 30px 70px var(--shadow);transform:rotate(1deg);border-radius:18px}.photo-placeholder{height:430px;border-radius:12px;background:linear-gradient(0deg,rgba(28,20,18,.68) 0%,rgba(28,20,18,.10) 55%,transparent 72%),url('woman-wedding-message.webp?v=2') center 34%/cover no-repeat;display:flex;align-items:flex-end;padding:30px}.photo-placeholder span{max-width:92%;font-family:Parisienne,cursive;font-size:clamp(1.55rem,2.3vw,2rem);line-height:1.3;color:white;text-shadow:0 2px 8px rgba(24,16,14,.75)}.player{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:20px 10px 10px}.player button{border:0;border-radius:50%;width:42px;height:42px;background:var(--coral);color:white}.wave{color:var(--sage);letter-spacing:3px}
.intro{text-align:center;max-width:860px;margin:0 auto;padding:110px 25px}.script{font-family:Parisienne,cursive;color:var(--coral);font-size:2rem;margin:0}.intro h2,.feature h2,.purchase h2{font-size:clamp(2.5rem,4vw,4.5rem)}.intro>p:last-child{font-size:1.1rem}.steps{background:linear-gradient(125deg,#729b7b,var(--sage));color:white;padding:90px 8vw;display:grid;grid-template-columns:repeat(3,1fr);gap:7vw}.steps b{font-family:'Cormorant Garamond';font-size:3rem;color:var(--butter)}.steps h3{font-size:2rem;color:white}.feature{padding:110px 9vw;display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:center;background:var(--ivory)}.feature li{margin:12px 0}.feature blockquote{font-family:'Cormorant Garamond';font-size:2.7rem;line-height:1.2;color:var(--plum);border-left:5px solid var(--coral);padding:25px 0 25px 35px;background:linear-gradient(90deg,var(--blush),transparent)}.purchase{background:linear-gradient(145deg,var(--blush),#fff7df);padding:100px 9vw;display:grid;grid-template-columns:.8fr 1fr;gap:9vw}.purchase form,.card,.account-card{background:white;border:1px solid var(--line);box-shadow:0 18px 50px var(--shadow);border-radius:18px}.purchase form{padding:36px}.purchase label,.account-card label{display:block;font-size:.88rem;font-weight:700;margin-bottom:17px}.purchase label span,.purchase small,.account-card small,.fine{font-weight:400;color:#51534e}.purchase input,.account-card input,.card input,.card textarea{width:100%;border:2px solid #b8aaa0;border-radius:8px;font:inherit;padding:12px;margin-top:6px;background:#fff;color:var(--ink)}input::placeholder,textarea::placeholder{color:#62655f;opacity:1}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.purchase .check{display:grid;grid-template-columns:20px 1fr;gap:10px}.purchase .check input{width:auto}.purchase .button{width:100%;font-size:1rem}
footer{background:var(--plum);color:#fff8f4;padding:60px 8vw;display:grid;grid-template-columns:2fr 3fr 1fr;gap:25px;align-items:center}footer .brand,footer a{color:white}footer small{grid-column:1/-1;color:#eee7ea}.footer-links{display:grid;gap:7px;justify-items:start}.footer-links a{font-weight:700}
.contact-page{min-height:calc(100vh - 120px);padding:90px 8vw;background:radial-gradient(circle at 10% 14%,rgba(245,215,122,.48),transparent 22%),radial-gradient(circle at 88% 10%,rgba(168,216,232,.48),transparent 23%),linear-gradient(150deg,var(--ivory),var(--blush));display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:start}.contact-intro{padding-top:34px}.contact-intro h1{font-size:clamp(3.8rem,7vw,6.5rem)}.contact-lead{font-size:1.2rem;max-width:630px}.contact-direct{margin-top:34px;padding:22px;border-left:5px solid var(--sage);background:rgba(255,255,255,.72);display:grid;gap:3px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(25px,4vw,44px);box-shadow:0 24px 65px var(--shadow)}.contact-card h2{font-size:clamp(2.4rem,4vw,3.6rem);margin-top:0}.contact-card label{display:block;font-size:.9rem;font-weight:700;margin-bottom:18px}.contact-card label span{color:var(--raspberry)}.contact-card input,.contact-card select,.contact-card textarea{width:100%;border:2px solid #b8aaa0;border-radius:9px;font:inherit;padding:12px;margin-top:6px;background:#fff;color:var(--ink)}.contact-card textarea{resize:vertical}.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus{outline:3px solid rgba(217,93,98,.18);border-color:var(--coral)}.captcha{border:1px solid var(--line);border-radius:12px;background:#fffaf1;padding:18px;margin:24px 0}.captcha legend{font-weight:800;color:var(--plum);padding:0 6px}.captcha label{margin:0}.captcha input{max-width:180px}.captcha small{display:block;color:#555850}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.account-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 18%,rgba(245,215,122,.55),transparent 22%),radial-gradient(circle at 85% 15%,rgba(168,216,232,.55),transparent 24%),var(--blush)}.account-card{width:min(520px,100%);padding:44px}.account-card h1{font-size:3.4rem}.account-card form{margin-top:22px}.account-link{text-align:center;margin:20px 0 0}.form-message{padding:14px 16px;border-radius:10px}.form-message.success{background:#e7f4e9;border:1px solid #9dc5a4;color:#285b31}.form-message.error{background:#fff0ee;border:1px solid #d99d99;color:#821e25}
.dashboard-page{background:linear-gradient(180deg,var(--blush),var(--ivory) 360px)}.dash{max-width:1200px;margin:auto;padding:35px 22px}.top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-welcome{padding:35px 0 12px}.dashboard-welcome h1{font-size:clamp(3rem,6vw,5.3rem)}.card{padding:30px;margin:24px 0}.card h2{font-size:2.5rem}.share{display:grid;grid-template-columns:1fr 190px;gap:30px}.url{display:flex;gap:8px}.url input{flex:1;margin:0}.qr{background:white;padding:10px;border-radius:12px}.message-list{display:grid;gap:14px;margin-top:24px}.message-card{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,auto);align-items:center;gap:25px;padding:20px;border:1px solid var(--line);border-left:6px solid var(--sage);border-radius:14px;background:linear-gradient(90deg,#fff,var(--blush))}.message-person{display:grid;gap:3px}.message-person>strong{font-family:'Cormorant Garamond';font-size:1.65rem;color:var(--plum)}.message-person span,.message-person small{color:#555850}.complete-control{display:grid;justify-items:start;gap:6px}.play-status{font-size:.82rem;color:#555850}.prompt{display:grid;grid-template-columns:80px 1fr 1.5fr 145px;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}.prompt textarea{min-height:82px;margin-bottom:8px}.checks{display:flex;gap:8px;align-items:center;margin-top:8px}.checks input{width:auto;margin:0}.order-field{font-size:.8rem;font-weight:700}.prompt-actions{display:grid;gap:8px}.danger{background:#fff;color:#8b1e2a;border:1px solid #c77b82;border-radius:999px;padding:10px 15px;cursor:pointer}
@media(max-width:800px){.site-head{height:92px;padding:0 4vw;justify-content:center}.site-head .brand{display:block;width:100%;font-size:clamp(2.15rem,9.5vw,2.8rem);line-height:1;letter-spacing:-.02em;text-align:center;white-space:nowrap}.site-head .brand span{font-size:1.08em}.site-head nav{display:none}.hero,.feature,.purchase{grid-template-columns:1fr}.hero{min-height:auto;padding:55px 6vw 70px;background:radial-gradient(circle at 92% 8%,rgba(168,216,232,.55),transparent 20%),radial-gradient(circle at 8% 22%,rgba(245,215,122,.48),transparent 20%),linear-gradient(160deg,var(--ivory),var(--blush))}.hero h1{font-size:clamp(2.85rem,13vw,4.35rem);line-height:.94;max-width:12ch;overflow-wrap:normal;word-break:normal;text-wrap:balance}.hero-actions{align-items:flex-start;flex-direction:column}.hero-card{margin-top:15px;transform:none}.steps{grid-template-columns:1fr}.photo-placeholder{height:310px}.two{grid-template-columns:1fr}footer{grid-template-columns:1fr}.purchase{padding:70px 5vw}.purchase form{padding:24px}.top{align-items:flex-start;flex-direction:column}.share{grid-template-columns:1fr}.message-card{grid-template-columns:1fr}.complete-control .button{width:100%}.prompt{grid-template-columns:1fr}.order-field{max-width:100px}.url{display:grid}.account-card{padding:30px 24px}.account-card h1{font-size:2.8rem}.contact-page{grid-template-columns:1fr;padding:50px 6vw 70px;gap:35px}.contact-intro{padding-top:0}.contact-intro h1{font-size:3.6rem}.contact-card{padding:25px 20px}.testing-banner{font-size:.75rem}}
@media(max-width:800px){.site-head{height:92px;padding:0 4vw;justify-content:center}.site-head .brand{display:block;width:100%;font-size:clamp(2.15rem,9.5vw,2.8rem);line-height:1;letter-spacing:-.02em;text-align:center;white-space:nowrap}.site-head .brand span{font-size:1.08em}.site-head nav{display:none}.hero,.feature,.purchase{grid-template-columns:1fr}.hero{min-height:auto;padding:28px 6vw 70px;background:radial-gradient(circle at 92% 8%,rgba(168,216,232,.55),transparent 20%),radial-gradient(circle at 8% 22%,rgba(245,215,122,.48),transparent 20%),linear-gradient(160deg,var(--ivory),var(--blush))}.hero h1{font-size:clamp(2.85rem,13vw,4.35rem);line-height:.94;max-width:12ch;overflow-wrap:normal;word-break:normal;text-wrap:balance}.hero-actions{align-items:flex-start;flex-direction:column}.hero-card{margin-top:15px;transform:none}.steps{grid-template-columns:1fr}.photo-placeholder{height:310px}.two{grid-template-columns:1fr}footer{grid-template-columns:1fr}.purchase{padding:70px 5vw}.purchase form{padding:24px}.top{align-items:flex-start;flex-direction:column}.share{grid-template-columns:1fr}.message-card{grid-template-columns:1fr}.complete-control .button{width:100%}.prompt{grid-template-columns:1fr}.order-field{max-width:100px}.url{display:grid}.account-card{padding:30px 24px}.account-card h1{font-size:2.8rem}}

/* Center the visual storytelling sections on phones. */
@media(max-width:800px){
  .hero-card{width:100%;max-width:560px;min-width:0;margin:15px auto 0;justify-self:center;overflow:hidden}
  .photo-placeholder{background-position:center center;text-align:center;justify-content:center}
  .photo-placeholder span{max-width:95%;text-align:center}
  .player{grid-template-columns:42px minmax(0,1fr) auto;width:100%;min-width:0}
  .player>div{min-width:0}
  .player strong{display:block;overflow-wrap:anywhere}
  .wave{max-width:100%;overflow:hidden;white-space:nowrap}
  .feature blockquote{width:100%;margin:30px auto 0;padding:28px 18px;border-left:0;border-top:5px solid var(--coral);text-align:center;background:linear-gradient(180deg,var(--blush),transparent)}
}
