:root{--cream:#f8f3ed;--paper:#efe4d8;--brown:#5d4939;--muted:#796c61;--line:#d9c9b9;--taupe:#a18d7c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px;scrollbar-gutter:stable}body{margin:0;background:var(--cream);color:var(--brown);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #826347;outline-offset:5px}img{display:block;max-width:100%}.header{max-width:1440px;margin:auto;min-height:112px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand img{width:136px;height:78px;object-fit:contain;filter:invert(27%) sepia(16%) saturate(841%) hue-rotate(344deg) brightness(92%)}nav{display:flex;gap:38px;font-size:13px}nav a:hover,.header-phone:hover{color:#a17756}.header-phone{font-size:13px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;padding:58px 5% 65px;gap:6%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:500;margin:0 0 24px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(42px,4.9vw,72px);letter-spacing:-2px}em{font-weight:400;color:#94745b}h2{font-size:clamp(32px,3.3vw,48px);letter-spacing:-1px}.intro{max-width:380px;color:var(--muted);margin:28px 0 32px;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--brown);color:var(--cream);padding:16px 25px;font-size:12px;transition:background .2s}.button:hover{background:#826347}.button span{font-size:20px;line-height:1}.hero-note{font:italic 20px Georgia,serif;margin:32px 0 0;color:#94745b}.hero-visual{position:relative;padding-top:6px}.hero-visual>img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:48% 48% 2px 2px}.hero-stamp{position:absolute;top:18px;right:-18px;width:108px;height:108px;border-radius:50%;background:var(--paper);border:1px solid var(--taupe);outline:5px solid var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;letter-spacing:1px;line-height:1.25;transform:rotate(13deg)}.hero-stamp i{font:italic 26px Georgia;margin:2px}.hero-stamp>span{font-size:20px}.photo-caption{display:flex;justify-content:space-between;gap:15px;margin-top:17px;font-size:9px;letter-spacing:1px}.photo-caption span:last-child{font:italic 13px Georgia;letter-spacing:0}.values{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:4%;padding:24px 5%;font-size:11px;letter-spacing:.5px}.values i{font-style:normal;color:#a58a70;font-size:20px}.section{max-width:1440px;margin:auto;padding:90px 5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{font-size:12px;color:var(--muted);margin:0 0 3px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:32px;gap:15px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;border-radius:30px;padding:9px 19px;font-size:11px}.filters button.active{background:var(--brown);color:var(--cream);border-color:var(--brown)}.filters button:hover{border-color:var(--brown)}.filters span{opacity:.6;margin-left:6px}#result-count{font-size:11px;color:var(--muted);white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}.cake-open{text-align:left;display:block;width:100%;border:0;background:none;padding:0}.cake-picture{position:relative;overflow:hidden;background:var(--paper)}.cake-picture img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .5s}.cake-open:hover img{transform:scale(1.04)}.cake-number{position:absolute;left:12px;top:12px;background:var(--cream);border-radius:50%;width:28px;height:28px;text-align:center;line-height:28px;font-size:9px}.cake-meta{text-transform:uppercase;letter-spacing:1.5px;font-size:8px;color:var(--muted);margin:19px 0 8px}.cake-card h3{font-size:23px;min-height:52px}.cake-more{display:block;font-size:10px;margin-top:15px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}.catalog-note{font-size:11px;color:var(--muted);text-align:center;margin:45px 0 0}.studio{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;background:var(--paper);align-items:center}.studio-mark{text-align:center;border:1px solid #c8b7a5;padding:55px 30px}.studio-mark img{width:240px;margin:auto;filter:invert(28%) sepia(14%) saturate(800%) hue-rotate(344deg)}.studio-mark p{font:italic 23px Georgia;margin:24px 0 0}.studio>div>p:not(.eyebrow){color:var(--muted);max-width:520px;font-size:13px}.studio h2{margin-bottom:26px}.offerings{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.offerings span{font-size:10px;border:1px solid #c8b7a5;border-radius:20px;padding:6px 13px}.contacts{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-top:100px;padding-bottom:100px}.contacts>div>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:24px}.contacts .signature{font:italic 26px Georgia!important;color:var(--brown)!important}.contact-links{align-self:center}.contact-links>a{display:block;position:relative;padding:24px 35px 24px 0;border-bottom:1px solid var(--line)}.contact-links .eyebrow{display:block;margin-bottom:8px;font-size:9px}.contact-links strong{font:400 24px Georgia}.arrow{position:absolute;right:3px;top:45px;font-size:24px}.contact-links>a:hover .arrow{transform:translate(3px,-3px)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;max-width:1440px;margin:auto;padding:25px 5%;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}dialog{border:0;padding:0;max-width:960px;width:90%;background:var(--cream);color:var(--brown);max-height:90dvh;overflow:auto}dialog::backdrop{background:rgba(40,29,21,.65);backdrop-filter:blur(4px)}.dialog-layout{display:grid;grid-template-columns:1fr 1fr}.dialog-layout>img{width:100%;height:100%;object-fit:cover}.detail-copy{padding:60px 38px 45px}.detail-copy h2{font-size:36px}.detail-copy>p{font-size:14px}.detail-copy .eyebrow{font-size:9px}.detail-note{border-top:1px solid var(--line);padding-top:22px;margin-top:25px;color:var(--muted);font-size:12px!important}.detail-copy .button{margin-top:10px}.close{position:absolute;top:10px;right:12px;z-index:1;border:0;background:var(--cream);border-radius:50%;width:36px;height:36px;font-size:28px;line-height:1}.modal-open{overflow:hidden}.skip{position:fixed;top:-100px;left:20px;background:var(--brown);color:white;padding:10px;z-index:20}.skip:focus{top:10px}
@media(max-width:1000px){.header-phone{display:none}.hero{gap:5%;padding-top:40px}h1{font-size:50px}.hero-stamp{width:85px;height:85px;right:-10px}.photo-caption span:last-child{display:none}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.values{gap:2%;font-size:9px}.section-heading{align-items:flex-start}.section-heading>p{max-width:230px}.studio{gap:6%}.studio-mark{padding:40px 20px}.contacts{gap:5%}.contact-links strong{font-size:21px}}
@media(max-width:640px){.header{min-height:88px;padding:12px 6%;gap:15px}.brand img{width:104px;height:64px}nav{gap:17px;font-size:10px}nav span{display:none}.hero{grid-template-columns:1fr;padding:40px 6% 30px;gap:30px}.hero .eyebrow{font-size:8px;margin-bottom:20px}h1{font-size:48px;letter-spacing:-1.5px}.intro{font-size:13px;margin:22px 0 26px}.hero-note{margin-top:22px;font-size:18px}.hero-visual{margin:0 12px}.hero-visual>img{max-height:420px}.hero-stamp{right:-12px}.photo-caption{font-size:8px}.values{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:12px;font-size:9px;padding:20px 6%}.values i{display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:27px}.section-heading>p{max-width:none;margin-top:20px}h2{font-size:35px}.catalog-toolbar{align-items:flex-start}.filters{gap:7px}.filters button{padding:7px 12px;font-size:10px}#result-count{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.cake-card h3{font-size:20px;min-height:46px}.cake-meta{font-size:7px;letter-spacing:1px;margin-top:14px}.cake-more{font-size:9px;margin-top:10px}.catalog-note{text-align:left;margin-top:30px}.studio{grid-template-columns:1fr;gap:32px}.studio-mark{padding:24px}.studio-mark img{width:155px}.studio-mark p{font-size:20px;margin-top:15px}.contacts{grid-template-columns:1fr;gap:16px}.contact-links strong{font-size:23px}.footer-bottom{flex-wrap:wrap;padding:22px 6%;font-size:9px}.footer-bottom>span:nth-child(2){order:3;flex-basis:100%}.dialog-layout{grid-template-columns:1fr}.dialog-layout>img{height:auto;max-height:300px;object-fit:cover}.detail-copy{padding:28px 25px}.detail-copy h2{font-size:30px}.detail-copy .eyebrow{margin-bottom:14px}.detail-copy .button{font-size:11px;padding:13px 18px}.close{top:8px;right:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Compact spacing for desktop screens. */
@media (min-width:1001px) {
  .header { min-height:92px; padding-top:12px; padding-bottom:12px; }
  .brand img { height:66px; }
  .hero { padding-top:32px; padding-bottom:36px; }
  .hero-visual { width:min(100%, 440px); justify-self:center; }
  h1 { font-size:clamp(48px, 4vw, 60px); }
  .hero .eyebrow { margin-bottom:18px; }
  .intro { margin-top:22px; margin-bottom:24px; }
  .hero-note { margin-top:22px; }
  .values { padding-top:16px; padding-bottom:16px; }
  .section { padding-top:52px; padding-bottom:52px; }
  .section-heading { margin-bottom:26px; }
  .catalog-toolbar { padding-bottom:16px; margin-bottom:24px; }
  .grid { row-gap:28px; }
  .cake-meta { margin-top:14px; }
  .cake-more { margin-top:10px; }
  .catalog-note { margin-top:28px; }
  .studio-mark { padding-top:30px; padding-bottom:30px; }
  .studio-mark img { width:200px; }
  .studio h2 { margin-bottom:20px; }
  .contacts { padding-top:56px; padding-bottom:56px; }
}



.catalog-note a{text-decoration:underline;text-underline-offset:3px}


.header-actions { display:flex; align-items:center; gap:20px; }
.header-vk { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; flex-shrink:0; border:1px solid var(--line); border-radius:50%; transition:background .2s, color .2s; }
.header-vk:hover { background:var(--brown); color:var(--cream); }
.header-vk svg { width:21px; height:21px; }
@media(max-width:640px) {
  .header { gap:10px; }
  .header-actions { gap:0; }
  .header-vk { width:30px; height:30px; }
  .header-vk svg { width:18px; height:18px; }
  nav { gap:12px; }
}
@media(max-width:380px) {
  .brand img { width:85px; }
  nav { gap:9px; font-size:9px; }
}

/* Shared controls and responsive single-line studio name. */
.hero-copy { min-width:0; }
.hero h1 { white-space:nowrap; font-size:clamp(32px, 3.9vw, 56px); letter-spacing:-1.5px; }
.hero .hero-note { margin:0 0 22px; }
.button { border:1px solid var(--brown); border-radius:6px; padding:14px 22px; gap:22px; font-size:13px; }
.action-icon { display:inline-block; width:20px; height:20px; flex-shrink:0; vertical-align:middle; }
.button span { display:flex; }
.header-phone, nav a, .footer-bottom>a { display:inline-flex; align-items:center; gap:8px; }
.header-phone .action-icon, nav .action-icon, .footer-bottom .action-icon { width:16px; height:16px; }
.cake-more { display:inline-flex; align-items:center; gap:9px; text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:4px; }
.cake-more .action-icon { width:16px; height:16px; }
.arrow { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; top:38px; }
.contact-links>a:hover .arrow { transform:none; background:var(--paper); }
.icon-up { transform:rotate(-90deg); }
.close { display:flex; align-items:center; justify-content:center; border:1px solid var(--line); }
.close svg { width:20px; height:20px; }
.filters button { transition:background .2s, border-color .2s, color .2s; }
@media(max-width:1000px) and (min-width:641px) { .hero h1 { font-size:clamp(29px, 3.8vw, 38px); letter-spacing:-1px; } }
@media(max-width:640px) { .hero h1 { font-size:clamp(29px, 7.6vw, 48px); letter-spacing:-1px; } nav .action-icon { display:none; } }

.header-contact { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.header-name { font-size:11px; color:var(--muted); }
.header-contact .header-phone { display:inline-flex; white-space:nowrap; }
@media(max-width:1000px) {
  .header { flex-wrap:wrap; }
  .header-actions { margin-left:auto; }
}
@media(max-width:640px) {
  .header-actions { flex-basis:100%; justify-content:flex-end; gap:14px; padding-bottom:4px; }
  .header-contact { flex-direction:row; align-items:center; gap:10px; }
  .header-contact .header-phone { font-size:12px; }
}

/* Mobile header: brand and contacts above a separate navigation row. */
@media(max-width:640px) {
  .header {
    display:grid;
    grid-template-columns:minmax(78px, 1fr) auto;
    gap:0 12px;
    padding:14px 6% 0;
    min-height:0;
  }
  .header .brand { grid-column:1; grid-row:1; justify-self:start; }
  .header .brand img { width:100px; height:63px; }
  .header .header-actions {
    grid-column:2; grid-row:1;
    display:flex; align-items:center; justify-content:flex-end;
    flex-basis:auto; gap:10px; margin:0; padding:0;
  }
  .header .header-contact { flex-direction:column; align-items:flex-end; gap:2px; }
  .header .header-name { font-size:10px; }
  .header .header-phone { font-size:11px; line-height:1.5; }
  .header .header-vk { width:32px; height:32px; }
  .header nav {
    grid-column:1 / -1; grid-row:2;
    display:flex; justify-content:space-between; align-items:center;
    gap:12px; width:100%; margin-top:12px;
    border-top:1px solid var(--line);
    font-size:11px;
  }
  .header nav a { min-height:43px; justify-content:center; padding:0 8px; }
  .header nav a:first-child { padding-left:0; }
  .header nav a:last-child { padding-right:0; }
}
@media(max-width:360px) {
  .header { column-gap:8px; }
  .header .brand img { width:86px; height:57px; }
  .header .header-actions { gap:8px; }
  .header .header-phone { font-size:10px; }
}

@media(max-width:640px) {
  .hero-stamp {
    display:flex;
    position:static;
    width:66px;
    height:66px;
    margin:16px auto 0;
    transform:none;
    outline:none;
    background:transparent;
    border-color:var(--line);
    font-size:8px;
    letter-spacing:.5px;
  }
  .hero-stamp i { font-size:19px; margin:1px 0; }
  .hero-stamp>span { font-size:14px; }
  .hero-visual { display:flex; flex-direction:column; }
  .hero-visual>img { order:0; }
  .hero-visual .photo-caption { order:1; }
  .hero-stamp { order:2; }
}


.photo-caption { align-items:center; flex-wrap:wrap; }
.photo-caption>span:first-child { min-width:0; }
.slideshow-toggle { background:transparent; border:0; border-bottom:1px solid var(--line); padding:3px 0; font-size:10px; line-height:1.4; }
.slideshow-toggle:hover { border-color:var(--brown); }
@media(max-width:1000px) { .photo-caption>span:nth-child(2) { display:none; } }

/* Keep the desktop stamp placement on mobile with smaller lettering. */
@media(max-width:640px) {
  .hero-stamp {
    position:absolute;
    top:18px;
    right:-10px;
    width:74px;
    height:74px;
    margin:0;
    transform:rotate(13deg);
    outline:4px solid var(--cream);
    background:var(--paper);
    border-color:var(--taupe);
    font-size:7px;
    letter-spacing:.7px;
    line-height:1.3;
  }
  .hero-stamp i { font-size:20px; margin:2px 0; }
  .hero-stamp>span { font-size:15px; }
}
