@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#fbf8f4;--panel:#fffdf9;--ink:#392f2b;--muted:#87766e;--line:#e7ded5;--accent:#79485a;--soft:#f3e8e7;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b1748b;outline-offset:4px}.nav{height:96px;margin:0 auto;max-width:1360px;padding:0 58px;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:25px;letter-spacing:-1.2px}.brand span{color:var(--accent)}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;font-weight:500}.nav nav{display:flex;gap:30px;margin-left:auto;align-items:center;font-size:12px}.small-cta{background:var(--accent);color:#fff;border-radius:6px;padding:13px 18px;font-size:12px}.theme{background:none;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;font-size:19px}.text-button{background:none;border:0;padding:0;color:var(--muted);font-size:11px}.hero{max-width:1244px;margin:0 auto;padding:56px 0 40px;display:grid;grid-template-columns:1fr 1.03fr;gap:55px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--accent);font-weight:600;margin:0 0 20px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:66px;font-weight:400;line-height:1.12;letter-spacing:-2px;margin-bottom:24px}em{font-weight:400;color:var(--accent)}.intro{line-height:1.8;color:var(--muted);font-size:15px;margin-bottom:26px}.primary{background:var(--accent);color:white;border:0;border-radius:6px;padding:17px 24px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-weight:500;font-size:13px}.hero-note{font-size:10px;color:var(--muted);margin:19px 0 0;letter-spacing:.2px}.hero-photo{position:relative;aspect-ratio:1/1.03;background:#dfcfb8;border-radius:170px 170px 12px 12px;overflow:hidden}.photo{background-image:url('/cake/assets/proceso.png');background-size:300% 300%;background-position:var(--pos);background-repeat:no-repeat}.hero-cake{width:100%;height:100%}.photo-label{position:absolute;top:30px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px;white-space:nowrap;background:#ffffffb0;padding:10px 15px;border-radius:30px}.hero-tag{position:absolute;bottom:30px;left:30px;background:#fffdf4ef;padding:18px 24px;font-size:12px;line-height:1.6;transform:rotate(-5deg);box-shadow:0 8px 22px #3b251a12}.hero-tag em{font:italic 23px var(--serif)}.occasion{max-width:1244px;margin:0 auto 72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:flex;align-items:center;gap:25px}.occasion>span{font-size:12px}.occasion>div{display:flex;gap:10px}.occasion button{border:1px solid var(--line);border-radius:30px;background:none;padding:10px 20px;font-size:11px}.occasion button.active{background:var(--soft);border-color:#d9bfc9;color:var(--accent)}.studio-section,.inspiration,.how{max-width:1244px;margin:0 auto 85px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}.section-heading .eyebrow{margin-bottom:10px}h2{font:400 39px/1.2 var(--serif);letter-spacing:-.9px;margin-bottom:0}.section-heading>p,.section-heading>span{color:var(--muted);font-size:12px;margin-bottom:7px}.studio{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr;background:var(--panel)}.visual-panel{padding:23px;background:#f1eae1;border-right:1px solid var(--line)}.visual-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:9px;letter-spacing:1.2px}.visual-header i{display:inline-block;width:6px;height:6px;background:#799377;border-radius:50%;margin-right:6px}.scene{position:relative;aspect-ratio:1;border-radius:9px;overflow:hidden;isolation:isolate}.scene>.photo{position:absolute;inset:0;transition:opacity .2s}.scene-badge{position:absolute;top:17px;left:17px;background:#fffdf5db;padding:8px 12px;border-radius:20px;font-size:10px;z-index:3}.empty-caption{position:absolute;bottom:26px;left:0;width:100%;text-align:center;background:linear-gradient(transparent,#eee3d5dd);padding:25px 0 0;color:#46372f}.empty-caption strong{display:block;font:400 23px var(--serif);margin-bottom:7px}.empty-caption span{font-size:11px}.tint{position:absolute;inset:0;mask-image:url('/cake/assets/mascara.png');mask-size:300% 300%;mask-position:var(--pos);mask-mode:luminance;mask-repeat:no-repeat;mix-blend-mode:multiply;background:var(--cake-color,transparent);pointer-events:none}.personal-label{position:absolute;left:25%;top:42%;width:50%;text-align:center;font:italic 25px var(--serif);color:#68402b;transform:rotate(-3deg);text-shadow:0 1px #ffffff90;z-index:2}.personal-label small{display:block;font:14px var(--sans);margin-top:3px}.live-status{display:flex;align-items:center;justify-content:space-between;margin:17px 0;color:var(--muted);font-size:11px}.live-status>div{display:flex;align-items:center;gap:8px}.status-dot{background:#799377;border-radius:50%;width:6px;height:6px}.filmstrip{display:flex;gap:7px}.film-item{flex:1;min-width:0;border:0;background:none;padding:0;opacity:.4}.film-item.done{opacity:1}.film-item.current .film-photo{outline:2px solid var(--accent);outline-offset:2px}.film-photo{aspect-ratio:1.35;border-radius:5px;width:100%}.film-item span{display:block;margin-top:6px;font-size:8px}.visual-actions{display:flex;align-items:center;justify-content:space-between;margin-top:21px;gap:10px}.outline{border:1px solid #b8a39c;border-radius:5px;background:transparent;padding:11px 14px;font-size:11px}.visual-actions>span{font-size:9px;color:var(--muted)}.controls{display:flex;flex-direction:column;min-width:0}.step-nav{padding:22px 25px 16px;border-bottom:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.step-nav button{border:0;background:none;color:var(--muted);font-size:9px;padding:7px 9px;border-radius:20px}.step-nav button.active{background:var(--accent);color:white}.step-nav button.complete{color:var(--accent)}.control-content{padding:30px;flex:1;min-height:350px}.step-overline{color:var(--accent);font-size:9px;letter-spacing:1.5px;margin-bottom:10px}.control-content h3{font:400 29px var(--serif);margin-bottom:10px}.helper{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:24px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:11px}.choice{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:17px;position:relative;min-height:93px}.choice.selected{border-color:var(--accent);background:var(--soft);box-shadow:0 0 0 1px var(--accent)}.choice strong{display:block;font-size:13px;margin-bottom:6px;font-weight:500}.choice small{display:block;font-size:10px;color:var(--muted);line-height:1.5}.choice .choice-price{color:var(--accent);font-size:11px;margin-top:12px}.choice.selected:after{content:'✓';position:absolute;right:10px;top:10px;color:var(--accent)}.choice .flavor-preview{height:70px;border-radius:3px;margin-bottom:12px;background-position:50% 50%}.color-choices{display:flex;gap:17px;flex-wrap:wrap;margin:20px 0}.color-choice{border:0;background:none;padding:0;font-size:10px;width:48px}.color-choice i{display:block;width:42px;height:42px;border-radius:50%;background:var(--swatch);border:1px solid #0001;margin:0 auto 9px}.color-choice.selected i{outline:2px solid var(--accent);outline-offset:4px}.price-bar{padding:22px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center;background:var(--panel)}.price-bar span{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.price-bar strong{display:block;font-size:24px;font-weight:500;letter-spacing:-.7px}.price-bar small{display:block;font-size:8px;color:var(--muted);margin-top:6px}.next{padding:13px 18px;font-size:11px;white-space:nowrap;gap:0}.demo-note{color:var(--muted);font-size:10px;line-height:1.6;margin-top:14px}.templates{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.templates article{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}.template-image{aspect-ratio:1.2}.blush{position:relative}.blush:after{content:'';position:absolute;inset:0;background:#efb5c2;mix-blend-mode:multiply;mask-image:url('/cake/assets/mascara.png');mask-size:300% 300%;mask-position:50% 100%;mask-mode:luminance}.chocolate{background-image:url('/cake/assets/chocolate.png')}.template-info{padding:22px}.template-info small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.template-info h3{font:23px var(--serif);margin:10px 0}.template-info p{font-size:11px;color:var(--muted);line-height:1.6}.template-info button{background:none;border:0;color:var(--accent);padding:12px 0 0;font-size:11px}.how{text-align:center;border-top:1px solid var(--line);padding-top:55px}.how>div{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;margin:43px 30px 0}.how b{font:italic 30px var(--serif);color:#b7909a}.how h3{font:24px var(--serif);margin:14px 0}.how p{color:var(--muted);font-size:12px;line-height:1.8}.celebrate{text-align:center;background:var(--soft);padding:50px 20px}.celebrate h2{margin-bottom:18px}.celebrate>p:not(.eyebrow){font-size:12px;color:var(--muted)}footer{max-width:1244px;margin:auto;padding:35px 0;display:flex;justify-content:space-between;align-items:center}footer p,footer>span{font-size:10px;color:var(--muted);margin:0}dialog{border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);width:min(590px,92vw);max-height:85vh;padding:35px}dialog::backdrop{background:#25170f80;backdrop-filter:blur(3px)}.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:27px}dialog h2{font-size:30px;margin-bottom:20px}.saved-item{border-bottom:1px solid var(--line);padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.saved-item strong{font-size:13px}.saved-item p{font-size:11px;color:var(--muted);margin:7px 0 0}.saved-item button{border:0;background:var(--soft);padding:8px;font-size:10px;border-radius:3px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:14px 24px;border-radius:8px;font-size:12px;z-index:10;max-width:90vw}label.field{display:block;font-size:11px;margin:19px 0}label.field input,label.field select{display:block;margin-top:8px;width:100%;border:1px solid var(--line);border-radius:5px;padding:12px;background:var(--panel);color:var(--ink)}.summary-list{list-style:none;padding:0;margin:20px 0}.summary-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;gap:15px}.summary-list li span{color:var(--muted)}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.inline-note{background:var(--soft);padding:14px;font-size:11px;line-height:1.7;border-radius:5px;margin:17px 0}.field-error{color:#a34444;font-size:11px}.dark{--bg:#241e1d;--panel:#302827;--ink:#f1e4d9;--muted:#b9a69b;--line:#51423d;--accent:#d5a2b4;--soft:#45333a}.dark .primary,.dark .small-cta,.dark .step-nav button.active{color:#241e1d}.dark .visual-panel{background:#372e29}.dark .hero-tag{color:#392f2b}
@media(min-width:1500px){.hero,.occasion,.studio-section,.inspiration,.how,footer{max-width:1244px}}@media(max-width:1340px){.hero,.occasion,.studio-section,.inspiration,.how,footer{margin-left:5%;margin-right:5%}.hero{gap:35px}h1{font-size:59px}.nav{padding:0 5%}}@media(max-width:850px){.nav{height:78px;gap:14px}.nav nav>a{display:none}.nav nav{gap:0}.small-cta{display:none}.brand{font-size:22px}.hero{padding-top:35px;gap:22px}h1{font-size:44px}.intro{font-size:12px}.hero-tag{padding:12px;bottom:20px;left:20px}.hero-tag em{font-size:20px}.occasion{margin-bottom:45px;flex-wrap:wrap;gap:15px}.section-heading>p,.section-heading>span{display:none}.studio{grid-template-columns:1fr 1fr}.visual-panel{padding:14px}.control-content{padding:22px 18px}.step-nav{padding:14px 10px;gap:3px}.step-nav button{padding:6px;font-size:8px}.choice{padding:12px;min-height:90px}.price-bar{padding:18px 15px;flex-wrap:wrap}.price-bar strong{font-size:21px}.visual-header{font-size:8px;gap:7px}.visual-header .text-button{font-size:9px}.visual-actions{flex-wrap:wrap}.templates{gap:15px}.template-info{padding:16px}.how>div{gap:25px;margin-left:0;margin-right:0}h2{font-size:33px}}@media(max-width:600px){.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:30px}.hero-copy{text-align:center}h1{font-size:48px;line-height:1.1}.hero-copy .eyebrow{font-size:8px}.intro{font-size:13px}.hero-photo{margin:10px 17px 0;aspect-ratio:1.15;border-radius:130px 130px 10px 10px}.hero-note{margin-bottom:10px}.occasion{padding:18px 0;justify-content:center;text-align:center}.occasion>div{gap:6px;justify-content:center;flex-wrap:wrap}.occasion button{padding:9px 12px;font-size:10px}.studio-section{margin-bottom:50px}.studio{display:block}.visual-panel{border-right:0;border-bottom:1px solid var(--line);padding:16px}.scene{aspect-ratio:1.04}.visual-actions>span{font-size:8px}.control-content{min-height:280px;padding:24px}.step-nav{padding:16px;gap:6px}.step-nav button{font-size:9px;padding:7px}.price-bar{position:sticky;bottom:0;padding:18px 22px;z-index:4;background:var(--panel);flex-wrap:nowrap}.next{padding:15px 18px}.templates{grid-template-columns:1fr}.templates article{display:grid;grid-template-columns:43% 1fr}.template-image{height:100%;min-height:205px;aspect-ratio:auto}.template-info h3{font-size:21px}.how>div{grid-template-columns:1fr;gap:24px;margin-top:30px}.how article{max-width:280px;margin:auto}.how h3{margin-top:7px}.how{padding-top:35px;margin-bottom:45px}footer{flex-wrap:wrap;gap:20px}footer p{width:100%;order:3}.celebrate h2{font-size:30px}.personal-label{font-size:22px}}
@media(max-width:600px){body{padding-bottom:90px}.price-bar{position:fixed;bottom:0;left:0;width:100%;box-shadow:0 -4px 20px #392f2b12;z-index:8}.control-content{padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
