@import"https://fonts.googleapis.com/css2?family=Pinyon+Script&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400&family=Inter:wght@300;400;500;600&display=swap";:root,[data-theme=a]{--bg: #FDEEEC;--bg-soft: #FBE0DD;--bg-deep: #F6CDC8;--paper: #FFFFFF;--text: #4A2A2A;--text-soft: #7A5454;--rose: #C97B82;--rose-deep: #B85C6A;--rose-ink: #8A3D49;--gold: #C9A66B;--line: #E9C9C4;--font-display: "Pinyon Script", "Pinyon Script Fallback", cursive;--font-serif: "Cormorant Garamond", "Cormorant Garamond Fallback", Georgia, serif;--font-body: "Inter", "Inter Fallback", system-ui, -apple-system, sans-serif;--display-weight: 400;--display-style: normal;--section-letter-spacing: .18em}[data-theme=b]{--bg: #FAF4EC;--bg-soft: #F2E9DD;--bg-deep: #E7D9C6;--paper: #FFFFFF;--text: #2E2A2A;--text-soft: #6A5E5E;--rose: #9C6F73;--rose-deep: #7E555A;--rose-ink: #5C3F44;--gold: #B59465;--line: #DECFB9;--font-display: "Fraunces", "Fraunces Fallback", Georgia, serif;--font-serif: "Fraunces", "Fraunces Fallback", Georgia, serif;--font-body: "Inter", "Inter Fallback", system-ui, -apple-system, sans-serif;--display-weight: 500;--display-style: italic;--section-letter-spacing: .22em}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:var(--rose-deep);text-decoration:none}a:hover{color:var(--rose-ink);text-decoration:underline;text-underline-offset:4px}.container{width:min(1180px,calc(100% - 2rem));margin-inline:auto}.container-narrow{width:min(720px,calc(100% - 2rem));margin-inline:auto}.display{font-family:var(--font-display);font-weight:var(--display-weight);font-style:var(--display-style);color:var(--rose-ink);letter-spacing:0;line-height:1.05;margin:0}.eyebrow{font-family:var(--font-serif);font-weight:500;font-size:.78rem;letter-spacing:var(--section-letter-spacing);text-transform:uppercase;color:var(--rose);display:inline-block}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;color:var(--text);line-height:1.2;margin:0 0 .6em}h1{font-size:clamp(2.2rem,5vw,3.4rem)}h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}h3{font-size:1.25rem}p{margin:0 0 1em}.btn{display:inline-block;font-family:var(--font-serif);font-weight:500;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;padding:.95rem 1.8rem;border-radius:999px;border:1.5px solid var(--rose);background:var(--rose);color:var(--paper);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s}.btn:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff;text-decoration:none;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--rose)}.btn-ghost:hover{background:var(--rose);color:var(--paper)}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px);box-shadow:0 14px 40px -20px #8a3d4959}.divider{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--rose);font-size:.9rem;margin:3rem 0 1.5rem}.divider:before,.divider:after{content:"";flex:0 0 80px;height:1px;background:var(--line)}input,textarea,select{font-family:var(--font-body);font-size:1rem;width:100%;padding:.85rem 1rem;border:1px solid var(--line);background:var(--paper);color:var(--text);border-radius:8px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px #c97b822e}label{font-family:var(--font-serif);font-weight:500;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-ink);display:block;margin-bottom:.4rem}.form-row{margin-bottom:1.2rem}.form-grid{display:grid;gap:1.2rem;grid-template-columns:1fr}@media (min-width: 700px){.form-grid-2{grid-template-columns:1fr 1fr}}.site-header{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.1)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.brand{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--font-display);font-size:2rem;color:var(--rose-ink);font-weight:var(--display-weight);font-style:var(--display-style)}.brand-meta{font-family:var(--font-serif);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);margin-top:2px}.nav{display:none;gap:1.6rem}.nav a{font-family:var(--font-serif);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text)}.nav a:hover,.nav a.active{color:var(--rose-deep);text-decoration:none}.nav a.active{border-bottom:1px solid var(--rose);padding-bottom:4px}@media (min-width: 900px){.nav{display:flex}.nav-toggle{display:none}}.nav-toggle{background:none;border:1px solid var(--line);color:var(--rose-ink);border-radius:999px;padding:.5rem 1rem;font-family:var(--font-serif);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.nav-mobile{display:none;background:var(--bg-soft);border-bottom:1px solid var(--line);padding:.5rem 0 1rem}.nav-mobile.open{display:block}.nav-mobile a{display:block;padding:.6rem 1rem;font-family:var(--font-serif);font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text)}.site-footer{background:var(--bg-deep);margin-top:5rem;padding:3rem 0 2rem;color:var(--text-soft);font-size:.9rem}.site-footer .display{color:var(--rose-ink);font-size:1.8rem;margin-bottom:.6rem}.footer-grid{display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width: 700px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr}}.footer-grid h4{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-ink);margin-bottom:1rem}.footer-grid a{color:var(--text-soft);display:block;padding:.25rem 0}.footer-grid a:hover{color:var(--rose-deep)}.copyright{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;font-size:.75rem;letter-spacing:.06em;color:var(--text-soft)}.hero{position:relative;padding:4rem 0 3rem;text-align:center}.hero .display{font-size:clamp(3rem,9vw,6rem);margin:.4em 0 .2em}.hero-tag{font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:var(--text-soft);max-width:540px;margin:0 auto 2rem}.hero-photo{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}@media (min-width: 800px){.hero-photo{grid-template-columns:repeat(3,1fr)}}.hero-photo img{border-radius:14px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 20px 50px -25px #8a3d4966}.cake-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width: 600px){.cake-grid{grid-template-columns:1fr 1fr}}@media (min-width: 950px){.cake-grid{grid-template-columns:1fr 1fr 1fr}}.cake-card{display:block;color:inherit}.cake-card:hover{text-decoration:none}.cake-card .photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-soft)}.cake-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.cake-card:hover .photo img{transform:scale(1.04)}.cake-card .meta{padding:1rem 1.2rem 1.4rem}.cake-card .meta h3{font-size:1.15rem;margin:0 0 .25rem;color:var(--text)}.cake-card .meta .cat{font-family:var(--font-serif);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose)}.cake-detail{display:grid;gap:2rem;grid-template-columns:1fr;margin-top:1rem}@media (min-width: 900px){.cake-detail{grid-template-columns:1.4fr 1fr;gap:3rem}}.cake-photos{display:grid;gap:1rem}.cake-photos img{border-radius:14px;width:100%;aspect-ratio:4/5;object-fit:cover}.cake-photos img:first-child{aspect-ratio:1/1}.local-banner{background:var(--bg-soft);border-block:1px solid var(--line);padding:.9rem 0;text-align:center;font-family:var(--font-serif);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-ink)}.heart:before{content:"♡";color:var(--rose);margin-right:.4em}.skip-link{position:absolute;top:-100px;left:1rem;background:var(--paper);color:var(--rose-ink);padding:.5rem 1rem;border-radius:8px;font-size:.85rem;z-index:100}.skip-link:focus{top:1rem}@media print{.site-header,.site-footer,.nav,.nav-toggle,.local-banner{display:none!important}}
