/* Tamara's bakery in full: dessert catering, custom cakes and community.
   Existing router, gallery and photo lifecycle remain the motion owners. */
.bakery-home .bakery-hero.shell {
  grid-template-columns:minmax(0,.95fr) minmax(0,1.08fr);
  gap:5%;padding-block:48px 40px;
}
.bakery-home .bakery-hero-copy h1 {
  max-width:10ch;font-size:clamp(72px,7.2vw,104px);line-height:.95;
  letter-spacing:-.045em;
}
.bakery-home .bakery-hero-copy h1 em {letter-spacing:-.035em;}
body .bakery-home .bakery-hero-copy .hero-description {
  max-width:38ch;margin:28px 0 30px;font-size:14px;line-height:1.9;
}
.bakery-home .bakery-dessert-hero {
  height:clamp(440px,38vw,550px);padding:0;gap:16px;
  grid-template-rows:minmax(0,1fr) auto;
}
.bakery-home .bakery-dessert-hero .hero-arch {
  inset:10% -5% 14%;
  background:radial-gradient(ellipse at 57% 58%,#efdadd80 0%,#f6eae55e 42%,transparent 73%);
}
.hero-dessert-stage {position:relative;grid-row:1;min-width:0;min-height:0;isolation:isolate;}
.bakery-home .bakery-dessert-hero .hero-dessert-cake {
  position:absolute;width:48%;height:81%;max-width:none;left:-5%;bottom:16%;
  object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 9px #5f374d15);z-index:1;
}
.bakery-home .bakery-dessert-hero .hero-dessert-companion {
  position:absolute;width:57%;height:auto;max-width:none;right:-9%;bottom:22%;
  object-fit:contain;filter:drop-shadow(0 11px 9px #5f374d13);z-index:2;
}
.bakery-home .bakery-dessert-hero #hero-photo {
  position:absolute;left:25%;bottom:7%;width:72%;height:auto;max-width:none;
  min-height:0;object-fit:contain;filter:drop-shadow(0 12px 10px #5f374d15);z-index:3;
}
.bakery-home .bakery-dessert-hero .hero-dessert-cookies {
  position:absolute;left:-10%;bottom:1%;width:57%;height:auto;max-width:none;
  object-fit:contain;filter:drop-shadow(0 5px 4px #5f374d12);z-index:4;
}
.bakery-home .bakery-dessert-hero .hero-dessert-brownies {
  position:absolute;left:24%;bottom:-4%;width:40%;height:auto;max-width:none;
  object-fit:contain;filter:drop-shadow(0 5px 4px #5f374d12);z-index:5;
}
.bakery-home .bakery-dessert-hero .hero-dessert-cupcake-display {
  position:absolute;left:24%;bottom:27%;width:70%;height:auto;max-width:none;
  object-fit:contain;filter:drop-shadow(0 9px 7px #5f374d18);z-index:0;
}
.bakery-home .bakery-dessert-hero .hero-dessert-crispies {
  position:absolute;left:59%;bottom:-3%;width:44%;height:auto;max-width:none;
  object-fit:contain;filter:drop-shadow(0 5px 4px #5f374d15);z-index:6;
}
.bakery-home .bakery-dessert-hero figcaption {padding-top:0;}
.bakery-home .bakery-dessert-hero figcaption span {font-size:17px;}
.bakery-home .bakery-service-links {
  justify-content:space-around;padding-block:18px;gap:20px;
}
.bakery-service-links a {
  color:var(--boutique-muted);text-decoration:none;font:500 11px/1.6 var(--sans);
  letter-spacing:.025em;padding:8px 0;
}
.bakery-service-links a:hover {color:var(--boutique-rose);}
.bakery-service-links a:focus-visible {outline:2px solid var(--boutique-rose);outline-offset:5px;}

/* Photographic catering context has its own deliberate proportions. */
.bakery-home .bakery-catering {grid-template-columns:1.04fr 1fr;gap:8%;}
.bakery-home .catering-art {
  height:auto;min-height:0;padding:0 0 37px;display:block;background:none;
}
.bakery-home .catering-art .catering-main {
  display:block;width:100%;height:auto;max-height:none;aspect-ratio:4/3;
  object-fit:cover;object-position:50% 50%;filter:none;mask:none;-webkit-mask:none;
  border-radius:3px;box-shadow:0 18px 32px -27px #51374470;
}
.bakery-home .catering-art .wedding-art-caption {bottom:1px;font-size:16px;}
.bakery-home .bakery-catering h2 {font-size:clamp(39px,3.9vw,57px);}
.bakery-home .catering-detail {margin-top:35px;gap:20px;}
.bakery-home .catering-detail img {
  width:142px;height:150px;object-fit:cover;object-position:50% 45%;border-radius:3px;
}
.bakery-home .catering-detail figcaption {font-size:19px;}

/* A single documented winning cake sits with the customer voices. */
.bakery-home .bakery-reviews.shell {width:min(1100px,calc(100% - 96px));}
.bakery-recognition {
  display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:11%;
  padding:0 0 60px;margin:0 0 48px;border-bottom:1px solid #d9c7cc8a;
  text-align:left;
}
.recognition-photo {margin:0;width:100%;min-width:0;}
.recognition-photo img {
  display:block;width:100%;height:auto;object-fit:contain;object-position:center;margin-inline:auto;
  background:none;border-radius:0;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.94) 81%,rgba(0,0,0,.72) 87%,rgba(0,0,0,.38) 93%,rgba(0,0,0,.10) 97%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.94) 81%,rgba(0,0,0,.72) 87%,rgba(0,0,0,.38) 93%,rgba(0,0,0,.10) 97%,transparent 100%);
}
.bakery-home .recognition-copy h2 {
  font-size:clamp(38px,3.7vw,53px);line-height:1.08;margin:12px 0 18px;
}
.bakery-home .recognition-copy>p:not(.boutique-kicker) {
  max-width:30ch;font:400 14px/1.85 var(--sans);margin:0 0 14px;
}
.bakery-home .bakery-review-stack {max-width:800px;margin-inline:auto;}

/* #catering replaces the former wedding-led scene without changing transitions. */
.bakery-home > #catering {scroll-margin-top:200px;}
html:not([data-bakery-scenes-ready]):has(#catering:target) .bakery-home > :not(#catering):not(.boutique-process) {display:none!important;}
.bakery-home[data-scene="catering"] .bakery-catering {padding-top:48px;padding-bottom:65px;}

@media(min-width:701px) and (max-width:1000px) {
  .bakery-home .bakery-hero.shell {gap:2%;padding-block:38px;}
  .bakery-home .bakery-hero-copy h1 {font-size:clamp(68px,8.2vw,82px);}
  .bakery-home .bakery-dessert-hero {height:390px;}
  body .bakery-home .bakery-hero-copy .hero-description {max-width:31ch;font-size:13px;}
  .bakery-home .bakery-catering {gap:6%;}
  .bakery-home .bakery-catering h2 {font-size:43px;}
  .bakery-recognition {gap:7%;}
  .recognition-photo img {height:auto;}
}
@media(max-width:700px) {
  .bakery-home .bakery-hero.shell {grid-template-columns:minmax(0,1fr);padding:27px 0 29px;gap:0;}
  .bakery-home .bakery-hero-copy h1 {font-size:clamp(58px,16vw,78px);line-height:.96;margin:0 0 8px;}
  .bakery-home .bakery-hero-copy .bakery-eyebrow {font-size:8px;margin-bottom:15px;}
  .bakery-home .bakery-dessert-hero {height:clamp(300px,84vw,365px);max-width:400px;margin:0 0 18px;gap:11px;}
  .bakery-home .bakery-dessert-hero figcaption {font-size:8px;}
  .bakery-home .bakery-dessert-hero figcaption span {font-size:16px;}
  body .bakery-home .bakery-hero-copy .hero-description {max-width:36ch;margin:0 0 21px;font-size:13px;line-height:1.8;}
  .bakery-home .bakery-service-links {gap:9px;justify-content:space-between;flex-wrap:nowrap;padding-block:12px;}
  .bakery-service-links a {font-size:10px;letter-spacing:0;text-align:center;}
  .bakery-home .bakery-catering {grid-template-columns:1fr;gap:30px;}
  .bakery-home .catering-art {padding-bottom:32px;}
  .bakery-home .catering-art .catering-main {aspect-ratio:4/3;object-position:50% 50%;}
  .bakery-home .catering-art .wedding-art-caption {font-size:15px;}
  .bakery-home .bakery-catering h2 {font-size:42px;}
  .bakery-home .catering-detail {margin-top:26px;}
  .bakery-home .catering-detail img {width:125px;height:135px;}
  .bakery-home .catering-detail figcaption {font-size:18px;}
  .bakery-home .bakery-reviews.shell {width:calc(100% - 40px);}
  .bakery-recognition {grid-template-columns:1fr;gap:20px;padding-bottom:35px;margin-bottom:35px;}
  .recognition-photo {max-width:none;margin-inline:0;}
  .recognition-photo img {width:100%;height:auto;}
  .bakery-home .recognition-copy h2 {font-size:39px;margin-bottom:15px;}
  .bakery-home .recognition-copy>p:not(.boutique-kicker) {max-width:35ch;font-size:13px;}
  .bakery-home[data-scene="catering"] .bakery-catering {padding-top:28px;padding-bottom:40px;}
}

/* The lineup originals have different canvas shapes; keep the cup bodies at a common visual scale. */
.bakery-home .cake-photo[data-presentation="cup-portrait"] .cake-photo-stage .cake-photo-product {
 width:100%;height:215px;max-height:215px;object-fit:contain;object-position:center bottom;padding:0;
}
.bakery-home .cake-photo[data-presentation="cupcakes"] .cake-photo-stage .cake-photo-product {
 width:270px;height:170px;max-height:170px;object-fit:contain;object-position:center bottom;padding:0;
}
@media(max-width:700px) {
 .bakery-home .cake-photo[data-presentation="cup-portrait"] .cake-photo-stage .cake-photo-product {height:175px;max-height:175px;}
 .bakery-home .cake-photo[data-presentation="cupcakes"] .cake-photo-stage .cake-photo-product {width:220px;height:140px;max-height:140px;}
}
@media(max-width:359px) {
  .bakery-home .bakery-hero-copy h1 {font-size:56px;}
  .bakery-service-links a {font-size:9px;}
  .bakery-home .bakery-catering h2,.bakery-home .recognition-copy h2 {font-size:36px;}
}

/* Keep the enlarged award photo close to the preceding event on Meet Tamara. */
.bakery-home[data-scene="tamara"] .bakery-about.shell {padding-bottom:0;}
.bakery-home[data-scene="tamara"] .bakery-reviews.shell {padding-top:12px;}

/* The source has 160px black bars above/below a 720x960 photograph.
   Clip only those bars; retain every pixel of the actual photo at every size. */
.bakery-recognition .recognition-photo {
 position:relative;overflow:hidden;aspect-ratio:3 / 4;
 -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.94) 81%,rgba(0,0,0,.72) 87%,rgba(0,0,0,.38) 93%,rgba(0,0,0,.10) 97%,transparent 100%);
 mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.94) 81%,rgba(0,0,0,.72) 87%,rgba(0,0,0,.38) 93%,rgba(0,0,0,.10) 97%,transparent 100%);
}
.bakery-recognition .recognition-photo img {
 position:absolute;left:0;top:-16.666667%;width:100%;height:133.333333%;max-width:none;
 object-fit:fill;-webkit-mask-image:none;mask-image:none;
}
/* Desktop keeps the full photograph; only its right edge blends behind copy. */
@media(min-width:701px) {
 .bakery-recognition {position:relative;isolation:isolate;display:block;min-height:0;gap:0;}
 .bakery-recognition .recognition-photo {
  position:relative;inset:auto;z-index:0;width:min(64%,640px);max-width:none;margin:0;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 48%,rgba(0,0,0,.90) 57%,rgba(0,0,0,.60) 65%,rgba(0,0,0,.25) 74%,rgba(0,0,0,.09) 84%,rgba(0,0,0,.02) 94%,transparent 100%);
  mask-image:linear-gradient(to right,#000 0%,#000 48%,rgba(0,0,0,.90) 57%,rgba(0,0,0,.60) 65%,rgba(0,0,0,.25) 74%,rgba(0,0,0,.09) 84%,rgba(0,0,0,.02) 94%,transparent 100%);
 }
 .bakery-recognition .recognition-copy {position:absolute;z-index:1;left:44%;top:calc(50% - 30px);transform:translateY(-50%);width:56%;margin:0;padding:0;}
 .bakery-home .recognition-copy h2 {font-size:clamp(42px,4.8vw,64px);font-weight:500;line-height:1.04;letter-spacing:-.035em;margin:16px 0 24px;color:#3f2632;}
 .bakery-home .recognition-copy>p:not(.boutique-kicker) {max-width:32ch;font-size:clamp(15px,1.4vw,17px);font-weight:450;line-height:1.75;color:#493b40;}
 .bakery-home .recognition-copy .boutique-kicker {font-size:13px;font-weight:600;letter-spacing:.16em;color:#805366;}
 .bakery-home .recognition-copy .text-button {font-size:15px;font-weight:500;color:#49303b;}
}