@font-face {
  font-family:Fraunces;
  src:local('Georgia');
  font-weight:400 700;
  font-display:swap
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:#f5f0e7;
  color:#38251f;
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.65
}
a {
  color:inherit;
  text-decoration:none
}
button,input,textarea {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:2px solid #9a543e;
  outline-offset:4px
}
.skip-link {
  position:absolute;
  top:-5rem;
  left:1rem;
  background:#38251f;
  color:#fff;
  padding:.75rem;
  z-index:20
}
.skip-link:focus {
  top:1rem
}
.site-header {
  height:94px;
  padding:0 6vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #38251f21;
  position:relative;
  z-index:10;
  background:#f5f0e7
}
.wordmark {
  display:flex;
  align-items:center;
  gap:10px;
  font-family:Fraunces,Georgia,serif;
  font-size:24px;
  line-height:1.05
}
.wordmark i {
  color:#a55c48;
  font-weight:400
}
.wordmark small {
  display:block;
  margin-top:7px;
  font:9px Arial,sans-serif;
  letter-spacing:.22em
}
.wordmark-flower {
  font-size:28px;
  color:#a55c48
}
.nav {
  display:flex;
  align-items:center;
  gap:clamp(12px,1.8vw,29px);
  font-size:12px;
  letter-spacing:.045em
}
.nav>a {
  position:relative;
  padding:9px 0
}
.nav>a:after {
  content:"";
  position:absolute;
  left:0;
  bottom:3px;
  width:100%;
  height:1px;
  background:#a55c48;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s
}
.nav>a:hover:after,.nav>a[aria-current=page]:after {
  transform:scaleX(1)
}
.language-switch {
  display:flex;
  align-items:center;
  gap:8px;
  border-left:1px solid #38251f33;
  padding-left:16px
}
.language-switch a {
  color:#8b8177
}
.nav-toggle {
  display:none
}
.hero {
  min-height:620px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  padding:50px 9vw 70px;
  gap:3vw;
  overflow:hidden
}
.hero-copy {
  position:relative;
  z-index:2
}
.eyebrow {
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  color:#a55c48
}
.hero h1,.page-hero h1 {
  font:clamp(54px,7vw,102px)/.99 Fraunces,Georgia,serif;
  letter-spacing:-.055em;
  font-weight:400;
  margin:28px 0
}
.hero h1>span,.hero h1>i,.page-hero h1>i {
  display:block
}
.hero h1 i,.page-hero h1 i,.feature-copy h2 i,.closing-cta h2 i,.section-heading h2 i,.seasonal h2 i,.split-copy h2 i,.editorial-lead h2 i {
  font-weight:400;
  color:#a55c48
}
.hero-lead {
  font-size:17px;
  max-width:460px;
  color:#63544b
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:36px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:14px 20px;
  font-size:12px;
  letter-spacing:.04em;
  transition:transform .25s,background .25s,color .25s;
  min-height:50px
}
.button:hover {
  transform:translateY(-3px)
}
.button span {
  font-size:17px
}
.button-dark {
  background:#38251f;
  color:#fff
}
.button-dark:hover {
  background:#a55c48
}
.button-light {
  background:#f5f0e7;
  color:#38251f
}
.button-light:hover {
  background:#e6c8b8
}
.text-link {
  font-size:12px;
  border-bottom:1px solid #a55c48;
  padding:8px 0
}
.hero-index {
  display:block;
  margin-top:46px;
  font-size:10px;
  letter-spacing:.2em;
  color:#8f7e70
}
.hero-visual {
  height:520px;
  position:relative;
  padding:20px 28px
}
.photo {
  position:relative;
  overflow:hidden;
  margin:0;
  background-color:#e5d5c8;
  isolation:isolate;
  min-width:0
}
.photo-art {
  position:absolute;
  inset:0;
  overflow:hidden;
  background:radial-gradient(ellipse at 70% 34%,#f5e6d7 0 10%,transparent 10.5%),radial-gradient(ellipse at 50% 45%,#aa6953 0 19%,transparent 19.5%),radial-gradient(ellipse at 52% 62%,#f4e9dc 0 26%,transparent 26.5%),linear-gradient(135deg,#c3a089,#e8d6c7 50%,#b77f68)
}
.photo-art:before {
  content:"";
  position:absolute;
  inset:8%;
  border:1px solid #fff8;
  transform:rotate(-4deg)
}
.photo-art:after {
  content:"";
  position:absolute;
  width:140%;
  height:15%;
  top:72%;
  left:-15%;
  background:#fff3;
  transform:rotate(-18deg)
}
.photo-art i,.photo-art b,.photo-art em {
  position:absolute;
  display:block;
  border-radius:50%;
  background:#5c332b;
  opacity:.6
}
.photo-art i {
  width:9%;
  aspect-ratio:1;
  left:32%;
  top:36%;
  box-shadow:24px 10px 0 #f0d3ac,45px -2px 0 #7d4839
}
.photo-art b {
  width:33%;
  height:9%;
  left:35%;
  top:58%;
  background:#fff5e8;
  transform:rotate(-14deg)
}
.photo-art em {
  width:8%;
  aspect-ratio:1;
  right:15%;
  top:20%;
  background:#f6e8d2
}
.photo figcaption {
  position:absolute;
  bottom:12px;
  left:14px;
  color:#fff;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 1px 4px #38251f
}
.hero-photo {
  height:100%;
  box-shadow:18px 18px 0 #d5b7a7
}
.hero-photo .photo-art {
  background:radial-gradient(ellipse at 52% 49%,#f7e5d3 0 10%,#9d6049 10.5% 19%,#e6c6af 19.5% 21%,transparent 21.5%),radial-gradient(ellipse at 45% 68%,#fcf1e4 0 24%,transparent 24.5%),linear-gradient(140deg,#9b6b56,#d9ad94 55%,#efe1d2)
}
.seal {
  position:absolute;
  right:-1vw;
  bottom:45px;
  width:116px;
  height:116px;
  display:grid;
  place-items:center;
  text-align:center;
  border-radius:50%;
  background:#f0c8b5;
  color:#54362c;
  font:12px/1.5 Fraunces,Georgia,serif;
  transform:rotate(9deg);
  padding:18px;
  z-index:2
}
.hero-orbit {
  position:absolute;
  inset:-15px 0 0 10px;
  border:1px solid #a55c4860;
  border-radius:48% 52% 48% 52%;
  transform:rotate(14deg);
  pointer-events:none
}
.intro-band {
  padding:66px 12vw;
  display:flex;
  align-items:center;
  gap:7vw;
  background:#ead8cb;
  position:relative
}
.intro-band p {
  font:clamp(24px,3vw,39px)/1.3 Fraunces,Georgia,serif;
  max-width:800px;
  margin:0
}
.band-mark {
  font-size:50px;
  color:#a55c48
}
.section {
  padding:110px 10vw
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:40px
}
.section-heading h2,.feature-copy h2,.seasonal h2,.split-copy h2,.editorial-lead h2 {
  font:clamp(42px,5.4vw,70px)/1.08 Fraunces,Georgia,serif;
  font-weight:400;
  letter-spacing:-.04em;
  margin:18px 0
}
.section-heading h2 i,.split-copy h2 i,.feature-copy h2 i,.seasonal h2 i,.editorial-lead h2 i {
  display:block
}
.category-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:22px
}
.category-link:nth-child(2) {
  margin-top:60px
}
.category-photo {
  aspect-ratio:4/5;
  transition:transform .6s
}
.category-link:hover .category-photo {
  transform:translateY(-5px)
}
.category-link>span {
  display:flex;
  justify-content:space-between;
  padding:14px 2px;
  font:23px Fraunces,Georgia,serif
}
.category-link>span b {
  font:19px Arial;
  color:#a55c48
}
.dark-section {
  background:#38251f;
  color:#f5f0e7
}
.split-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:8vw;
  padding:100px 12vw
}
.split-media .photo,.split-section>.photo {
  height:480px
}
.split-copy p,.feature-copy p,.seasonal p,.page-hero p,.editorial-card p {
  color:inherit;
  opacity:.78;
  max-width:470px;
  margin:22px 0 30px
}
.dark-section .eyebrow {
  color:#e2b49e
}
.dark-section h2 i {
  color:#e2b49e
}
.dark-section .photo-art {
  background:radial-gradient(ellipse at 45% 48%,#e8cbb2 0 16%,#723f33 16.5% 25%,transparent 25.5%),linear-gradient(120deg,#80604e,#d0a18a 55%,#e8d7c9)
}
.feature-section {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:8vw;
  align-items:center
}
.feature-photo {
  aspect-ratio:5/4
}
.feature-copy {
  padding-left:3vw
}
.seasonal {
  padding:100px 12vw;
  background:#e2bda9;
  text-align:center
}
.seasonal p {
  margin:20px auto 28px
}
.closing-cta {
  background:#6c4034;
  color:#f5f0e7;
  text-align:center;
  padding:100px 20px 110px;
  position:relative;
  overflow:hidden
}
.closing-cta h2 {
  font:clamp(42px,6vw,76px)/1.08 Fraunces,Georgia,serif;
  font-weight:400;
  margin:18px auto 30px
}
.closing-cta h2 i {
  display:block;
  color:#eac6b1
}
.closing-cta .eyebrow {
  color:#efc6af
}
.cta-photo {
  position:absolute;
  right:clamp(12px,3vw,28px);
  top:clamp(12px,2vw,22px);
  width:min(170px,28vw);
  height:min(180px,32vw);
  opacity:.34;
  transform:rotate(8deg)
}
.cta-photo figcaption {
  left:10px;
  right:10px;
  bottom:12px;
  letter-spacing:.06em;
  line-height:1.35
}
.page-hero {
  padding:96px 12vw 86px;
  background:#e9d7ca;
  position:relative;
  overflow:hidden
}
.page-hero:after {
  content:"✳";
  position:absolute;
  right:8vw;
  top:24px;
  font-size:240px;
  color:#a55c4812;
  line-height:1
}
.page-hero h1 {
  font-size:clamp(55px,8vw,104px);
  max-width:980px;
  position:relative;
  z-index:1
}
.page-hero p {
  max-width:620px;
  font-size:18px;
  position:relative;
  z-index:1
}
.editorial-intro {
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:8vw;
  align-items:center
}
.intro-photo {
  height:390px
}
.editorial-lead h2 {
  font-size:clamp(42px,5vw,67px)
}
.product-grid {
  padding-top:25px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px 22px
}
.editorial-card:nth-child(3n+2) {
  transform:translateY(48px)
}
.card-photo {
  aspect-ratio:4/5;
  margin-bottom:22px
}
.editorial-card .eyebrow {
  margin-bottom:9px
}
.editorial-card h2 {
  font:29px/1.15 Fraunces,Georgia,serif;
  font-weight:400;
  margin:0
}
.editorial-card p {
  font-size:14px;
  color:#63544b;
  margin:12px 0
}
.blush-section {
  background:#ead8cb
}
.blush-section .photo {
  height:430px
}
.filter-row {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:35px
}
.filter-row button {
  border:1px solid #b89c8c;
  background:transparent;
  color:#38251f;
  padding:10px 16px;
  cursor:pointer;
  font-size:12px;
  transition:.25s
}
.filter-row button[aria-pressed=true],.filter-row button:hover {
  background:#38251f;
  color:#fff;
  border-color:#38251f
}
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}
.gallery-item:nth-child(4n+1) {
  grid-row:span 2
}
.gallery-item {
  transition:opacity .22s ease,transform .22s ease
}
.gallery-photo {
  height:100%;
  min-height:190px;
  aspect-ratio:1
}
.gallery-item:nth-child(4n+1) .gallery-photo {
  aspect-ratio:3/4
}
.gallery-item:nth-child(4n+2) .gallery-photo {
  aspect-ratio:4/3
}
.gallery-item[hidden] {
  display:none
}
.gallery-item.is-filtering {
  opacity:0;
  transform:scale(.97)
}
.contact-layout {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:10vw
}
.contact-aside h2 {
  font:42px/1.13 Fraunces,Georgia,serif;
  font-weight:400
}
.contact-photo {
  height:230px;
  margin:28px 0
}
.contact-aside>p {
  font-size:14px
}
.contact-aside>p a {
  border-bottom:1px solid #a55c48
}
.contact-form {
  display:grid;
  gap:19px
}
.contact-form label {
  display:grid;
  gap:7px;
  font-size:12px;
  letter-spacing:.04em
}
.contact-form input,.contact-form textarea {
  border:0;
  border-bottom:1px solid #a89a8d;
  background:transparent;
  padding:11px 2px;
  color:#38251f;
  border-radius:0;
  resize:vertical
}
.contact-form input:focus,.contact-form textarea:focus {
  border-color:#a55c48
}
.contact-form .button {
  justify-self:start;
  border:0;
  cursor:pointer
}
.form-status {
  margin:0;
  font-size:12px
}
.form-status.error {
  color:#9a352f
}
.form-status.success {
  color:#3c6c4a
}
.honeypot {
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important
}
.site-footer {
  background:#2c1d19;
  color:#f5f0e7;
  padding:62px 7vw 25px
}
.footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:36px;
  border-bottom:1px solid #ffffff30
}
.footer-top p {
  font:25px Fraunces,Georgia,serif;
  color:#e2b49e
}
.footer-links {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  padding:35px 0
}
.footer-links a {
  font-size:12px;
  color:#e5d9d0
}
.footer-bottom {
  border-top:1px solid #ffffff30;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  font-size:10px;
  color:#c4b5aa
}
.footer-bottom a {
  padding:4px
}
.reveal {
  opacity:0;
  transform:translateY(22px);
  transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)
}
.reveal.is-visible {
  opacity:1;
  transform:none
}
.hero-copy>* {
  animation:rise .8s both
}
.hero-copy>*:nth-child(2) {
  animation-delay:.12s
}
.hero-copy>*:nth-child(3) {
  animation-delay:.24s
}
.hero-copy>*:nth-child(4) {
  animation-delay:.34s
}
.hero-visual {
  animation:mask-in 1.1s .2s both
}
.photo:hover .photo-art {
  transform:scale(1.05)
}
.photo-art {
  transition:transform .8s cubic-bezier(.2,.7,.2,1)
}
@keyframes rise {
  from {
  opacity:0;
  transform:translateY(20px)
}
to {
  opacity:1;
  transform:none
}

}
@keyframes mask-in {
  from {
  clip-path:inset(10% 0 10% 0);
  opacity:.5
}
to {
  clip-path:inset(0);
  opacity:1
}

}
@media(max-width:1050px) {
  .nav {
  gap:12px;
  font-size:11px
}
.site-header {
  padding:0 4vw
}
.hero {
  padding-left:7vw;
  padding-right:7vw
}
.section {
  padding-left:7vw;
  padding-right:7vw
}

}
@media(max-width:800px) {
  .site-header {
  height:78px
}
.nav-toggle {
  display:flex;
  flex-direction:column;
  gap:6px;
  border:0;
  background:none;
  padding:12px
}
.nav-toggle span {
  width:25px;
  height:1px;
  background:#38251f;
  transition:.25s
}
.nav {
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:78px;
  padding:20px 7vw 28px;
  background:#f5f0e7;
  border-bottom:1px solid #38251f33;
  flex-direction:column;
  align-items:stretch;
  gap:5px
}
.nav.is-open {
  display:flex
}
.nav>a {
  padding:9px 0
}
.language-switch {
  border:0;
  padding:12px 0
}
.hero {
  grid-template-columns:1fr;
  min-height:0;
  padding:60px 8vw 72px
}
.hero h1 {
  font-size:clamp(56px,12vw,88px)
}
.hero-visual {
  height:min(115vw,530px);
  margin-top:20px
}
.seal {
  right:0
}
.intro-band {
  padding:50px 8vw;
  display:block
}
.intro-band p {
  margin-top:15px
}
.band-mark {
  display:none
}
.section {
  padding:78px 8vw
}
.section-heading {
  align-items:start;
  gap:18px;
  flex-direction:column
}
.category-grid {
  gap:12px
}
.category-link:nth-child(2) {
  margin-top:35px
}
.category-link>span {
  font-size:18px
}
.split-section,.feature-section {
  grid-template-columns:1fr;
  gap:38px;
  padding:72px 8vw
}
.split-media .photo,.split-section>.photo {
  height:380px
}
.feature-photo {
  order:-1
}
.feature-copy {
  padding:0
}
.seasonal {
  padding:75px 8vw
}
.page-hero {
  padding:72px 8vw
}
.page-hero:after {
  right:-15px;
  font-size:180px
}
.editorial-intro {
  grid-template-columns:1fr;
  gap:30px
}
.intro-photo {
  height:320px
}
.product-grid {
  grid-template-columns:repeat(2,1fr);
  gap:35px 16px
}
.editorial-card:nth-child(3n+2) {
  transform:none
}
.contact-layout {
  grid-template-columns:1fr;
  gap:45px
}
.gallery-grid {
  grid-template-columns:repeat(2,1fr)
}
.footer-top {
  flex-wrap:wrap;
  gap:20px
}
.footer-top p {
  order:3;
  width:100%
}
.footer-links {
  grid-template-columns:repeat(2,1fr)
}

}
@media(max-width:520px) {
  .wordmark {
  font-size:21px
}
.hero-actions {
  align-items:flex-start;
  flex-direction:column;
  gap:14px
}
.hero-visual {
  height:105vw;
  padding:12px
}
.hero-photo {
  box-shadow:10px 10px 0 #d5b7a7
}
.seal {
  width:90px;
  height:90px;
  font-size:10px;
  right:-4px;
  bottom:35px
}
.category-grid {
  grid-template-columns:1fr 1fr
}
.category-link:nth-child(2) {
  margin-top:30px
}
.category-link:nth-child(3) {
  grid-column:1 / -1;
  width:75%;
  margin:0 auto
}
.product-grid {
  grid-template-columns:1fr
}
.editorial-card:nth-child(3n+2) {
  margin-top:0
}
.page-hero h1 {
  font-size:56px
}
.gallery-grid {
  gap:10px
}
.gallery-photo {
  min-height:150px
}
.filter-row {
  gap:7px
}
.filter-row button {
  padding:8px 10px;
  font-size:11px
}
.footer-top {
  align-items:flex-start
}
.footer-top>.button {
  padding:12px
}
.footer-bottom {
  gap:14px;
  flex-direction:column
}
.closing-cta {
  padding:80px 18px
}
.cta-photo {
  right:12px;
  top:12px;
  width:96px;
  height:112px
}

}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
  scroll-behavior:auto!important;
  animation-duration:.01ms!important;
  animation-iteration-count:1!important;
  transition-duration:.01ms!important
}
.reveal {
  opacity:1;
  transform:none
}

}

.photo>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1)
}
.photo:hover>img {
  transform:scale(1.04)
}
.hero {
  position:relative;
  isolation:isolate
}
.hero:before {
  content:"";
  position:absolute;
  z-index:-1;
  width:min(56vw,760px);
  aspect-ratio:1;
  left:-22vw;
  top:8%;
  border:1px solid #a55c4820;
  border-radius:50%;
  box-shadow:0 0 0 32px #a55c4808,0 0 0 96px #a55c4805;
  animation:slow-orbit 48s linear infinite
}
.hero-visual:before,.hero-visual:after {
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none
}
.hero-visual:before {
  inset:2px 12px 18px 8px;
  border:1px solid #fff9;
  transform:rotate(-3deg);
  animation:frame-arrive 1.4s .45s both
}
.hero-visual:after {
  width:84px;
  height:84px;
  right:0;
  top:34px;
  border:1px solid #a55c48a6;
  border-radius:50%;
  box-shadow:inset 0 0 0 9px #f5f0e780,0 0 0 8px #a55c4818;
  animation:seal-drift 8s ease-in-out infinite
}
.hero .eyebrow:after {
  content:"";
  display:inline-block;
  width:48px;
  height:1px;
  vertical-align:middle;
  margin-left:12px;
  background:#a55c48;
  transform-origin:left;
  animation:rule-draw 1s .55s both
}
.hero h1>span,.hero h1>i {
  animation:headline-rise .95s cubic-bezier(.2,.75,.2,1) both
}
.hero h1>i {
  animation-delay:.15s
}
.hero-copy .hero-lead {
  animation:copy-arrive .8s .38s both
}
.hero-copy .hero-actions {
  animation:copy-arrive .8s .52s both
}
.page-hero {
  isolation:isolate
}
.page-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.28;
  background:repeating-linear-gradient(135deg,transparent 0 34px,#fff4 35px,#fff4 36px,transparent 37px 74px);
  mask-image:linear-gradient(90deg,transparent 10%,#000 100%)
}
.page-hero h1 {
  text-wrap:balance;
  animation:headline-rise 1s cubic-bezier(.2,.75,.2,1) both
}
.page-hero h1:after {
  content:"";
  display:block;
  width:clamp(70px,12vw,160px);
  height:2px;
  margin-top:26px;
  background:#a55c48;
  transform-origin:left;
  animation:rule-draw 1.2s .35s both
}
.word-reveal {
  display:inline-block;
  opacity:0;
  transform:translateY(115%);
  transition:opacity .65s ease,transform .75s cubic-bezier(.16,.75,.25,1);
  transition-delay:calc(var(--word-index,0)*55ms)
}
.text-motion-ready:not(.text-visible) .word-reveal {
  opacity:0;
  transform:translateY(115%)
}
.text-motion-ready.text-visible .word-reveal {
  opacity:1;
  transform:none
}
.reveal.is-visible h2,.reveal.is-visible h3 {
  animation:editorial-title .8s cubic-bezier(.2,.75,.2,1) both
}
.photo {
  outline:1px solid #fff9;
  outline-offset:-9px
}
.photo>img {
  will-change:transform
}
.gallery-frame {
  width:min(100%,1440px);
  margin-inline:auto;
  padding:clamp(14px,2.3vw,34px);
  border:1px solid #8e6c5f;
  outline:1px solid #8e6c5f66;
  outline-offset:7px;
  background:linear-gradient(145deg,#eee3d8,#f8f4ed 46%,#ead8cb);
  box-shadow:0 24px 70px #38251f12,inset 0 0 0 6px #fff8
}
.page-torte .page-hero,.page-galerija .page-hero {
  background-color:#38251f;
  color:#f5f0e7
}
.page-torte .page-hero .eyebrow,.page-galerija .page-hero .eyebrow {
  color:#e2b49e
}
.page-torte .page-hero h1 i,.page-galerija .page-hero h1 i {
  color:#e2b49e
}
.page-torte .page-hero:after,.page-galerija .page-hero:after {
  color:#f5f0e70d
}
.page-kremasti-kolaci .page-hero,.page-slatki-stolovi .page-hero {
  background-color:#e2bda9
}
.page-kontakt .page-hero {
  background-color:#e7dfcd
}
.page-o-nama .editorial-intro {
  background:linear-gradient(90deg,#f5f0e7 0 58%,#eee4d8 58% 100%)
}
.page-suhi-kolaci .product-grid {
  background:radial-gradient(ellipse at 12% 12%,#e8d4c4 0,transparent 35%),#f5f0e7
}
.product-grid .editorial-card {
  position:relative;
  padding-bottom:20px
}
.product-grid .editorial-card:after {
  content:"";
  display:block;
  width:44px;
  height:1px;
  margin-top:18px;
  background:#a55c48;
  transition:width .4s ease
}
.product-grid .editorial-card:hover:after {
  width:100%
}
.section-heading .text-link,.feature-copy .text-link {
  transition:letter-spacing .3s ease,color .3s ease
}
.section-heading .text-link:hover,.feature-copy .text-link:hover {
  letter-spacing:.1em;
  color:#a55c48
}
.wordmark-flower {
  display:inline-block;
  transition:transform .6s cubic-bezier(.2,.7,.2,1)
}
.wordmark:hover .wordmark-flower {
  transform:rotate(60deg) scale(1.12)
}
.gallery-frame .filter-row {
  justify-content:center;
  gap:8px 12px;
  padding:3px 0 24px
}
.gallery-frame .filter-row button {
  position:relative;
  border-color:#a98c7e;
  padding:10px 15px;
  background:#f8f4edb8
}
.gallery-frame .filter-row button[aria-pressed=true] {
  background:#38251f;
  color:#fff
}
.gallery-grid {
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-flow:row;
  align-items:start;
  gap:clamp(9px,1.4vw,20px)
}
.gallery-item {
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  min-height:0;
  aspect-ratio:4/5;
  overflow:hidden;
  grid-row:auto!important;
  opacity:1;
  transform:translate3d(0,0,0);
  transition:opacity .28s ease,transform .42s cubic-bezier(.2,.7,.2,1)
}
.gallery-item:nth-child(4n+1) {
  aspect-ratio:3/4
}
.gallery-item:nth-child(4n+2) {
  aspect-ratio:1/1
}
.gallery-item:nth-child(4n+3) {
  aspect-ratio:4/5
}
.gallery-item:nth-child(4n) {
  aspect-ratio:5/6
}
.gallery-item[hidden] {
  display:none!important
}
.gallery-item.is-filtering {
  opacity:0;
  transform:translateY(12px) scale(.975);
  pointer-events:none
}
.gallery-item .gallery-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  outline-offset:-7px
}
.gallery-item .gallery-photo img {
  object-fit:cover
}
.gallery-item .gallery-photo figcaption {
  max-width:calc(100% - 28px);
  padding:4px 8px;
  background:#38251f99;
  line-height:1.35
}
.category-link,.editorial-card,.feature-photo,.split-media .photo {
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease
}
.category-link:hover,.editorial-card:hover {
  transform:translateY(-7px)
}
.button {
  position:relative;
  overflow:hidden
}
.button:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,#ffffff30 48%,transparent 72%);
  transform:translateX(-130%);
  transition:transform .7s cubic-bezier(.2,.7,.2,1)
}
.button:hover:before {
  transform:translateX(130%)
}
.closing-cta:before,.closing-cta:after {
  content:"";
  position:absolute;
  width:min(36vw,430px);
  aspect-ratio:1;
  border:1px solid #f5f0e72b;
  border-radius:50%;
  pointer-events:none
}
.closing-cta:before {
  top:-60%;
  left:-12%;
  box-shadow:0 0 0 24px #f5f0e70a,0 0 0 70px #f5f0e708;
  animation:slow-orbit 55s linear infinite
}
.closing-cta:after {
  right:-12%;
  bottom:-72%;
  width:min(44vw,530px);
  border-style:dashed;
  animation:slow-orbit 72s linear infinite reverse
}
@keyframes headline-rise {
  from {opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(24px)}
  to {opacity:1;clip-path:inset(0);transform:translateY(0)}
}
@keyframes copy-arrive {
  from {opacity:0;transform:translateY(18px)}
  to {opacity:1;transform:translateY(0)}
}
@keyframes rule-draw {
  from {transform:scaleX(0)}
  to {transform:scaleX(1)}
}
@keyframes frame-arrive {
  from {opacity:0;transform:rotate(0) scale(.97)}
  to {opacity:1;transform:rotate(-3deg) scale(1)}
}
@keyframes seal-drift {
  0%,100% {transform:translateY(0) rotate(0)}
  50% {transform:translateY(-10px) rotate(5deg)}
}
@keyframes editorial-title {
  from {opacity:.45;transform:translateY(12px)}
  to {opacity:1;transform:translateY(0)}
}
@keyframes slow-orbit {
  to {transform:rotate(360deg)}
}
@media(max-width:900px) {
  .gallery-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery-item:nth-child(n) {aspect-ratio:4/5}
  .gallery-item:nth-child(3n+2) {aspect-ratio:1/1}
  .hero-visual:after {right:4px}
}
@media(max-width:600px) {
  .gallery-frame {padding:12px;outline-offset:4px}
  .gallery-frame .filter-row {justify-content:flex-start;padding-bottom:17px}
  .gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .gallery-item:nth-child(n) {aspect-ratio:4/5}
  .gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3) {aspect-ratio:1/1}
  .hero-visual:after {width:62px;height:62px;top:12px}
  .closing-cta:before {top:-25%;left:-35%}
}
@media(prefers-reduced-motion:reduce) {
  .word-reveal,.hero h1 span,.hero h1 i,.hero-copy .hero-lead,.hero-copy .hero-actions,.hero-visual:before,.hero-visual:after,.hero:before,.closing-cta:before,.closing-cta:after,.page-hero h1,.page-hero h1:after,.hero .eyebrow:after {
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    clip-path:none!important;
    transform:none!important
  }
  .text-motion-ready .word-reveal {opacity:1;transform:none}
}


.gallery-frame .gallery-item:nth-child(n) {
  aspect-ratio: 4 / 5;
}

