*{box-sizing:border-box}body{margin:0;background:#180f1d;color:#fcf5ec;font-family:Arial,sans-serif;background-image:radial-gradient(ellipse at 80% 35%,#642b3a66,transparent 50%),radial-gradient(ellipse at 0 90%,#41234588,transparent 50%)}.shell{max-width:1160px;margin:auto;padding:0 40px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:32px 0;border-bottom:1px solid #d5b78026}.brand{font-family:Georgia,serif;letter-spacing:3px;font-size:21px;text-decoration:none;color:#f1d6a0}.brand span{font-style:italic}.test{font-size:11px;letter-spacing:.5px;color:#d2babd;border:1px solid #dcc08933;padding:9px 13px;border-radius:20px}main{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:64px 0}.eyebrow{font-size:11px;letter-spacing:3px;color:#d5b780;margin:0 0 22px}h1{font-family:Georgia,serif;font-weight:400;font-size:54px;line-height:1.1;letter-spacing:-1px;margin:0 0 24px}h1 em{color:#efd297;font-weight:400}.lead{color:#cdbdc7;font-size:16px;line-height:1.7;margin-bottom:32px}label{display:block;font-weight:bold;font-size:14px;margin-bottom:12px}input{width:100%;background:#ffffff09;color:white;border:1px solid #cbb49755;border-radius:10px;padding:18px;font-size:18px;outline:none}input:focus{border-color:#e8ca91;box-shadow:0 0 0 3px #e8ca9122}input::placeholder{color:#a99ba9}.hint,.privacy,.preview-note{color:#a99ba9;font-size:12px;line-height:1.6}.hint{margin:9px 0 20px}button,.download{font-family:inherit;font-size:15px;border-radius:10px;padding:17px 18px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;font-weight:bold}#generate{width:100%;border:0;color:#291a20;background:linear-gradient(110deg,#f1d9a7,#dcb56e);display:flex;justify-content:space-between;align-items:center}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #ffe3aa;outline-offset:4px}#status{font-size:14px;line-height:1.5;color:#f1d9a7;min-height:20px;margin-bottom:8px}progress{width:100%;height:6px;accent-color:#e1bc7a}.specs{display:flex;flex-wrap:wrap;gap:16px;color:#d6c6cd;font-size:11px;padding:16px 0 25px}.specs span+span:before{content:'·';margin-right:16px;color:#dcb56e}details{font-size:13px;color:#d6c6cd;border-top:1px solid #d5b78026;padding-top:18px}summary{cursor:pointer;color:#e9cf9f}details p{line-height:1.8}.privacy{font-size:10px;max-width:400px;margin-top:22px}.preview{width:100%;max-width:360px;justify-self:center}.phone{aspect-ratio:9/16;overflow:hidden;border-radius:22px;border:1px solid #e9c8894a;background:linear-gradient(#37232a,#1e181d);text-align:center;box-shadow:0 28px 90px #0006;position:relative;display:flex;flex-direction:column;align-items:center}.card-brand{font-family:Georgia,serif;color:#e7c48c;font-size:11px;letter-spacing:3px;margin:40px 0 26px}.phone h2{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.25;color:#f5dca9;margin:0 20px 26px;overflow-wrap:anywhere}.phone h2 span{color:white}.phone img{width:100%;height:auto}.card-message{font-family:Georgia,serif;font-size:20px;line-height:1.5;color:#e9d5bc;margin:25px 10px}.card-footer{font-size:10px;letter-spacing:2px;color:#c6ac82;margin-top:auto;margin-bottom:30px}video{width:100%;aspect-ratio:9/16;border-radius:18px;background:#0b070c;box-shadow:0 28px 90px #0006}.preview-note{text-align:center;font-size:10px;margin-top:18px}#result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}#result-actions>*{flex:1;font-size:12px;padding:14px 10px}.download{background:#e8ca91;color:#291a20}.secondary{border:1px solid #cbb49755;background:transparent;color:#f1d9a7}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d5b78026;padding:24px 0;color:#9f8d9c;font-size:11px}[hidden]{display:none!important}@media(max-width:800px){.shell{padding:0 22px}header{padding:22px 0}.brand{font-size:16px;letter-spacing:2px}.test{font-size:9px;max-width:145px;text-align:center}main{grid-template-columns:1fr;gap:38px;padding:42px 0}h1{font-size:44px}.intro{max-width:510px;margin:auto;width:100%}.preview{max-width:330px}footer{font-size:10px}}@media(prefers-reduced-motion:no-preference){#generate:hover{filter:brightness(1.07)}}
/* The preview now mirrors the full-frame portrait export, with no letterbox panels. */
.phone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.phone h2{position:absolute;top:11.3%;left:0;right:0;margin:0 18px;font-size:24px;text-shadow:0 2px 5px #000b;z-index:1}

#language{display:block;width:100%;padding:14px 16px;margin:0 0 22px;border:1px solid #cbb49755;border-radius:10px;background:#291c2d;color:#fcf5ec;font:16px Arial,sans-serif;color-scheme:dark}#language:focus-visible{outline:3px solid #e8ca9155;outline-offset:2px}#language:disabled{opacity:.6}

/* Two-step introduction; generation and video layout remain independent. */
.steps{padding-top:28px}.steps ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px}.steps li{display:flex;align-items:center;gap:12px;color:#aa98a6;font-size:14px;white-space:nowrap}.steps li:first-child{flex:1}.steps li:first-child:after{content:"";height:1px;background:#d5b78040;flex:1;margin-left:12px}.step-number{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d5b78055;border-radius:50%;font-weight:bold;flex:none}.steps [aria-current=step]{color:#fcf5ec}.steps [aria-current=step] .step-number,.steps .complete .step-number{background:#e8c583;border-color:#e8c583;color:#291a20}.steps .complete{color:#e8c583}main{padding-top:40px;align-items:start}.preview{margin-top:8px}.greeting-info{border-left:2px solid #dcb56e;padding-left:20px;margin-bottom:26px}.step-caption{font-size:10px;font-weight:bold;letter-spacing:1.8px;color:#dcb56e;margin:0 0 13px}.greeting-info h2{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 13px}.greeting-info p:not(.step-caption){font-size:14px;line-height:1.7;color:#d6c6cd;margin:0 0 10px}.greeting-info .greeting-end{color:#efd297!important}.consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;font-weight:400;line-height:1.65;margin:0}.consent input{width:19px;height:19px;flex:none;padding:0;margin:3px 0 0;accent-color:#e8c583;cursor:pointer}.policy-note{font-size:12px;color:#aa98a6;margin:10px 0 22px 31px}.policy-note a{color:#e8c583;text-underline-offset:3px}.primary{width:100%;border:0;color:#291a20;background:linear-gradient(110deg,#f1d9a7,#dcb56e);display:flex;justify-content:space-between;align-items:center}#welcome-status{font-size:14px;line-height:1.5;color:#f1d9a7;min-height:20px;margin-bottom:0}.step-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.step-heading .step-caption{margin:0}.back{border:0;background:transparent;color:#e8c583;font-size:12px;padding:10px 0}.greeting-info h2:focus,.step-caption:focus{outline:none}input{min-width:0}input[type=email]{font-size:16px}.intro{min-width:0}
@media(max-width:800px){.steps{padding-top:24px}.steps ol{gap:12px}.steps li{font-size:12px;gap:8px}.steps li:first-child:after{margin-left:4px}.step-number{width:32px;height:32px}main{padding-top:32px}.greeting-info{padding-left:16px}.greeting-info h2{font-size:22px}.lead{margin-bottom:26px}.preview{margin-top:0}}
@media(max-width:380px){.steps li{font-size:11px}.steps ol{gap:8px}.shell{padding:0 18px}h1{font-size:39px}}

/* Embeds fill their WordPress container and report their natural content height. */
body.embedded .shell{max-width:1160px}body.embedded{overflow-x:hidden;background:transparent;background-image:none}

/* Email confirmation stays inside step 1. */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#verification-form h2{font-family:Georgia,serif;font-size:26px;margin:0 0 16px}
#verification-form .hint{overflow-wrap:anywhere;line-height:1.6}
#email-code{font-size:24px;letter-spacing:.3em}
#verification-form .primary{margin-top:20px}
.verification-links{display:flex;justify-content:space-between;gap:16px;margin-top:20px;flex-wrap:wrap}
#welcome-status{font-size:14px;line-height:1.6;color:#efd38f}
.back:disabled{opacity:.5;cursor:wait}

/* Keep the embedded greeting below the site's fixed navigation, including step progress. */
body.embedded .shell{padding-top:88px}
@media(max-width:800px){body.embedded .shell{padding-top:72px}}
