/* Bake Me Beautiful — an editorial bakery, led by Tamara's actual work.
   Load after the current boutique refinements. No routing or animation state
   is owned here; the existing small-surface transitions remain in charge. */
:root {
  --boutique-ink:#472937;
  --boutique-muted:#735763;
  --boutique-rose:#96516e;
  --boutique-paper:#fcf9f4;
  --boutique-line:#d9c7cc;
}

/* The authentic mark, with room for its script and shallow raised edges. */
body>.site-header {height:242px;min-height:242px;padding:12px 0;}
body .site-header .bakery-logo-medallion {width:272px;height:218px;}
body .site-header .bakery-logo-medallion>.bakery-logo {
  filter:drop-shadow(-.35px -.6px .3px #fffdf9c9)
    drop-shadow(.45px .9px .3px #91364d55)
    drop-shadow(.7px 1.6px .45px #86344826)
    drop-shadow(0 5px 4px #71344a20);
}
body .site-header .boutique-utility {top:99px;}
body .site-header .boutique-utility a {min-height:44px;display:inline-flex;align-items:center;color:#735763;}
body .catalog-nav.shell {margin-block:0;padding-bottom:11px;border-bottom-color:#d9c7cc9c;}
body .catalog-nav.shell a {transition:color 170ms ease;}
body .catalog-nav.shell a:not([aria-current="page"])::before {
  content:'';position:absolute;left:25%;right:25%;bottom:4px;height:1px;
  background:#ac6e8b;opacity:0;transform:scaleX(.4);pointer-events:none;
  transition:opacity 170ms ease,transform 230ms cubic-bezier(.22,.61,.36,1);
}
body .catalog-nav.shell a:focus-visible {
  outline:2px solid #9c607b;outline-offset:-4px;
  color:#6e354f;
}
@media(hover:hover) and (pointer:fine) {
  body .catalog-nav.shell a:not([aria-current="page"]):hover {color:#8e4365;}
  body .catalog-nav.shell a:not([aria-current="page"]):hover::before {opacity:.55;transform:scaleX(1);}
}

/* Consistent text contrast and a stronger rhythm between picture and copy. */
.bakery-home .shell {width:min(1200px,calc(100% - 96px));}
.bakery-home .boutique-kicker,
.bakery-home .bakery-eyebrow {color:#7f586a;font-weight:600;letter-spacing:.13em;}
.bakery-home h2 {letter-spacing:-.026em;line-height:1.04;}
.bakery-home p {color:var(--boutique-muted);}
body .bakery-home .text-button {min-height:44px;font-size:12px;border-bottom-color:#af7a91;color:var(--boutique-ink);}
body .bakery-home .primary-button {
  min-height:50px;padding:13px 25px;border-radius:5px;
  background:var(--boutique-rose);border-color:var(--boutique-rose);
  box-shadow:0 1px 1px #633a4e0c,0 7px 18px -13px #633a4e70;
  font-size:12px;font-weight:650;letter-spacing:.005em;
}
@media(hover:hover) and (pointer:fine) {
  body .bakery-home .primary-button:hover {background:#7d3f59;transform:translateY(-1px);}
}

/* The cake is the visual anchor. Its stage dissolves into the paper instead
   of placing the cutout inside a conspicuous template arch. */
.bakery-home .bakery-hero.shell {
  grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);
  gap:5%;padding:34px 0 28px;align-items:center;
}
.bakery-home .bakery-hero-copy {padding:0;align-self:center;}
.bakery-home .bakery-hero-copy .bakery-eyebrow {font-size:10px;margin:0 0 24px;}
.bakery-home .bakery-hero-copy h1 {
  font-size:clamp(62px,5.8vw,88px);line-height:1.01;
  letter-spacing:-.038em;margin:0;max-width:12ch;
}
.bakery-home .bakery-hero-copy h1 em {letter-spacing:-.035em;}
body .bakery-home .bakery-hero-copy .hero-description {
  max-width:37ch;font-size:15px;line-height:1.8;margin:24px 0 26px;
}
.bakery-home .boutique-actions {gap:24px;}
.bakery-home .bakery-hero-photo {
  height:clamp(455px,38vw,545px);margin:0;padding:0 16px 0;
  display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;
}
.bakery-home .bakery-hero-photo .hero-arch {
  inset:9% -5% 7%;border-radius:0;
  background:radial-gradient(ellipse at 50% 52%,#eed6dd 0%,#f3e3e5 38%,#f8f0ec90 57%,transparent 75%);
}
.bakery-home .bakery-hero-photo #hero-photo {
  grid-row:1;width:100%;height:100%;min-height:0;padding:0;
  object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 15px 12px #5b3d4b20);
}
.bakery-home .bakery-hero-photo figcaption {
  position:static;grid-row:2;margin:0;text-align:center;
  color:#795565;font-size:9px;line-height:1.5;letter-spacing:.12em;
}
.bakery-home .bakery-hero-photo figcaption span {
  margin-top:3px;font-size:18px;color:#785362;letter-spacing:0;
}
.bakery-home .boutique-note {
  padding-block:22px;border-color:#d9c7c88c;
  font-size:10px;letter-spacing:.045em;color:#755a66;
}

/* The collection has the scale and pace of a display, with quiet navigation. */
.bakery-home .bakery-gallery {
  padding:66px 0 54px;
  background:linear-gradient(180deg,var(--boutique-paper),#f5e9e8 38%,#f5e9e8 67%,var(--boutique-paper));
}
.bakery-home .gallery-heading {margin-bottom:30px;gap:32px;}
.bakery-home .gallery-heading h2 {font-size:clamp(42px,4.2vw,62px);margin:9px 0 15px;}
body .bakery-home .collection-intro {max-width:44ch;font-size:14px;line-height:1.75;}
.bakery-home .gallery-filters {gap:24px;}
.bakery-home .gallery-filters button {font-size:12px;font-weight:600;}
.bakery-home .cake-photo>span {font-size:22px;line-height:1.3;margin-top:22px;}
.bakery-home .gallery-footer {margin-top:27px;border-top-color:#d9c7cc7a;}
.bakery-home .gallery-footer p {font-size:12px;color:#735763;}

/* Wedding work and the maker's story use opposing editorial compositions;
   neither becomes another tinted, rounded card. */
.bakery-home .boutique-weddings {gap:9%;padding-block:76px;align-items:center;}
.bakery-home .wedding-art {
  height:560px;padding:12px 16px 56px;background:
    radial-gradient(ellipse at 47% 52%,#efdbdf 0%,#f6eaea 44%,transparent 73%);
}
.bakery-home .wedding-main {
  height:auto;max-height:100%;
  filter:drop-shadow(0 14px 10px #603e4d1c);
  /* Only soften the photographed crop edge; the cake remains fully opaque. */
  mask-image:linear-gradient(to bottom,#000 calc(100% - 10px),transparent);
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 10px),transparent);
}
.bakery-home .wedding-art-caption {font-size:17px;bottom:18px;color:#785767;}
.bakery-home .wedding-copy h2 {font-size:clamp(43px,4.2vw,61px);margin-top:13px;}
body .bakery-home .wedding-copy>p:not(.boutique-kicker) {font-size:14px;line-height:1.85;max-width:40ch;}
.bakery-home .wedding-detail {gap:19px;margin-top:30px;}
.bakery-home .wedding-detail img {width:145px;height:108px;border-radius:3px;}
.bakery-home .wedding-detail figcaption {font-size:20px;line-height:1.35;}
.bakery-home .boutique-process {padding:24px 0 68px;border-color:#d9c7c88c;}
.bakery-home .boutique-process ol {gap:44px;padding-top:25px;}
.bakery-home .boutique-process li {padding-top:20px;}
.bakery-home .boutique-process li>span {font-size:23px;color:#9c657e;}
.bakery-home .boutique-process h3 {font-size:28px;line-height:1.15;max-width:15ch;}
body .bakery-home .boutique-process li p {font-size:13px;line-height:1.8;min-height:64px;}
.bakery-home .bakery-reviews.shell {padding-block:61px;}
.bakery-home .bakery-review-rating {color:#9b627b;letter-spacing:.18em;margin-bottom:22px;}
.bakery-home .bakery-review-source {font-size:11px;color:#735763;}
.bakery-home .bakery-about.shell {max-width:1100px;gap:7%;padding-block:44px 70px;}
.bakery-home .tamara-story {padding-top:24px;}
.bakery-home .tamara-story h2 {font-size:clamp(45px,4.4vw,63px);margin-top:12px;}
body .bakery-home .tamara-story p:not(.boutique-kicker) {font-size:14px;line-height:1.85;max-width:42ch;}
.bakery-home .tamara-slides .tamara-slide img {filter:none;}
.bakery-home .tamara-slides .tamara-slide figcaption {font-size:11px;line-height:1.7;}
.bakery-home .tamara-appearances {margin-top:0;padding-top:30px;}
.bakery-home .tamara-appearances h3 {margin-bottom:20px;}
.bakery-home .tamara-appearance .tamara-event-location {font-size:13px;}
.bakery-home .tamara-event-dates {gap:20px 50px;}
.bakery-home .tamara-event-dates p {font-size:13px;line-height:1.8;}
.bakery-home .boutique-invitation {
  padding:62px 24px 55px;
  background:linear-gradient(180deg,var(--boutique-paper),#f0dfe3 36%,#f0dfe3 64%,var(--boutique-paper));
}
.bakery-home .boutique-invitation h2 {font-size:clamp(43px,4.8vw,68px);max-width:20ch;margin:14px auto 20px;}
body .site-footer {padding-block:25px;font-size:11px;color:#735763;}
body .concierge-flourish {display:none;}

@media(max-width:1000px) and (min-width:701px) {
  .bakery-home .shell {width:calc(100% - 64px);}
  .bakery-home .bakery-hero.shell {gap:4%;}
  .bakery-home .bakery-hero-copy h1 {font-size:clamp(52px,6.4vw,68px);}
  .bakery-home .bakery-hero-photo {height:455px;padding-inline:0;}
  .bakery-home .boutique-actions {gap:15px;}
  .bakery-home .wedding-art {height:480px;}
  .bakery-home .boutique-process ol {gap:25px;}
}

@media(max-width:700px) {
  body>.site-header {height:196px;min-height:196px;padding:11px 0;}
  body .site-header .bakery-logo-medallion {width:216px;height:174px;}
  body .site-header .boutique-utility {top:76px;right:0;display:flex;gap:0;}
  body .site-header .boutique-utility a[href="reception.html"] {display:inline-flex;font-size:10px;min-height:44px;}
  body .site-header .boutique-utility a[href="portal.html"] {display:none;}
  body .catalog-nav.shell {padding-bottom:8px;}
  .bakery-home .shell {width:calc(100% - 40px);}
  .bakery-home .bakery-hero.shell {grid-template-columns:minmax(0,1fr);gap:0;padding:22px 0 28px;}
  .bakery-home .bakery-hero-copy {display:contents;}
  .bakery-home .bakery-hero-copy .bakery-eyebrow {grid-row:1;margin:0 0 10px;text-align:center;font-size:8px;letter-spacing:.12em;}
  .bakery-home .bakery-hero-copy h1 {
    grid-row:2;text-align:center;justify-self:center;
    font-size:clamp(40px,10.8vw,52px);line-height:1.01;
    letter-spacing:-.032em;max-width:100%;margin:0 0 15px;
  }
  .bakery-home .bakery-hero-photo {
    grid-row:3;justify-self:center;width:100%;max-width:360px;
    height:clamp(272px,77vw,330px);gap:8px;padding:0 15px;margin:0 0 18px;
  }
  .bakery-home .bakery-hero-photo .hero-arch {inset:3% -4% 8%;}
  .bakery-home .bakery-hero-photo figcaption {font-size:8px;letter-spacing:.1em;}
  .bakery-home .bakery-hero-photo figcaption span {font-size:16px;margin-top:2px;}
  body .bakery-home .bakery-hero-copy .hero-description {
    grid-row:4;text-align:center;justify-self:center;margin:0 0 17px;
    max-width:36ch;font-size:13px;line-height:1.75;
  }
  .bakery-home .boutique-actions {grid-row:5;justify-content:center;gap:12px 20px;}
  body .bakery-home .primary-button {min-height:48px;padding:12px 20px;font-size:12px;}
  body .bakery-home .text-button {font-size:12px;}
  .bakery-home .boutique-note {padding-block:18px;gap:8px 16px;font-size:9px;}
  .bakery-home .bakery-gallery {padding:42px 0 34px;}
  .bakery-home .gallery-heading {margin-bottom:23px;}
  .bakery-home .gallery-heading h2 {font-size:42px;margin:8px 0 13px;}
  body .bakery-home .collection-intro {font-size:13px;max-width:36ch;}
  .bakery-home .gallery-filters {gap:22px;margin-top:15px;}
  .bakery-home .gallery-filters button {font-size:12px;}
  .bakery-home .cake-photo>span {font-size:21px;}
  .bakery-home .gallery-footer {margin-top:22px;}
  .bakery-home .gallery-footer p {font-size:11px;}
  .bakery-home .boutique-weddings {gap:24px;padding-block:43px;}
  .bakery-home .wedding-art {height:390px;padding:5px 12px 45px;}
  .bakery-home .wedding-art-caption {font-size:16px;bottom:10px;}
  .bakery-home .wedding-copy h2 {font-size:43px;}
  body .bakery-home .wedding-copy>p:not(.boutique-kicker) {font-size:14px;}
  .bakery-home .wedding-detail {gap:17px;}
  .bakery-home .wedding-detail img {width:125px;height:96px;}
  .bakery-home .wedding-detail figcaption {font-size:18px;}
  .bakery-home .boutique-process {padding:16px 0 41px;}
  .bakery-home .boutique-process ol {gap:22px;padding-top:17px;}
  .bakery-home .boutique-process li {padding-top:18px;}
  .bakery-home .boutique-process h3 {max-width:none;}
  body .bakery-home .boutique-process li p {min-height:0;}
  .bakery-home .bakery-reviews.shell {padding-block:43px;}
  .bakery-home .bakery-about.shell {gap:25px;padding-block:28px 43px;}
  .bakery-home .tamara-story {padding-top:0;}
  .bakery-home .tamara-story h2 {font-size:46px;}
  body .bakery-home .tamara-story p:not(.boutique-kicker) {font-size:14px;}
  .bakery-home .tamara-slideshow {max-width:370px;}
  .bakery-home .tamara-appearances {padding-top:25px;}
  .bakery-home .tamara-event-dates {gap:14px;}
  .bakery-home .boutique-invitation {padding:43px 20px;}
  .bakery-home .boutique-invitation h2 {font-size:43px;max-width:16ch;}
}

/* On a phone, begin the request rather than presenting a second introduction
   to an optional tool. Saved work stays visible as compact visual context. */
@media(max-width:760px) {
  .bakery-request .bakery-page-heading {padding-top:23px;padding-bottom:21px;margin-bottom:22px;}
  .bakery-request .bakery-page-heading h1 {margin-top:7px;margin-bottom:12px;}
  .bakery-request .draft-label {margin-top:8px;}
  .bakery-request .request-layout {gap:24px;}
  .bakery-request .cake-request-design:has(#request-inspiration[hidden]):has(#request-has-cake[hidden]) {
    display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px;
    padding-bottom:15px!important;
  }
  .bakery-request .cake-request-design:has(#request-inspiration[hidden]):has(#request-has-cake[hidden]) #request-no-cake {display:contents;}
  .bakery-request .cake-request-design:has(#request-inspiration[hidden]):has(#request-has-cake[hidden]) #request-no-cake h2,
  .bakery-request .cake-request-design:has(#request-inspiration[hidden]):has(#request-has-cake[hidden]) #request-no-cake p {display:none;}
  .bakery-request .cake-request-design:has(#request-inspiration[hidden]):has(#request-has-cake[hidden]) .request-more-ideas {margin-top:0;}
  .bakery-request .cake-request-design:has(#request-inspiration:not([hidden])) #request-no-cake:not([hidden]) {display:contents;}
  .bakery-request .cake-request-design:has(#request-inspiration:not([hidden])) #request-no-cake h2,
  .bakery-request .cake-request-design:has(#request-inspiration:not([hidden])) #request-no-cake p {display:none;}
  .bakery-request #request-inspiration-list {gap:15px;padding-bottom:0;}
  .bakery-request #request-inspiration-list figure {flex-basis:126px;}
  .bakery-request #request-inspiration-list img {height:112px;}
  .bakery-request #request-inspiration-list figcaption {font-size:18px;margin-top:8px;}
  .bakery-request #request-inspiration-list .text-button {min-height:44px;font-size:11px;}
  .bakery-request .request-inspiration .request-section-note {margin-bottom:14px;}
  .bakery-request .request-inspiration {margin-bottom:0;padding-bottom:0;border-bottom:0;}
  .bakery-request .cake-request-design>img {height:180px;max-height:180px;margin:0 0 15px;}
  .bakery-request .request-more-ideas {margin-top:8px;}
  .bakery-request #request-has-cake h2 {margin-top:4px;margin-bottom:5px;}
  .bakery-request .request-design-details summary {padding-block:10px;}
  .bakery-request .request-details legend {margin-bottom:17px;}
}
@media(max-width:700px) {
  body .bakery-reception-panel,body.catalog-router-ready .bakery-reception-panel {
    height:calc(100svh - 174px);min-height:420px;
  }
  body .reception-intro h2 {font-size:40px;}
  body .reception-welcome-note {font-size:13px;line-height:1.75;}
  body .bakery-faqs button,body.catalog-router-ready .bakery-faqs button {font-size:12px;}
}

@media(max-width:359px) {
  body .site-header .bakery-logo-medallion {width:216px;}
  body .site-header .boutique-utility {display:flex;}
  body .site-header .boutique-utility a[href="reception.html"] {font-size:9.5px;}
  .bakery-home .bakery-hero-photo {height:267px;padding-inline:8px;}
  .bakery-home .bakery-hero-copy h1 {font-size:39px;}
  .bakery-home .boutique-actions {gap:14px;}
  body .bakery-home .primary-button {padding-inline:15px;font-size:11px;}
  body .bakery-home .text-button {font-size:11px;}
  .bakery-home .gallery-heading h2 {font-size:39px;}
  .bakery-home .wedding-detail {gap:14px;}
  .bakery-home .wedding-detail img {width:108px;height:87px;}
  .bakery-home .wedding-copy h2,.bakery-home .boutique-invitation h2 {font-size:39px;}
}

@media(prefers-reduced-motion:reduce) {
  body .catalog-nav.shell a,body .catalog-nav.shell a::before {transition:none;}
  body .bakery-home .primary-button {transition:none;}
  body .bakery-home .primary-button:hover {transform:none;}
}
