:root{--background:#fffaf8;--surface:#fff;--text:#2d2928;--muted-text:#756d6a;--rose:#a65372;--rose-dark:#7d3d56;--rose-light:#f2dfe6;--border:#eadfdb;--max-width:1200px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}body{color:var(--text);background-color:#f2e7d9;background-image:radial-gradient(#785f5509 1px,#0000 1px);background-size:18px 18px;font-family:Cormorant Garamond,serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.navbar{border-bottom:1px solid var(--border);width:100%}.navbar-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:18px 24px;display:flex}.brand img{width:150px;height:auto}.brand img:hover{transition:transform .6s;transform:scale(1.07)}.nav-links{align-items:center;gap:32px;font-family:Caveat,cursive;display:flex}.nav-links a{color:var(--text);font-size:1rem}.nav-links a:hover{color:var(--rose);border-bottom:1px solid var(--rose)}.request-button{background:var(--rose);border-radius:999px;padding:12px 20px;color:#fff!important}.request-button:hover{background:var(--rose-dark);transition:transform .6s;transform:scale(1.07)}.hero{max-width:var(--max-width);grid-template-columns:1fr 1fr;align-items:center;gap:64px;min-height:68vh;margin:0 auto;padding:64px 24px;display:grid}.hero-content{max-width:560px}.eyebrow{color:var(--rose);letter-spacing:.18em;margin-bottom:20px;font-size:.8rem;font-weight:600}.hero h1{margin-bottom:28px;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.5rem);font-weight:500;line-height:.95}.hero h1 span{color:var(--rose)}.hero-description{max-width:480px;color:var(--muted-text);margin-bottom:32px;font-size:1.1rem;line-height:1.7}.hero-actions{align-items:center;gap:16px;display:flex}.primary-button{background:var(--rose);color:#fff;border-radius:999px;padding:14px 24px;display:inline-block}.primary-button:hover{background:var(--rose-dark);transition:transform .6s;transform:scale(1.07)}.secondary-button{border-bottom:1px solid var(--text);padding:14px 8px}.secondary-button:hover{color:var(--rose);border-color:var(--rose)}.hero-image{border-radius:24px;height:650px;position:relative;overflow:hidden}.hero-image img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1s ease-in-out;position:absolute;inset:0}.hero-image img.active{opacity:1}.featured-section{max-width:var(--max-width);margin:0 auto;padding:100px 24px}.section-heading{max-width:620px;margin-bottom:48px}.section-heading h2{margin-bottom:16px;font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:500}.section-heading p{color:var(--muted-text);line-height:1.7}.featured-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.cake-card:hover{color:var(--rose);transition:transform .3s;transform:scale(1.08)}.cake-card img{aspect-ratio:4/5;object-fit:cover;border-radius:16px;width:100%}.cake-card-content{padding-top:16px}.cake-card-content h3{margin-bottom:6px;font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.cake-card-content p{color:var(--muted-text);font-size:.9rem}.featured-action{margin-top:40px}@media (width<=768px){.nav-links{gap:16px}.hero{grid-template-columns:1fr;gap:40px;padding-top:40px}.hero-content{max-width:none}.hero h1{font-size:3.2rem}.hero-actions{flex-wrap:wrap}.featured-grid{grid-template-columns:1fr}.featured-section{padding-top:72px;padding-bottom:72px}}.categories-section{max-width:var(--max-width);margin:0 auto;padding:100px 24px}.categories-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.category-card{background-position:50%;background-size:cover;border-radius:18px;align-items:flex-end;min-height:260px;transition:transform .25s;display:flex;position:relative;overflow:hidden}.category-overlay{-webkit-backdrop-filter:blur(2px);background:#ffe6f2b8;width:100%;padding:15px}.category-card:hover .category-overlay{-webkit-backdrop-filter:blur(4px);background:#ffe6f2eb}.category-overlay h3{margin-bottom:px;font-family:Georgia,serif;font-size:1.7rem}.category-overlay p{color:var(--muted-text);line-height:1.5}.category-card:hover{border-color:var(--rose-light);color:var(--rose-dark);transform:translateY(-8px);box-shadow:0 14px 30px #2d292814}.category-card h3{margin-bottom:8px;font-family:Georgia,serif;font-size:1.6rem}.category-card p{color:var(--muted-text);line-height:1.6}@media (width<=768px){.categories-grid{grid-template-columns:1fr}}.about-section{max-width:var(--max-width);grid-template-columns:1fr 1fr;align-items:center;gap:72px;margin:0 auto;padding:100px 24px;display:grid}.about-image img{object-fit:contain;border-radius:24px;width:100%;height:600px}.about-content{max-width:520px}.about-content h2{margin-bottom:28px;font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:500;line-height:1.05}.about-content p{color:var(--muted-text);margin-bottom:20px;font-size:1.05rem;line-height:1.8}.about-content .secondary-button{margin-top:12px;display:inline-block}@media (width<=768px){.about-section{grid-template-columns:1fr;gap:40px;padding-top:72px;padding-bottom:72px}.about-image img{height:450px}.about-content{max-width:none}}.request-cta{background:var(--rose-light);border-radius:28px;margin:80px 24px 0}.request-cta-content{text-align:center;max-width:760px;margin:0 auto;padding:90px 24px}.request-cta h2{margin-bottom:20px;font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:500}.request-cta p{color:var(--muted-text);margin-bottom:30px;font-size:1.05rem;line-height:1.7}.footer{border-top:1px solid var(--border);margin-top:80px}.footer-inner{max-width:var(--max-width);justify-content:space-between;gap:40px;margin:0 auto;padding:48px 24px;display:flex}.footer h3{color:var(--rose);margin-bottom:10px;font-family:Georgia,serif;font-size:1.8rem}.footer p{color:var(--muted-text)}.footer-links{flex-wrap:wrap;gap:24px;display:flex}.footer-links a:hover{color:var(--rose)}@media (width<=768px){.footer-inner{flex-direction:column}}.instagram-link{gap:3px;display:inline-flex}.instagram-link svg{font-size:1.2rem}.instagram-link:hover{color:var(--rose)}.floating-request-button{z-index:900;background:var(--rose);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:14px 22px;font-family:Caveat,cursive;font-size:.95rem;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex;position:fixed;bottom:28px;right:28px;box-shadow:0 10px 30px #2d29282e}.floating-request-button:hover{background:var(--rose-dark);transform:translateY(-3px)scale(1.03);box-shadow:0 14px 35px #2d29283d}.about-page{max-width:var(--max-width);margin:0 auto;padding:80px 24px 120px;font-family:Georgia,serif}.about-hero{grid-template-columns:1fr 1fr;align-items:center;gap:72px;margin-bottom:120px;display:grid}.highlight{color:var(--rose)}.about-hero-image img{object-fit:contain;border-radius:24px;width:100%;height:650px}.about-hero-content{max-width:540px}.about-hero-content h1{margin-bottom:28px;font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:1}.about-hero-content p{color:var(--muted-text);margin-bottom:20px;font-size:1.05rem;line-height:1.8}.about-values{margin-bottom:120px}.about-values-heading{max-width:620px;margin-bottom:48px}.about-values-heading h2{font-size:clamp(2.5rem,4vw,4rem);font-weight:500}.about-values-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.about-value{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:32px}.about-value span{color:var(--rose);margin-bottom:20px;font-size:.85rem;display:block}.about-value h3{margin-bottom:12px;font-size:1.7rem}.about-value p{color:var(--muted-text);line-height:1.7}.about-story{grid-template-columns:1fr 1fr;align-items:center;gap:72px;margin-bottom:120px;display:grid}.about-story-content h2{margin-bottom:24px;font-size:clamp(2.5rem,4vw,4rem);font-weight:500}.about-story-content p{color:var(--muted-text);margin-bottom:18px;line-height:1.8}.about-story-image img{object-fit:cover;border-radius:24px;width:100%;height:560px}.about-cta{text-align:center;background:var(--rose-light);border-radius:28px;padding:90px 24px}.about-cta h2{margin-bottom:30px;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:500}@media (width<=768px){.about-hero,.about-story{grid-template-columns:1fr;gap:40px}.about-values-grid{grid-template-columns:1fr}.about-hero-image img,.about-story-image img{height:450px}}.pricing-page{max-width:var(--max-width);margin:0 auto;padding:90px 24px 120px;font-family:Caveat,cursive;font-size:1.4rem}.pricing-header{max-width:760px;margin-bottom:72px}.pricing-header h1{margin-bottom:28px;font-size:clamp(3rem,6vw,5.5rem);font-weight:500;line-height:.98}.pricing-header>p:last-child{max-width:650px;color:var(--muted-text);font-size:1.5rem;line-height:1.8}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:120px;display:grid}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;flex-direction:column;min-height:360px;padding:36px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex}.pricing-card:hover{border-color:var(--rose-light);transform:translateY(-6px);box-shadow:0 18px 40px #2d292814}.featured-pricing-card{background:var(--rose-light);border-color:#0000}.pricing-label{color:var(--rose);letter-spacing:.16em;margin-bottom:28px;font-size:.9rem;font-weight:600}.pricing-card h2{margin-bottom:14px;font-size:2rem;font-weight:500}.eyebrow{letter-spacing:.1em;text-transform:uppercase;margin-bottom:28px;font-size:1.2rem}.price{color:var(--rose-dark);margin-bottom:28px;font-size:1.3rem}.pricing-description{color:var(--muted-text);margin-top:auto;line-height:1.75}.additions-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:.8fr 1.2fr;gap:80px;padding:90px 0;display:grid}.additions-intro{max-width:430px}.additions-intro h2{margin-bottom:20px;font-size:clamp(2.6rem,4vw,4rem);font-weight:500}.additions-intro>p:last-child{color:var(--muted-text);line-height:1.75}.additions-grid{grid-template-columns:repeat(2,1fr);column-gap:48px;display:grid}.addition-item{border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:24px 0;display:flex}.addition-item span{color:var(--rose);letter-spacing:.08em;font-size:1.9rem}.addition-item p{font-size:1.15rem}.pricing-note{background:var(--rose-light);border-radius:28px;justify-content:space-between;align-items:flex-end;gap:60px;margin-top:100px;padding:64px;display:flex}.pricing-note>div{max-width:650px}.pricing-note h2{margin-bottom:22px;font-size:clamp(2.5rem,4vw,4rem);font-weight:500}.pricing-note p{color:var(--muted-text);margin-bottom:14px;line-height:1.75}.pricing-note .primary-button{flex-shrink:0}@media (width<=900px){.pricing-grid{grid-template-columns:1fr}.pricing-card{min-height:280px}.additions-section{grid-template-columns:1fr;gap:40px}.pricing-note{flex-direction:column;align-items:flex-start}}@media (width<=600px){.pricing-page{padding-top:60px}.additions-grid{grid-template-columns:1fr}.pricing-note{padding:40px 28px}}.gallery-page{padding:90px 24px 120px}.gallery-header{max-width:var(--max-width);margin:0 auto 64px}.gallery-header h1{max-width:800px;margin-bottom:28px;font-size:clamp(3rem,6vw,5.5rem);font-weight:500;line-height:.98}.gallery-header>p:last-child{max-width:640px;color:var(--muted-text);font-size:1.1rem;line-height:1.8}.gallery-content{max-width:var(--max-width);margin:0 auto}.gallery-filters{flex-wrap:wrap;gap:12px;margin-bottom:48px;display:flex}.gallery-filters button{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:10px 18px;transition:background .2s,color .2s,border-color .2s,transform .2s}.gallery-filters button:hover{border-color:var(--rose);color:var(--rose);transform:translateY(-1px)}.gallery-filters button.active{background:var(--rose);color:#fff;border-color:var(--rose)}.gallery-grid{columns:3;column-gap:20px}.gallery-item{break-inside:avoid;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:18px;width:100%;margin-bottom:20px;padding:0;display:block;position:relative;overflow:hidden}.gallery-item img{width:100%;height:auto;transition:transform .45s,filter .45s}.gallery-item:hover img{filter:brightness(.82);transform:scale(1.04)}.gallery-overlay{color:#fff;opacity:0;background:linear-gradient(#0000,#1914150d 45%,#191415b8);flex-direction:column;justify-content:flex-end;padding:28px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay p{letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-size:.75rem}.gallery-overlay h2{font-size:1.8rem;font-weight:500}.gallery-cta{max-width:var(--max-width);text-align:center;background:var(--rose-light);border-radius:28px;margin:110px auto 0;padding:80px 32px}.gallery-cta h2{margin-bottom:20px;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:500}.gallery-cta>p:not(.eyebrow){max-width:620px;color:var(--muted-text);margin:0 auto 32px;line-height:1.75}.gallery-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1516b8;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.gallery-modal{background:var(--surface);border-radius:24px;grid-template-columns:1.15fr .85fr;width:min(100%,1000px);max-height:90vh;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000040}.gallery-modal-image{min-height:620px}.gallery-modal-image img{object-fit:cover;width:100%;height:100%}.gallery-modal-content{flex-direction:column;justify-content:center;align-items:flex-start;padding:56px 44px;display:flex}.gallery-modal-content h2{margin-bottom:20px;font-size:clamp(2.3rem,4vw,3.5rem);font-weight:500;line-height:1}.gallery-modal-content>p:not(.eyebrow){color:var(--muted-text);margin-bottom:32px;line-height:1.8}.gallery-modal-close{z-index:2;width:42px;height:42px;color:var(--text);cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;transition:transform .2s,background .2s;display:flex;position:absolute;top:18px;right:20px}.gallery-modal-close:hover{background:#fff;transform:scale(1.08)}@media (width<=900px){.gallery-grid{columns:2}.gallery-modal{grid-template-columns:1fr;overflow-y:auto}.gallery-modal-image{min-height:420px;max-height:55vh}}@media (width<=600px){.gallery-page{padding:60px 18px 90px}.gallery-grid{columns:1}.gallery-filters{gap:8px}.gallery-filters button{padding:8px 14px;font-size:.9rem}.gallery-overlay{opacity:1}.gallery-modal-backdrop{padding:14px}.gallery-modal-content{padding:36px 24px}.gallery-modal-image{min-height:320px}.gallery-cta{padding:60px 24px}}.request-page{max-width:960px;margin:0 auto;padding:80px 24px 120px;font-family:Caveat,cursive;font-size:1.3rem}.request-header{margin-bottom:72px}.request-header h1{margin-bottom:24px;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500;line-height:1}.request-header>p:last-child{color:var(--muted-text);font-size:1.3rem;line-height:1.7}.cake-request-form{flex-direction:column;gap:26px;display:flex}.form-section{padding-bottom:10px}.form-section-heading{background:#e991bd33;border-radius:12px;gap:20px;margin-bottom:32px;padding:6px 12px;display:flex}.form-section-heading>span{color:var(--rose);letter-spacing:.1em;padding-top:6px;font-size:.95rem}.form-section-heading h2{margin-bottom:4px;font-family:Caveat,cursive;font-size:2rem;font-weight:500}.form-section-heading p{color:var(--muted-text)}.form-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.form-field{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.form-field label{font-family:Caveat,cursive;font-size:1.1rem;font-weight:600}.form-field input,.form-field select,.form-field textarea{background:var(--surface);width:100%;color:var(--text);font-family:Georgia,serif;font:inherit;border:1px solid #494646;border-radius:10px;outline:none;padding:14px 16px;font-size:1.4rem;transition:border-color .2s,box-shadow .2s}.form-field input[type=file]{font-size:1.2rem}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-light)}.full-width{width:100%}.form-submit{cursor:pointer;font:inherit;border:none;align-self:flex-start}@media (width<=768px){.request-page{padding-top:56px}.form-grid{grid-template-columns:1fr;gap:0}}.field-hint{color:var(--muted-text);margin-top:8px;font-size:.9rem}.image-preview-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-top:20px;display:grid}.image-preview{position:relative}.image-preview img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:12px;width:100%}.image-preview button{color:var(--rose-dark);cursor:pointer;font:inherit;background:0 0;border:none;margin-top:8px}
