/* Theme 3: editorial patisserie — warm paper, ink, and berry accents. */
:root{--paper:#f5efe5;--warm-white:#fffaf1;--oat:#e8dccb;--soft-rose:#ead0c6;--sage:#59624d;--ink:#251813;--muted:#65564c;--red:#9d332b;--red-dark:#74241f;--wine:var(--red);--wine-dark:#251813;--header-divider:#d7c6b5;--input-border:#bbaa99;--line:rgba(37,24,19,.17);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
html,body{background:var(--paper)}
.hero{grid-template-columns:1.08fr .92fr;min-height:min(900px,100svh);padding-top:145px;padding-bottom:100px;background:linear-gradient(115deg,#f5efe5 0 56%,#e8dccb 56% 100%)}
.hero-copy{max-width:640px;padding:35px 0 50px}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;color:var(--red)}.hero-copy .eyebrow:before{content:"";width:30px;height:1px;background:currentColor}
h1{max-width:650px;font-size:clamp(62px,7.4vw,104px);line-height:.91;letter-spacing:-.065em}h1 em{display:block;color:var(--red);font-weight:500}.hero-intro{font-size:16px;max-width:380px}
.hero-actions .button{min-height:52px;padding:0 26px;border-radius:0;background:var(--red);border-color:var(--red);letter-spacing:.09em;text-transform:uppercase}.hero-photo-wrap{width:min(39vw,530px);border-radius:0;filter:drop-shadow(16px 20px 0 rgba(157,51,43,.13))}
.cakes{background:#251813;color:var(--warm-white)}.cakes-copy .eyebrow{color:#e6a08e}.cakes-copy p{color:rgba(255,250,241,.72)}.cakes h2{font-size:clamp(44px,5.6vw,78px)}button.arrow{border-color:rgba(255,250,241,.48);color:var(--warm-white)}button.arrow:hover{background:rgba(255,250,241,.12)}.gallery-dots button{background:#fffaf1}.gallery-dots button[aria-pressed=true]{background:#e6a08e}.slide-image{filter:drop-shadow(0 18px 24px rgba(0,0,0,.38))}
.stories{background:#f5efe5}.instagram-showcase h2{font-size:clamp(38px,4.7vw,62px)}.instagram-card{border:0;background:#fffaf1;box-shadow:0 8px 24px rgba(37,24,19,.08)}.instagram-meta{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.site-footer{background:#251813}.footer-left p{color:rgba(255,250,241,.82)}
@media(max-width:700px){.hero{min-height:100svh;background:linear-gradient(160deg,#f5efe5 0 70%,#e8dccb 70% 100%);padding-top:0}.hero-copy{top:48%;padding:0 8px}h1{font-size:clamp(48px,13vw,68px);line-height:.94}.hero-copy .eyebrow{justify-content:center}.hero-intro{font-size:13px}.cakes{background:#251813}.site-footer{background:#251813}}
.slide-video{display:block;width:auto;height:auto;max-width:100%;max-height:calc(76svh - 42px);object-fit:contain;filter:drop-shadow(0 14px 18px rgba(0,0,0,.24))}
.slide-image[hidden],.slide-video[hidden]{display:none!important}
@media(max-width:760px){.slide-video{max-width:100%;max-height:59svh;filter:none}}
/* Clear, accessible feedback for the desktop header navigation. */
@media (min-width:761px){
  header .navlinks a:not(.nav-cta){
    position:relative;
    padding:6px 12px;
    margin:-6px -12px;
    border-radius:4px;
    transition:color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .16s ease;
  }
  header .navlinks a:not(.nav-cta):hover,
  header .navlinks a:not(.nav-cta):focus-visible{
    color:#74241f;
    opacity:1;
    background:rgba(157,51,43,.13);
    box-shadow:inset 0 -2px 0 #9d332b;
    text-decoration:none;
  }
}
/* Clear, accessible feedback for the desktop header navigation. */
@media (min-width:761px){
  header .navlinks a:not(.nav-cta){
    position:relative;
    padding:6px 12px;
    margin:-6px -12px;
    border-radius:4px;
    transition:color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .16s ease;
  }
  header .navlinks a:not(.nav-cta):hover,
  header .navlinks a:not(.nav-cta):focus-visible{
    color:#74241f;
    opacity:1;
    background:rgba(157,51,43,.13);
    box-shadow:inset 0 -2px 0 #9d332b;
    text-decoration:none;
  }
}

/* Compact header with intentional breathing room before page content. */
header{padding:4px 0}
@media(max-width:760px){header{padding:4px 0}}

/* Prevent double-tap zoom on carousel controls; retain page pinch zoom. */
.gallery-ui button.arrow{touch-action:manipulation}

@media(max-width:760px){header .navlinks a:not(.nav-cta){padding:6px 4px}}
