@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Sacramento&display=swap');
:root{--paper:#fbf8f1;--ink:#702d3b;--muted:#775e60;--line:#d9c9c4;--accent:#e8be53;--display:'DM Serif Display',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;transition:background .35s,color .35s}button,a,input,textarea{touch-action:manipulation}button,input,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #cb8211;outline-offset:5px}button{color:inherit}button:hover,a:hover{opacity:.78}[hidden]{display:none!important}.concept-bar{background:#702d3b;color:#fff9ed;padding:12px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.07em}.bar-muted{opacity:.62;margin-left:12px;letter-spacing:0}.concept-bar nav{display:flex;gap:6px;flex-wrap:wrap}.concept-bar button{border:1px solid transparent;background:none;color:inherit;border-radius:30px;padding:9px 14px;font-size:13px;white-space:nowrap}.concept-bar button[aria-pressed=true]{background:#fff6e6;color:#702d3b}#site{max-width:1600px;margin:auto;padding:0 5.4%}header{display:flex;align-items:center;gap:32px;min-height:132px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--display);font-size:46px;letter-spacing:-.035em;line-height:1;flex-shrink:0;padding:12px 0}.wordmark-prefix{display:block;font-size:.62em;letter-spacing:-.025em;line-height:1.2}.brand-note{font-size:11px;letter-spacing:.17em;padding-top:16px}.play-link{margin-left:auto;font-size:14px}.play-link span{margin-left:26px;font-size:22px}.collection-title{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em;margin:28px 0}.edition{color:var(--muted)}.editorial{display:grid;grid-template-columns:.8fr 1.25fr 50px;gap:30px;align-items:center}.intro{padding:15px 0 35px}.small-rule{height:1px;width:42px;background:var(--ink);margin-bottom:28px}h1{font:400 clamp(50px,6.3vw,98px)/1.01 var(--display);letter-spacing:-.045em;margin:0 0 30px}h1 em,h2 em{font-weight:400}p{line-height:1.75}.intro p{color:var(--muted);margin:0 0 30px;font-size:16px}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:8px;display:inline-block}.text-link span{padding-left:28px}.handwritten{display:block;font:29px 'Sacramento',cursive;transform:rotate(-7deg);margin-top:66px}.main-photo{position:relative;margin:0;align-self:stretch}.main-photo img{display:block;width:100%;height:clamp(370px,41vw,590px);object-fit:cover;background:#d8b5af;border-radius:48% 48% 2px 2px}.main-photo figcaption{display:flex;justify-content:space-between;gap:16px;font-size:12px;margin-top:17px;line-height:1.5}.main-photo figcaption span:first-child{letter-spacing:.07em}.photo-stamp{position:absolute;bottom:55px;left:-37px;border-radius:50%;background:var(--accent);color:#702d3b;width:110px;height:110px;display:flex;align-items:center;justify-content:center;text-align:center;font:italic 25px/1.05 var(--display);transform:rotate(-13deg);border:6px double #a56e3b}.side-note{height:95%;display:flex;align-items:center;justify-content:space-between;flex-direction:column;padding:20px 0}.vertical-text{writing-mode:vertical-rl;font-size:11px;letter-spacing:.22em}.asterisk{font-size:50px}.below{margin-top:84px;padding:48px 0 36px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr .85fr .85fr;gap:45px;align-items:stretch}.section-kicker{font-size:11px;letter-spacing:.14em}.flavor-note h2{font:32px/1.14 var(--display);letter-spacing:-.02em;margin:25px 0 16px}.flavor-note p{font-size:14px;color:var(--muted);max-width:315px}.detail-photo{margin:0}.detail-photo img{width:100%;height:270px;object-fit:cover}.detail-photo figcaption{font-size:12px;color:var(--muted);margin-top:12px}.play-card{background:#ecdba6;padding:26px 28px;position:relative;color:#702d3b;display:flex;flex-direction:column;justify-content:space-between;min-height:310px}.play-card>span{font-size:12px;line-height:1.5}.play-card .play-star{position:absolute;right:24px;top:70px;font-size:70px}.play-card h2{font:42px/1.04 var(--display);margin:50px 0 24px}.image-note{font-size:12px;color:var(--muted);margin:15px 0 35px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 40px;font-size:12px;color:var(--muted)}.footer-logo{font:28px/1.2 var(--display);letter-spacing:-.025em;color:var(--ink)}body[data-style=sunday]{--paper:#fff3ad;--ink:#ce332f;--muted:#88482c;--line:#d4b970;--accent:#f7abc7;--display:'DM Sans',sans-serif}body[data-style=sunday] .wordmark{font-weight:700;letter-spacing:-.035em}body[data-style=sunday] .editorial{grid-template-columns:1fr 1.1fr 50px}body[data-style=sunday] .main-photo img{border-radius:16px;transform:rotate(3deg);box-shadow:12px 12px 0 #eaabc4}body[data-style=sunday] h1{font-weight:700;font-size:clamp(50px,6vw,88px);letter-spacing:-.07em}body[data-style=sunday] h1 em{font-style:normal;color:#3e785d;font-weight:700}body[data-style=sunday] .play-card{background:#efb1c7}body[data-style=sunday] .small-rule{width:70px;height:8px;border-radius:8px}body:is([data-style=night],[data-style=simple],[data-style=gallery]){--paper:#261b1c;--ink:#f5e8ce;--muted:#c4b3a6;--line:#584145;--accent:#cab87b}body[data-style=night] .editorial{grid-template-columns:1.15fr 1fr 50px}body[data-style=night] .main-photo img{border-radius:0}body[data-style=night] h1{font-size:clamp(50px,6.8vw,105px)}body[data-style=night] .photo-stamp{background:#c9b67c}body[data-style=night] .below{grid-template-columns:1fr 1fr 1fr}body[data-style=night] .play-card{background:#c9b67c}.play-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:36px 0}.play-heading h1{font-size:54px;margin:16px 0 0}.play-heading p{max-width:290px;color:var(--muted);font-size:15px;margin:0}.designer{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;margin:36px 0 60px;align-items:start}.cake-preview{background:#edc9c8;position:sticky;top:24px}.cake-preview canvas{width:100%;height:auto;display:block}.preview-caption{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:12px;font-size:11px;color:#702d3b;background:#eed6cf}.preview-caption button{border:1px solid #b8908d;border-radius:24px;background:transparent;padding:10px 14px;font-size:13px}.control-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:22px}.field-label,legend{font-size:14px;font-weight:500;margin-bottom:12px;display:block}textarea{width:100%;resize:vertical;border:1px solid var(--line);background:#fffdf9;color:#702d3b;border-radius:8px;padding:15px;line-height:1.5;font-size:18px}.input-hint{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin:8px 0 23px}fieldset{padding:0;border:0;margin:0 0 25px}.choices{display:flex;gap:7px;flex-wrap:wrap}.choices button{border:1px solid var(--line);background:transparent;border-radius:7px;padding:10px 13px;font-size:14px}.choices button.selected{border-color:var(--ink);background:#702d3b;color:#fff8ef}.font-choices button:first-child{font:22px 'Sacramento',cursive;padding:5px 15px}.font-choices button:nth-child(2){font-family:Georgia,serif}.swatches{display:flex;gap:13px;flex-wrap:wrap}.swatch{width:36px;height:36px;border-radius:50%;border:3px solid var(--paper);outline:1px solid var(--line)}.swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px}.size-label{font-size:14px;display:flex;justify-content:space-between}.size-label span{font-size:12px;color:var(--muted)}input[type=range]{width:100%;accent-color:#702d3b;margin:17px 0 26px}.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;background:#702d3b;border:0;border-radius:6px;color:white;padding:17px;font-size:15px}.reset{display:block;margin:14px auto;border:0;border-bottom:1px solid var(--line);padding:5px;background:none;font-size:13px}.play-disclaimer{font-size:12px;color:var(--muted);line-height:1.6;text-align:center;max-width:330px;margin:20px auto 0}#status{font-size:13px;text-align:center} @media(min-width:1450px){#site{padding:0 85px}}@media(max-width:1000px){.concept-bar{flex-direction:column;gap:10px;padding:13px}.brand-note{display:none}.editorial{gap:25px;grid-template-columns:.9fr 1.1fr 25px}.main-photo figcaption{flex-direction:column;gap:3px}.below{gap:24px}.handwritten{font-size:25px}.designer{gap:30px}.play-card{padding:20px}.play-card h2{font-size:34px}.play-star{opacity:.45}.play-heading h1{font-size:46px}}@media(max-width:650px){#site{padding:0 6%}.concept-bar>span{font-size:10px}.concept-bar nav{justify-content:center;gap:2px}.concept-bar button{font-size:12px;padding:8px 10px}header{min-height:104px;gap:10px}.wordmark{font-size:36px}.play-link{font-size:12px}.play-link span{margin-left:10px}.collection-title{font-size:10px;line-height:1.5}.edition{display:none}.editorial,body[data-style=sunday] .editorial,body[data-style=night] .editorial{grid-template-columns:1fr;gap:10px}.intro{padding:0 0 22px}.small-rule{display:none}h1,body[data-style=sunday] h1,body[data-style=night] h1{font-size:64px;margin-bottom:18px}.intro p{font-size:15px}.handwritten{display:none}.main-photo img{height:430px}.photo-stamp{left:-12px;width:90px;height:90px;font-size:22px}.main-photo figcaption{flex-direction:row;font-size:10px;gap:12px}.side-note{display:none}.below,body[data-style=night] .below{margin-top:45px;grid-template-columns:1fr 1fr;gap:22px;padding-top:30px}.flavor-note{grid-column:1/-1}.flavor-note h2{font-size:35px}.flavor-note p{max-width:none}.detail-photo img{height:240px}.play-card{min-height:240px;padding:16px}.play-card>span{font-size:10px}.play-card h2{font-size:30px}.play-card .play-star{font-size:50px;right:15px;top:65px}.image-note{margin:20px 0 30px}footer{flex-wrap:wrap;font-size:11px}.footer-logo{font-size:25px}footer a{margin-left:auto}.play-heading{display:block;margin-top:28px}.play-heading h1{font-size:43px}.play-heading p{max-width:none;font-size:14px;margin-top:20px}.designer{grid-template-columns:1fr;gap:30px}.cake-preview{position:static}.preview-caption{padding:12px;font-size:9px}.preview-caption button{font-size:12px}.design-controls{padding:0 5px}.choices button{flex:1;padding:10px}.play-disclaimer{max-width:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(min-width:900px){body[data-style=night] .editorial{grid-template-columns:1.12fr .95fr 38px;grid-template-areas:'photo intro aside';gap:55px}body[data-style=night] .main-photo{grid-area:photo}body[data-style=night] .intro{grid-area:intro}body[data-style=night] .side-note{grid-area:aside}body[data-style=night] .main-photo img{height:540px}body[data-style=night] .photo-stamp{left:auto;right:-32px}body[data-style=sunday] .intro{transform:rotate(-2deg)}}
.concept-bar button{font-size:14px}.brand-note,.section-kicker,.collection-title,.control-heading{font-size:12px}.play-card>span{font-size:14px}.preview-caption{font-size:12px}.input-hint,.image-note,.detail-photo figcaption{font-size:12px}
@media(max-width:650px){.concept-bar button{font-size:12px}.collection-title{font-size:11px}.play-card>span{font-size:12px}.preview-caption{font-size:11px}}
/* Give Vanessa’s real portrait photographs room to show the whole cake. */
.main-photo img{object-fit:contain;background:#cecbc5;height:clamp(440px,49vw,660px)}.detail-photo img{height:auto;aspect-ratio:3/4;object-fit:contain;background:#cecbc5}body[data-style=night] .main-photo img{height:clamp(440px,49vw,660px)}@media(max-width:650px){.main-photo img,body[data-style=night] .main-photo img{height:auto;aspect-ratio:3/4}.detail-photo img{height:auto}}
.main-photo img{object-fit:cover;object-position:center 54%}
/* Compact theme chooser; content navigation stays separate. */
.concept-bar{background:var(--ink);color:var(--paper);padding:12px 30px}.theme-controls{display:flex;align-items:center;gap:10px;margin-right:auto}.theme-controls label{font-size:14px;letter-spacing:0}.theme-controls select{font:500 14px 'DM Sans',sans-serif;min-width:125px;padding:8px 30px 8px 12px;border:1px solid currentColor;border-radius:7px;background:transparent;color:inherit;cursor:pointer}.theme-controls option{color:#263b3b;background:#fffaf2}.theme-controls select:focus-visible{outline:3px solid #e8be53;outline-offset:3px}.concept-bar button[aria-pressed=true]{background:var(--paper);color:var(--ink)}
body[data-style=sunday]{--paper:#f7faf9;--ink:#173e49;--muted:#546e74;--line:#cbdcda;--accent:#d4e8e1;--display:'DM Serif Display',Georgia,serif}body[data-style=sunday] .wordmark{font-family:'DM Sans',sans-serif;font-weight:500;letter-spacing:-.035em}body[data-style=sunday] .intro{transform:none}body[data-style=sunday] .main-photo img{border-radius:12px;transform:none;box-shadow:none}body[data-style=sunday] h1{font-family:'DM Sans',sans-serif;font-weight:500;font-size:clamp(50px,5.8vw,84px);letter-spacing:-.055em}body[data-style=sunday] h1 em{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;color:#34877e;letter-spacing:-.04em}body[data-style=sunday] .photo-stamp{display:none}body[data-style=sunday] .small-rule{width:42px;height:1px;border-radius:0}body[data-style=sunday] .handwritten{transform:none;font:italic 22px/1.4 Georgia,serif;margin-top:48px}body[data-style=sunday] .play-card{background:#e0ece6;color:#173e49}body[data-style=sunday] .asterisk{color:#34877e;font-size:38px}@media(max-width:650px){.concept-bar{padding:12px 16px;gap:10px}.theme-controls{margin:0 auto}.concept-bar nav{width:100%;justify-content:center}.concept-bar button{font-size:13px;padding:8px 12px}body[data-style=sunday] h1{font-size:58px}}

/* Keep the full birthday cake inside Classic’s softly rounded photo. */
body[data-style=atelier] .main-photo{width:min(100%,clamp(330px,36.75vw,495px));justify-self:center}body[data-style=atelier] .main-photo img{height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center center;border-radius:22px}

#lettering-notice{font-size:14px;line-height:1.5;color:#702d3b;background:#f8e7df;border-left:3px solid #a14153;padding:12px;margin:12px 0}#message[aria-invalid=true]{border-color:#a14153}.primary-button:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:650px){.play-card .play-star{display:none}}

/* A personal walkthrough for Vanessa, using the studio’s existing typography. */
#vanessa-notes{max-width:1180px;margin:auto}.notes-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:30px 0 24px}.notes-eyebrow{font-size:12px;letter-spacing:.13em;font-weight:600}.notes-draft{font-size:14px;color:var(--muted)}.notes-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start;padding:6px 0 44px;border-bottom:1px solid var(--line)}.notes-intro h1{font-size:clamp(38px,4.5vw,60px);line-height:1.06;margin:0;letter-spacing:-.035em}.notes-intro p{margin:0 0 15px;color:var(--muted);max-width:620px}.notes-intro p:last-child{margin-bottom:0}.notes-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:68px;padding:14px 0 0;align-items:start}.notes-section{display:grid;grid-template-columns:30px minmax(0,1fr);gap:15px;padding:34px 0;border-bottom:1px solid var(--line)}.notes-number{font-size:12px;color:#a36971;padding-top:8px;letter-spacing:.08em}.notes-section h2,.notes-next h2{font:30px/1.15 var(--display);letter-spacing:-.02em;margin:0 0 18px}.notes-section p{margin:0 0 16px;color:var(--muted)}.notes-section .notes-detail{font-size:14px;line-height:1.65}.notes-detail strong{color:var(--ink)}.notes-links{display:flex;flex-wrap:wrap;gap:8px 22px}.notes-link,.notes-links a{display:inline-block;font-size:14px;font-weight:500;line-height:1.6;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;padding:10px 0}.notes-new-tab{font-size:12px;font-weight:400;display:inline-block}.notes-secret{background:#f1e6cf;border-left:3px solid #a77a3a;padding:20px 22px;margin:22px 0 10px;border-radius:0 12px 12px 0}.notes-secret>strong{font:25px var(--display)}.notes-secret p{margin:10px 0 0}.notes-secret kbd{font:12px 'DM Sans',sans-serif;border:1px solid #cfc0a9;border-bottom-width:2px;border-radius:4px;padding:2px 5px;background:#fffaf0;white-space:nowrap}.notes-next{margin-top:34px;background:#f2e7e5;border-radius:16px;padding:28px}.notes-next h2{font-size:27px;margin-top:16px}.notes-next p,.notes-next li{font-size:15px;line-height:1.7;color:var(--muted)}.notes-next ul{padding-left:19px;margin:18px 0 24px}.notes-next li{padding-left:3px;margin:0 0 12px}.notes-next .notes-reply{border-top:1px solid #d7bfbe;padding-top:20px;margin-bottom:0}.notes-reply strong{color:var(--ink)}.notes-signoff{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:42px 0 48px}.notes-signoff p{font:29px/1.25 var(--display);margin:0}.notes-signoff span{font-size:14px;line-height:1.7;color:var(--muted);max-width:300px}
@media(max-width:1000px){.notes-layout{gap:30px;grid-template-columns:minmax(0,1fr) 280px}.notes-intro{gap:30px}.notes-next{padding:24px}}
@media(max-width:750px){.notes-heading{align-items:start;padding-top:24px;gap:8px;flex-direction:column}.notes-intro{grid-template-columns:1fr;gap:24px;padding-bottom:30px}.notes-intro h1{font-size:42px}.notes-layout{grid-template-columns:1fr;gap:0}.notes-section{grid-template-columns:24px minmax(0,1fr);gap:10px;padding:28px 0}.notes-section h2{font-size:28px}.notes-next{margin:28px 0 0}.notes-signoff{display:block;padding:32px 0}.notes-signoff span{display:block;margin-top:20px;max-width:none}.notes-signoff p{font-size:27px}.notes-secret{padding:18px}.notes-next p,.notes-next li{font-size:16px}}

footer{flex-wrap:wrap}.site-credit{flex-basis:100%;text-align:right;font-size:12px;line-height:1.5;margin-top:-7px}.site-credit strong{font-weight:500;color:var(--ink)}
@media(max-width:650px){.site-credit{text-align:center;margin-top:0}}
