:root{
  --agora-ink:#171310;
  --agora-cream:#fff8ed;
  --agora-paper:#fffdf9;
  --agora-red:#a91f27;
  --agora-blue:#173d64;
  --agora-gold:#c79a45;
  --agora-line:rgba(82,55,34,.16);
  --agora-shadow:0 24px 70px rgba(25,14,7,.16);
}

.intro-gallery{
  position:relative;
  min-width:0;
  overflow:hidden;
  border-radius:260px 260px 22px 22px;
  background:#e7ded2;
  box-shadow:var(--agora-shadow);
  isolation:isolate;
}
.intro-track{display:flex;transition:transform .75s cubic-bezier(.22,.72,.24,1);will-change:transform}
.intro-slide{position:relative;flex:0 0 100%;margin:0;min-width:100%}
.intro-slide:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(12,9,7,.72));pointer-events:none}
.intro-slide img{width:100%;height:560px;object-fit:cover;transform:scale(1.015)}
.intro-slide figcaption{position:absolute;z-index:2;left:30px;right:30px;bottom:30px;color:#fff;font-family:"Playfair Display",serif;font-size:1.45rem;font-weight:700;text-shadow:0 2px 20px rgba(0,0,0,.45)}
.intro-controls{position:absolute;z-index:4;left:26px;right:26px;top:50%;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.intro-controls button{pointer-events:auto;width:44px;height:44px;border:1px solid rgba(255,255,255,.46);border-radius:50%;background:rgba(18,13,10,.52);backdrop-filter:blur(8px);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;transition:.2s ease}
.intro-controls button:hover{background:var(--agora-red);transform:scale(1.05)}
.intro-dots{position:absolute;left:50%;top:240px;transform:translateX(-50%);display:flex;gap:7px;pointer-events:auto}
.intro-dot{width:8px!important;height:8px!important;border:0!important;padding:0;border-radius:50%;background:rgba(255,255,255,.55)!important}
.intro-dot.active{width:24px!important;border-radius:999px;background:#fff!important}
.intro-gallery .intro-badge{z-index:5}

.cake-collage{background:linear-gradient(145deg,#f4e8d9,#e9d7c5);min-height:520px}
.cake-collage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.88),transparent 38%),linear-gradient(135deg,rgba(255,255,255,.4),transparent 55%);z-index:0}
.cake-link{position:absolute;display:block;aspect-ratio:1;overflow:hidden;border-radius:20px;border:6px solid rgba(255,255,255,.96);box-shadow:0 24px 45px rgba(45,24,10,.24);text-decoration:none;cursor:pointer;isolation:isolate;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease,opacity .35s ease,filter .35s ease;will-change:transform}
.cake-link-main{z-index:2;width:55%;left:5%;top:10%;transform:rotate(-5deg)}
.cake-link-top{z-index:1;width:43%;right:3%;top:4%;transform:rotate(8deg)}
.cake-link-bottom{z-index:3;width:38%;right:5%;bottom:13%;transform:rotate(4deg)}
.bakery-visual.cake-collage .cake-link .cake-shot{position:static;display:block;width:100%;height:100%;min-height:0;object-fit:cover;aspect-ratio:1;transform:scale(1.01);transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.cake-collage:hover .cake-link{opacity:.72;filter:saturate(.82)}
.cake-collage .cake-link:hover,.cake-collage .cake-link:focus-visible{z-index:5;opacity:1;filter:saturate(1.08);box-shadow:0 34px 62px rgba(35,18,8,.38);outline:0}
.cake-link-main:hover,.cake-link-main:focus-visible{transform:rotate(-2deg) translate(-4px,-14px) scale(1.07)}
.cake-link-top:hover,.cake-link-top:focus-visible{transform:rotate(3deg) translate(5px,-13px) scale(1.08)}
.cake-link-bottom:hover,.cake-link-bottom:focus-visible{transform:rotate(1deg) translate(4px,-14px) scale(1.09)}
.cake-link:hover .cake-shot,.cake-link:focus-visible .cake-shot{transform:scale(1.08)!important}
.cake-link-label{position:absolute;z-index:2;left:50%;bottom:16px;min-width:max-content;padding:9px 15px;border-radius:999px;background:rgba(169,31,39,.94);box-shadow:0 10px 24px rgba(0,0,0,.25);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.02em;opacity:0;transform:translate(-50%,10px);transition:opacity .3s ease,transform .3s ease}
.cake-link:hover .cake-link-label,.cake-link:focus-visible .cake-link-label{opacity:1;transform:translate(-50%,0)}
.cake-link:focus-visible:after{content:"";position:absolute;inset:5px;border:3px solid #fff;border-radius:13px;box-shadow:0 0 0 3px var(--agora-red);pointer-events:none}
.cake-collage .bakery-overlay{z-index:6;background:linear-gradient(180deg,transparent 57%,rgba(20,12,7,.76));pointer-events:none}
.cake-collage .bakery-overlay a{pointer-events:auto}
.cake-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.cake-showcase a{position:relative;min-width:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(42,23,10,.1);text-decoration:none}
.cake-showcase img{width:100%;aspect-ratio:1.12;object-fit:cover;transition:transform .45s ease}
.cake-showcase a:hover img{transform:scale(1.055)}
.cake-showcase span{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 10px;border-radius:999px;background:rgba(23,19,16,.78);backdrop-filter:blur(8px);color:#fff;text-align:center;font-size:.82rem;font-weight:700}

.reservation-card{border:1px solid var(--agora-line)}
.reservation-photo{position:relative;overflow:hidden;min-height:520px}
.reservation-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(13,9,7,.68))}
.reservation-photo img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center 62%;transition:transform .7s ease}
.reservation-card:hover .reservation-photo img{transform:scale(1.035)}
.reservation-photo span{position:absolute;z-index:2;left:24px;bottom:22px;color:#fff;font-weight:700;letter-spacing:.04em}
.reservation-copy{position:relative}
.reservation-copy:before{content:"";position:absolute;width:76px;height:4px;left:65px;top:38px;border-radius:99px;background:linear-gradient(90deg,var(--agora-gold),transparent)}

.catalog-inspiration{padding:50px 0 0;background:var(--agora-cream)}
.inspiration-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.inspiration-heading h2{font:700 clamp(2rem,4vw,3.2rem)/1.05 "Playfair Display",serif;margin:0}
.inspiration-heading p{max-width:480px;color:#6f645b;margin:0}
.inspiration-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.inspiration-strip figure{position:relative;margin:0;overflow:hidden;border-radius:18px;box-shadow:0 12px 32px rgba(42,23,10,.09);background:#fff}
.inspiration-strip img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .45s ease}
.inspiration-strip figure:hover img{transform:scale(1.05)}
.inspiration-strip figcaption{position:absolute;left:8px;right:8px;bottom:8px;padding:7px 8px;border-radius:999px;background:rgba(23,19,16,.76);backdrop-filter:blur(8px);color:#fff;text-align:center;font-size:.72rem;font-weight:700}

@media(max-width:900px){
  .intro-slide img{height:450px}.intro-dots{top:185px}
  .cake-collage{min-height:430px}.cake-showcase{grid-template-columns:repeat(2,1fr)}
  .cake-link-label{opacity:1;transform:translate(-50%,0);font-size:.7rem;padding:7px 11px}
  .inspiration-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.inspiration-strip figure{flex:0 0:42%;scroll-snap-align:start}
  .reservation-copy:before{left:38px}
}
@media(max-width:560px){
  .intro-gallery{border-radius:150px 150px 18px 18px}.intro-slide img{height:385px}.intro-slide figcaption{left:20px;bottom:22px;font-size:1.18rem}.intro-controls{left:14px;right:14px}.intro-dots{top:160px}
  .cake-collage{min-height:350px}.cake-link{border-width:4px;border-radius:15px}.cake-link-main{width:57%;left:3%;top:10%}.cake-link-top{width:42%;right:2%;top:5%}.cake-link-bottom{width:39%;right:4%;bottom:17%}.cake-link-label{bottom:9px}.cake-showcase{grid-template-columns:1fr 1fr;gap:10px}.cake-showcase span{font-size:.75rem}
  .reservation-photo,.reservation-photo img{min-height:390px}.reservation-photo span{font-size:.8rem}
  .inspiration-heading{align-items:start;flex-direction:column}.inspiration-strip figure{flex-basis:70%}
}
@media(prefers-reduced-motion:reduce){.intro-track,.cake-link,.cake-shot,.cake-link-label,.cake-showcase img,.reservation-photo img,.inspiration-strip img{transition:none!important}}
