:root{
  --bg:#f6f1ea;
  --paper:#fbf8f3;
  --ink:#1b1a17;
  --ink-soft:#40382f;
  --muted:#6b6457;
  --line:#d9cfbf;
  --line-soft:#e9e0d1;
  --accent:#7a3b2e;
  --accent-soft:#a5563f;
  --accent-warm:#c27556;
  --gold:#b08848;
  --ok:#2f6b3c;
  --ok-bg:#e7f0e1;
  --err:#8a2a2a;
  --err-bg:#f4e0df;
  --radius:10px;
  --radius-lg:18px;
  --shadow-sm:0 1px 2px rgba(27,26,23,.06);
  --shadow:0 10px 30px rgba(27,26,23,.08);
  --shadow-lg:0 24px 60px rgba(27,26,23,.14);

  --ease-smooth:cubic-bezier(.2,.7,.2,1);
  --ease-warm:cubic-bezier(.33,1.2,.3,1);
  --ease-out:cubic-bezier(.22,.61,.36,1);

  --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px;

  --font-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --maxw:1120px;
  --gutter:clamp(1.25rem,4vw,2rem);
  --header-h:68px;
  --scrollbar-w:0px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  background:
    radial-gradient(ellipse 900px 600px at 12% -6%, rgba(224,204,160,.45), transparent 60%),
    radial-gradient(ellipse 760px 520px at 90% 104%, rgba(194,117,86,.14), transparent 62%),
    var(--bg);
  background-attachment:fixed;
  color:var(--ink);
  font-family:var(--font-sans);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  scroll-padding-top:calc(var(--header-h) + 12px);
}

/* Scroll progress (warm gradient, jar-fill character) */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0;
  background:linear-gradient(90deg,#b08848,#c27556 45%,#7a3b2e);
  z-index:100;
  box-shadow:0 0 14px rgba(122,59,46,.38);
  transition:width 120ms linear;
  pointer-events:none;
}
body.scroll-locked{overflow:hidden;padding-right:var(--scrollbar-w)}

img{max-width:100%;height:auto;display:block}

a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-soft)}

:focus{outline:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}

.skip-link{
  position:absolute;top:var(--s-4);left:var(--s-4);
  background:var(--ink);color:#fff;padding:10px 14px;z-index:1000;
  border-radius:8px;text-decoration:none;font-size:.95rem;
  transform:translateY(calc(-100% - 24px));
  opacity:0;pointer-events:none;
  transition:transform 220ms var(--ease-smooth),opacity 200ms var(--ease-smooth);
}
.skip-link:focus,.skip-link:focus-visible{
  transform:translateY(0);opacity:1;pointer-events:auto;
}

.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}

h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;color:var(--ink);letter-spacing:-.01em;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.2}
h2{font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.25;margin-top:0}
h3{font-size:1.15rem;line-height:1.3}
p{margin:0 0 1em}
p+h2,ul+h2,ol+h2,div+h2{margin-top:1.8em}

/* --- Content link underline from center --- */
main a:not(.btn):not(.brand){
  color:var(--accent);
  text-decoration:none;
  background-image:linear-gradient(var(--accent),var(--accent));
  background-position:50% 100%;
  background-size:0% 1.5px;
  background-repeat:no-repeat;
  padding-bottom:1px;
  transition:background-size 320ms var(--ease-smooth),background-position 320ms var(--ease-smooth),color 200ms var(--ease-smooth);
}
main a:not(.btn):not(.brand):hover{
  background-size:100% 1.5px;
  background-position:0% 100%;
}

/* --- Header --- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(246,241,234,.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--line-soft);
  min-height:var(--header-h);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;gap:16px;position:relative;
}
.brand{
  display:inline-flex;align-items:center;gap:12px;
  text-decoration:none;color:var(--ink);
  font-family:var(--font-serif);font-weight:600;font-size:1.1rem;letter-spacing:-.005em;
  transition:color 320ms var(--ease-smooth);
}
.brand > span:last-child{
  background-image:linear-gradient(var(--accent),var(--accent));
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0 1.5px;
  transition:background-size 420ms var(--ease-smooth);
}
.brand:hover > span:last-child,
.brand:focus-visible > span:last-child{background-size:100% 1.5px}
.brand-mark{
  width:36px;height:42px;flex-shrink:0;
  display:inline-grid;place-items:center;position:relative;
  transition:transform 520ms var(--ease-warm),filter 420ms var(--ease-smooth);
}
.brand-mark svg{
  width:100%;height:100%;display:block;overflow:visible;
  filter:drop-shadow(0 3px 6px rgba(27,26,23,.18)) drop-shadow(0 1px 0 rgba(255,255,255,.4));
  transition:filter 500ms var(--ease-smooth);
}
.brand-mark .bm-lid{
  transform-origin:24px 21px;
  transition:transform 620ms cubic-bezier(.33,1.2,.3,1);
}
.brand-mark .bm-jar{
  transform-origin:24px 52px;
  transition:transform 620ms cubic-bezier(.33,1.2,.3,1);
}
.brand-mark .bm-steam > path{
  opacity:0;transform-origin:center bottom;
  transition:opacity 320ms var(--ease-smooth);
}
.brand:hover .brand-mark,
.brand:focus-visible .brand-mark{
  transform:translateY(-1px);
  filter:none;
}
.brand:hover .brand-mark svg,
.brand:focus-visible .brand-mark svg{
  filter:drop-shadow(0 6px 14px rgba(122,59,46,.28)) drop-shadow(0 1px 0 rgba(255,255,255,.45));
}
.brand:hover .brand-mark .bm-lid,
.brand:focus-visible .brand-mark .bm-lid{
  transform:translateY(-3px) rotate(-4deg);
}
.brand:hover .brand-mark .bm-jar,
.brand:focus-visible .brand-mark .bm-jar{
  transform:scale(1.03);
}
.brand:hover .brand-mark .bm-steam > path:nth-child(1),
.brand:focus-visible .brand-mark .bm-steam > path:nth-child(1){
  animation:steamRise 2.2s ease-out 0ms infinite;
}
.brand:hover .brand-mark .bm-steam > path:nth-child(2),
.brand:focus-visible .brand-mark .bm-steam > path:nth-child(2){
  animation:steamRise 2.2s ease-out 400ms infinite;
}
.brand:hover .brand-mark .bm-steam > path:nth-child(3),
.brand:focus-visible .brand-mark .bm-steam > path:nth-child(3){
  animation:steamRise 2.2s ease-out 800ms infinite;
}
@keyframes steamRise{
  0%{opacity:0;transform:translateY(2px) translateX(0) scale(.6)}
  22%{opacity:.55}
  55%{opacity:.45;transform:translateY(-4px) translateX(1px) scale(1)}
  100%{opacity:0;transform:translateY(-10px) translateX(-1px) scale(1.25)}
}
.brand:hover{color:var(--accent)}

/* Hamburger */
.nav-toggle{
  display:none;
  position:relative;
  width:42px;height:42px;border:1px solid var(--line);
  background:var(--paper);border-radius:10px;cursor:pointer;
  padding:0;align-items:center;justify-content:center;
  transition:border-color 220ms var(--ease-smooth),background 220ms var(--ease-smooth);
}
.nav-toggle:hover{border-color:var(--accent);background:#fff}
.nav-toggle .bar{
  position:absolute;left:10px;right:10px;height:2px;background:var(--ink);
  border-radius:2px;transform-origin:center;
  transition:transform 320ms var(--ease-warm),opacity 200ms var(--ease-smooth);
}
.nav-toggle .bar:nth-child(1){top:13px}
.nav-toggle .bar:nth-child(2){top:20px}
.nav-toggle .bar:nth-child(3){top:27px}
body.nav-open .nav-toggle .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .nav-toggle .bar:nth-child(2){opacity:0;transform:scaleX(0)}
body.nav-open .nav-toggle .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav-list{
  display:flex;list-style:none;margin:0 0 0 auto;padding:0;gap:4px;align-items:center;
}
.nav-list a{
  position:relative;display:inline-block;
  text-decoration:none;color:var(--ink-soft);font-size:.95rem;
  padding:8px 12px;border-radius:8px;
  transition:color 220ms var(--ease-smooth),background 220ms var(--ease-smooth);
}
.nav-list a::after{
  content:"";position:absolute;bottom:2px;left:50%;right:50%;height:2px;
  background:var(--accent);border-radius:2px;
  transition:left 300ms var(--ease-smooth),right 300ms var(--ease-smooth);
}
.nav-list a:hover{color:var(--accent)}
.nav-list a.is-active,
.nav-list a[aria-current="page"]{color:var(--accent)}
.nav-list a.is-active::after,
.nav-list a[aria-current="page"]::after,
.nav-list a:hover::after{left:12px;right:12px}

.nav-actions{
  display:inline-flex;align-items:center;gap:10px;flex-shrink:0;
}

@media (max-width:960px){
  .site-header .container{padding-left:1.25rem;padding-right:1.25rem}
  .nav-toggle{display:inline-flex}
  .brand,.nav-actions{position:relative;z-index:45}
  .nav-list{
    position:fixed;top:0;left:0;right:0;
    height:100vh;height:100dvh;
    background:var(--paper);
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    padding:calc(var(--header-h) + 24px) var(--gutter) 32px;
    gap:4px;margin:0;
    overflow-y:auto;overscroll-behavior:contain;
    opacity:0;pointer-events:none;
    transform:translateY(-8px);
    transition:opacity 320ms var(--ease-smooth),transform 320ms var(--ease-smooth);
    z-index:40;
  }
  body.nav-open .nav-list{opacity:1;pointer-events:auto;transform:none}
  .nav-list a{
    padding:14px 4px;border-bottom:1px solid var(--line-soft);border-radius:0;
    font-size:1.05rem;color:var(--ink);
  }
  .nav-list a::after{display:none}
  .nav-list a.is-active,.nav-list a[aria-current="page"]{color:var(--accent)}
  .nav-list li:last-child a{border-bottom:none}
}

/* --- Intro anim (stamp / shelf-place character) --- */
body:not(.is-loaded) [data-anim]{opacity:0}
.is-loaded [data-anim="hero-eyebrow"]{animation:stampIn 460ms var(--ease-warm) 60ms both}
.is-loaded [data-anim="hero-lead"]{animation:stampIn 480ms var(--ease-warm) 380ms both}
.is-loaded [data-anim="hero-cta"]{animation:stampIn 480ms var(--ease-warm) 520ms both}
.is-loaded [data-anim="hero-media"]{animation:bloomIn 700ms var(--ease-warm) 180ms both}
.is-loaded [data-anim="brand-mark"]{animation:popMark 520ms var(--ease-warm) 60ms both}
.is-loaded [data-anim="nav-item"]{animation:fadeDown 380ms var(--ease-smooth) both}

/* Letter-by-letter hero title reveal (stamp character) */
.letter-split .letter{
  display:inline-block;
  opacity:0;
  transform:translateY(-10px) scale(.95);
  transform-origin:center bottom;
  transition:
    opacity 320ms var(--ease-smooth),
    transform 420ms cubic-bezier(.33,1.25,.3,1);
  transition-delay:calc(var(--i,0) * 16ms + 80ms);
  will-change:transform,opacity;
}
.letter-split .letter.space{width:.32em}
.is-loaded .letter-split .letter{
  opacity:1;transform:none;
}

@keyframes stampIn{
  0%{opacity:0;transform:translateY(-8px) scale(.97)}
  100%{opacity:1;transform:none}
}
@keyframes bloomIn{
  0%{opacity:0;transform:scale(.96)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes popMark{
  0%{opacity:0;transform:rotate(-12deg) scale(.75)}
  60%{opacity:1;transform:rotate(4deg) scale(1.05)}
  100%{opacity:1;transform:none}
}
@keyframes fadeDown{
  0%{opacity:0;transform:translateY(-4px)}
  100%{opacity:1;transform:none}
}

/* --- Scroll reveal --- */
[data-reveal]{
  opacity:0;transform:translate3d(0,10px,0);
  transition:opacity 320ms var(--ease-out),transform 340ms cubic-bezier(.22,.61,.36,1);
  will-change:transform,opacity;
}
[data-reveal="zoom"]{transform:scale(.98)}
[data-reveal="right"]{transform:translate3d(-10px,0,0)}
[data-reveal="fold"]{
  transform:perspective(720px) rotateX(22deg) translate3d(0,10px,0);
  transform-origin:center top;
}
[data-reveal="pour"]{
  transform:translate3d(0,-14px,0) scaleY(.85);
  transform-origin:top center;
}
[data-reveal].is-visible{opacity:1;transform:none}

/* Word-by-word section title reveal (stamp character) */
.word-split{display:inline}
.word-split .word{
  display:inline-block;overflow:hidden;vertical-align:baseline;
  padding:.02em .02em .12em;margin:-.02em -.02em -.12em;
}
.word-split .word-inner{
  display:inline-block;
  transform:translate3d(0,105%,0) rotate(-3deg);
  transition:transform 440ms cubic-bezier(.33,1.25,.3,1);
  transition-delay:calc(var(--wi,0) * 60ms);
  will-change:transform;
}
.word-split.is-visible .word-inner{transform:none}

/* --- Hero --- */
.hero{
  padding:64px 0 56px;position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle 420px at var(--hmx,50%) var(--hmy,40%), rgba(194,117,86,.18), transparent 65%);
  transition:background-position 300ms ease-out;
}
.hero::before,
.hero::after{
  content:"";position:absolute;pointer-events:none;z-index:-1;
  border-radius:50%;filter:blur(50px);opacity:.45;
  animation:floatOrb 18s ease-in-out infinite;
  will-change:transform;
}
.hero::before{
  top:-6%;left:-6%;width:320px;height:320px;
  background:radial-gradient(circle,#efdcb5 0%,transparent 70%);
  animation-delay:-5s;
}
.hero::after{
  bottom:-10%;right:-4%;width:380px;height:380px;
  background:radial-gradient(circle,#d8a98d 0%,transparent 72%);
  animation-delay:-11s;
}
@keyframes floatOrb{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(16px,-22px,0) scale(1.04)}
}

.hero-grid{
  display:grid;grid-template-columns:1.15fr .9fr;gap:44px;align-items:center;
}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:32px}}

.eyebrow{
  display:inline-block;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);
  background:linear-gradient(100deg,#f3e8d8 0%,#f8efdf 50%,#f3e8d8 100%);
  background-size:260% 100%;background-position:0% 50%;
  border:1px solid var(--line);
  padding:6px 14px;border-radius:999px;margin-bottom:20px;
  animation:eyebrowShimmer 6s ease-in-out infinite;
}
@keyframes eyebrowShimmer{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

.hero p.lead{
  font-size:1.1rem;color:var(--ink-soft);max-width:58ch;line-height:1.7;
}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;align-items:center}

/* Wax seal (el yapımı badge) */
.wax-seal{
  position:relative;flex-shrink:0;
  width:78px;height:78px;
  display:grid;place-items:center;
  color:#fbe8d0;
  font-family:var(--font-serif);
  text-align:center;line-height:1.1;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, #e0795a 0%, #c24a2c 32%, #8a2e1c 75%, #4a1810 100%);
  box-shadow:
    0 6px 16px rgba(74,24,16,.55),
    0 2px 4px rgba(0,0,0,.25),
    inset 0 2px 0 rgba(255,200,160,.35),
    inset 0 -4px 12px rgba(0,0,0,.4),
    inset 3px 0 8px rgba(255,200,160,.2);
  transform:rotate(-10deg);
  animation:waxFloat 6s ease-in-out infinite;
  will-change:transform;
}
.wax-seal::before{
  content:"";position:absolute;inset:7px;border-radius:50%;
  border:1.5px dashed rgba(255,220,190,.42);
  pointer-events:none;
}
.wax-seal::after{
  content:"";position:absolute;inset:-3px;border-radius:50%;
  background:
    conic-gradient(from 0deg,
      transparent 0deg 14deg, rgba(130,40,20,.55) 14deg 36deg,
      transparent 36deg 54deg, rgba(130,40,20,.55) 54deg 76deg,
      transparent 76deg 94deg, rgba(130,40,20,.55) 94deg 116deg,
      transparent 116deg 134deg, rgba(130,40,20,.55) 134deg 156deg,
      transparent 156deg 174deg, rgba(130,40,20,.55) 174deg 196deg,
      transparent 196deg 214deg, rgba(130,40,20,.55) 214deg 236deg,
      transparent 236deg 254deg, rgba(130,40,20,.55) 254deg 276deg,
      transparent 276deg 294deg, rgba(130,40,20,.55) 294deg 316deg,
      transparent 316deg 334deg, rgba(130,40,20,.55) 334deg 360deg);
  z-index:-1;filter:blur(2px);opacity:.45;
}
.wax-seal span{
  position:relative;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  text-shadow:0 1px 0 rgba(0,0,0,.35),0 0 8px rgba(255,200,160,.2);
}
@keyframes waxFloat{
  0%,100%{transform:rotate(-10deg) translate3d(0,0,0)}
  50%{transform:rotate(-8deg) translate3d(0,-3px,0)}
}
@media (max-width:520px){.wax-seal{width:66px;height:66px} .wax-seal span{font-size:.62rem}}

.hero-media{
  position:relative;margin:0 0 0 auto;aspect-ratio:1/1;max-width:480px;
  border-radius:var(--radius-lg);overflow:hidden;
  background:linear-gradient(160deg,#f1e7d4,#e4d3b0);
  border:1px solid var(--line);
  box-shadow:
    0 30px 70px rgba(27,26,23,.18),
    0 10px 30px rgba(122,59,46,.12);
}
.hero-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.25),
    inset 0 34px 70px -30px rgba(255,255,255,.45),
    inset 0 -50px 90px -40px rgba(27,26,23,.25);
}
.hero-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:translate3d(calc(var(--px,0) * 10px),calc(var(--py,0) * 10px),0) scale(1.05);
  transition:transform 700ms var(--ease-smooth),filter 900ms var(--ease-smooth);
}
.is-loaded .hero-media img{
  animation:jarFill 820ms cubic-bezier(.22,.61,.36,1) 260ms both;
}
@keyframes jarFill{
  0%{clip-path:inset(100% 0 0 0)}
  100%{clip-path:inset(0 0 0 0)}
}

/* --- Buttons --- */
.btn{
  --mx:0px;--my:0px;
  position:relative;overflow:hidden;isolation:isolate;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 28px;line-height:1;
  border-radius:999px;font-size:.95rem;font-weight:500;letter-spacing:.01em;
  text-decoration:none;cursor:pointer;border:1px solid transparent;
  transform:translate3d(var(--mx),var(--my),0);
  transition:
    background 380ms var(--ease-smooth),
    color 280ms var(--ease-smooth),
    box-shadow 380ms var(--ease-smooth),
    transform 280ms cubic-bezier(.33,1.2,.3,1),
    border-color 280ms var(--ease-smooth);
}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.2) 50%,transparent 66%);
  transform:translateX(-140%) skewX(-14deg);
  transition:transform 680ms cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
}
.btn:hover::before,
.btn:focus-visible::before{transform:translateX(140%) skewX(-14deg)}
.btn:hover{transform:translate3d(var(--mx),calc(var(--my) - 2px),0)}
.btn:active{transform:translate3d(var(--mx),var(--my),0);transition-duration:120ms}

.btn-primary{
  background:linear-gradient(180deg,#2a2520 0%,#141210 100%);
  color:#fbf8f3;
  box-shadow:0 8px 22px rgba(27,26,23,.22),inset 0 1px 0 rgba(255,255,255,.14);
}
.btn-primary:hover{
  background:linear-gradient(180deg,#c27556 0%,#7a3b2e 100%);
  color:#fbf8f3;
  box-shadow:
    0 0 0 5px rgba(194,117,86,.26),
    0 20px 46px rgba(122,59,46,.42),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -2px 0 rgba(0,0,0,.2);
}

.btn-strong{
  background:linear-gradient(180deg,#3a332c 0%,#231f1c 100%);
  color:#fbf8f3;
  box-shadow:0 6px 18px rgba(27,26,23,.18),inset 0 1px 0 rgba(255,255,255,.1);
}
.btn-strong:hover{
  background:linear-gradient(180deg,#60503f 0%,#3a332c 100%);
  color:#fbf8f3;
  box-shadow:
    0 0 0 5px rgba(107,100,87,.3),
    0 16px 34px rgba(27,26,23,.3),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.btn-ghost{
  background:transparent;color:var(--ink);border-color:var(--line);
}
.btn-ghost:hover{
  border-color:var(--accent);background:#fff;color:var(--accent);
  box-shadow:0 0 0 5px rgba(122,59,46,.12),0 8px 22px rgba(122,59,46,.1);
}

/* Protect .btn from inline-link hijack */
.card p a:not(.btn),
.legal-content a:not(.btn),
.price-note a:not(.btn),
.section-sub a:not(.btn),
.contact-card a:not(.btn){
  color:var(--accent);
}

/* --- Section --- */
section{position:relative;padding:64px 0;border-top:1px solid var(--line-soft)}
section:first-of-type{border-top:none}
section + section::before{
  content:"";position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  width:260px;height:14px;border-radius:999px;pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(194,117,86,.5) 0%, transparent 70%);
  opacity:.55;
}
section + section::after{
  content:"";position:absolute;top:-8px;left:50%;
  width:12px;height:18px;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 50% at 50% 35%,#f2d6b2 0%,transparent 60%),
    radial-gradient(ellipse 75% 70% at 50% 62%,#e09c74 0%,#c27556 55%,#7a3b2e 100%);
  border-radius:50% 50% 50% 50% / 58% 58% 42% 42%;
  box-shadow:
    0 2px 0 rgba(255,255,255,.6),
    0 0 0 3px var(--bg),
    0 6px 14px rgba(122,59,46,.45),
    inset 0 -2px 4px rgba(54,18,8,.35);
  transform:translateX(-50%) translateY(0);
  transform-origin:50% 30%;
  animation:caramelDrip 4.2s ease-in-out infinite;
  will-change:transform;
}
@keyframes caramelDrip{
  0%,100%{transform:translateX(-50%) translate3d(0,0,0) scaleY(1)}
  38%{transform:translateX(-50%) translate3d(0,-1px,0) scaleY(.88) scaleX(1.05)}
  62%{transform:translateX(-50%) translate3d(0,3px,0) scaleY(1.12) scaleX(.94)}
}
.section-head{max-width:64ch;margin-bottom:32px}
.section-head h2{
  position:relative;display:inline-block;padding-bottom:16px;margin-bottom:10px;
}
.section-head h2::after{
  content:"";position:absolute;left:0;bottom:4px;
  width:72px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent 0%,var(--gold) 18%,var(--accent-warm) 50%,var(--accent) 82%,transparent 100%);
}
.section-head h2::before{
  content:"";position:absolute;left:28px;bottom:-1px;width:10px;height:10px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#e5c69a,#c27556 60%,#7a3b2e 100%);
  box-shadow:0 0 0 3px var(--bg),0 4px 12px rgba(122,59,46,.35);
}
.section-head p{color:var(--muted);line-height:1.7}

/* --- Cards --- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.card{
  position:relative;
  background:
    linear-gradient(115deg,transparent 36%,rgba(255,255,255,.5) 50%,transparent 64%) no-repeat,
    var(--paper);
  background-size:240% 100%, 100% 100%;
  background-position:140% 0, 0 0;
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px 22px 22px;box-shadow:var(--shadow-sm);
  transition:
    transform 360ms cubic-bezier(.33,1.2,.3,1),
    box-shadow 360ms var(--ease-smooth),
    border-color 280ms var(--ease-smooth),
    background-position 720ms cubic-bezier(.22,.61,.36,1);
}
.card:hover{
  transform:translateY(-5px);border-color:var(--accent-warm);
  box-shadow:0 18px 42px rgba(122,59,46,.14),0 4px 12px rgba(122,59,46,.06);
  background-position:-80% 0, 0 0;
}
.card::before{
  content:"";position:absolute;left:22px;right:22px;bottom:14px;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,var(--gold) 30%,var(--accent-warm) 50%,var(--gold) 70%,transparent 100%);
  transform:scaleX(0);transform-origin:center;opacity:0;
  transition:transform 480ms cubic-bezier(.22,.61,.36,1),opacity 320ms var(--ease-smooth);
}
.card:hover::before{transform:scaleX(1);opacity:.75}
.card h3{margin-top:0;transition:transform 340ms var(--ease-warm),color 260ms var(--ease-smooth)}
.card:hover h3{transform:translateY(-2px);color:var(--accent)}
.card p{color:var(--ink-soft);margin-bottom:0}
.card .tag{
  position:absolute;top:-10px;left:18px;
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  background:linear-gradient(180deg,#3a332c,#1b1a17);
  color:#fbf8f3;padding:5px 12px;border-radius:999px;
  box-shadow:0 4px 12px rgba(27,26,23,.2);
  transition:transform 420ms var(--ease-warm),background 420ms var(--ease-smooth);
}
.card:hover .tag{
  transform:translateY(-2px);
  background:linear-gradient(180deg,#c27556,#7a3b2e);
  box-shadow:0 6px 16px rgba(122,59,46,.34);
}

/* --- Label cards --- */
.labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.label-card{
  position:relative;
  background:
    linear-gradient(115deg,transparent 36%,rgba(255,255,255,.55) 50%,transparent 64%) no-repeat,
    var(--paper);
  background-size:240% 100%, 100% 100%;
  background-position:140% 0, 0 0;
  border:1px solid var(--line);border-radius:8px;
  padding:26px 18px 22px;text-align:center;
  box-shadow:inset 0 12px 0 -11px var(--line),inset 0 -12px 0 -11px var(--line),0 1px 2px rgba(27,26,23,.04);
  transition:
    transform 360ms cubic-bezier(.33,1.2,.3,1),
    border-color 280ms var(--ease-smooth),
    box-shadow 360ms var(--ease-smooth),
    filter 360ms var(--ease-smooth),
    background-position 720ms cubic-bezier(.22,.61,.36,1);
}
.label-card::after{
  content:"";position:absolute;left:50%;top:-14px;width:36px;height:8px;
  background:linear-gradient(180deg,#2a2520,#0f0d0a);
  border-radius:4px 4px 2px 2px;
  box-shadow:0 2px 6px rgba(27,26,23,.18);
  transform:translateX(-50%) scaleY(0);transform-origin:top center;
  transition:transform 380ms cubic-bezier(.33,1.2,.3,1);
}
.label-card:hover{
  transform:translateY(-5px) rotate(-.3deg);
  border-color:var(--accent-warm);
  box-shadow:inset 0 12px 0 -11px var(--accent-warm),inset 0 -12px 0 -11px var(--accent-warm),0 16px 34px rgba(122,59,46,.14);
  filter:saturate(1.08);
  background-position:-80% 0, 0 0;
}
.label-card:hover::after{transform:translateX(-50%) scaleY(1)}
.label-card .mono{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);transition:color 300ms var(--ease-smooth)}
.label-card:hover .mono{color:var(--accent)}
.label-card .taste{font-family:var(--font-serif);font-size:1.24rem;margin:10px 0 8px;transition:transform 420ms var(--ease-warm)}
.label-card:hover .taste{transform:translateY(-2px)}
.label-card .hint{font-size:.88rem;color:var(--ink-soft);margin:0;line-height:1.55}

/* --- Process --- */
.process{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
@media (min-width:761px){
  .process::after{
    content:"";position:absolute;top:50%;left:10%;right:10%;height:2px;z-index:-1;
    background:
      linear-gradient(90deg,
        transparent 0%,
        rgba(176,136,72,.18) 4%,
        #b08848 12%,#c27556 50%,#7a3b2e 88%,
        rgba(122,59,46,.18) 96%,transparent 100%);
    transform:translateY(-50%) scaleX(0);transform-origin:left center;
    transition:transform 900ms cubic-bezier(.22,.61,.36,1);
    border-radius:3px;
    box-shadow:0 0 10px rgba(194,117,86,.35);
    opacity:.7;
  }
  .process.is-flown::after{transform:translateY(-50%) scaleX(1)}
}
@media (max-width:760px){.process{grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:460px){.process{grid-template-columns:1fr}}
.step{
  position:relative;
  background:
    linear-gradient(115deg,transparent 36%,rgba(255,255,255,.48) 50%,transparent 64%) no-repeat,
    var(--paper);
  background-size:240% 100%, 100% 100%;
  background-position:140% 0, 0 0;
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px 20px 22px;
  overflow:hidden;
  transition:
    transform 360ms cubic-bezier(.33,1.2,.3,1),
    border-color 280ms var(--ease-smooth),
    box-shadow 360ms var(--ease-smooth),
    background-position 720ms cubic-bezier(.22,.61,.36,1);
}
.step:hover{background-position:-80% 0, 0 0}
.step::before{
  counter-increment:step;content:"0" counter(step);
  position:absolute;top:12px;right:16px;
  font-family:var(--font-serif);font-size:2.4rem;color:var(--gold);
  opacity:.24;line-height:1;
  transition:transform 520ms var(--ease-warm),opacity 420ms var(--ease-smooth),color 420ms var(--ease-smooth);
}
.step::after{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#b08848,#c27556,#7a3b2e);
  transform:scaleX(0);transform-origin:left center;
  transition:transform 620ms cubic-bezier(.22,.61,.36,1);
}
.step:hover{
  transform:translateY(-5px);
  border-color:var(--accent-warm);
  box-shadow:0 16px 36px rgba(122,59,46,.14);
}
.step:hover::before{transform:scale(1.12) rotate(-3deg);opacity:.85;color:var(--accent)}
.step:hover::after{transform:scaleX(1)}
.step.is-visible::before{animation:numberPop 520ms cubic-bezier(.33,1.2,.3,1) both}
@keyframes numberPop{
  0%{opacity:0;transform:translateY(-8px) scale(.75);color:var(--gold)}
  60%{opacity:.9;transform:translateY(1px) scale(1.08);color:var(--accent-warm)}
  100%{opacity:.24;transform:none;color:var(--gold)}
}
.step h3{margin:0 0 6px;font-size:1.08rem;transition:color 320ms var(--ease-smooth)}
.step:hover h3{color:var(--accent)}
.step p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.6}

/* --- Themed list markers (kavanoz character) --- */
.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.feature-list li{
  position:relative;padding-left:40px;color:var(--ink-soft);line-height:1.6;
  transition:transform 280ms var(--ease-warm),color 220ms var(--ease-smooth);
}
.feature-list li::before{
  content:"";position:absolute;left:0;top:.1em;
  width:24px;height:26px;border-radius:6px 6px 12px 12px / 8px 8px 14px 14px;
  background:linear-gradient(180deg,#f5ecd8 0%,#e4d3b0 58%,#d8b987 100%);
  border:1px solid var(--line);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.6),
    inset -3px -6px 10px rgba(27,26,23,.12),
    inset 3px 0 6px rgba(255,255,255,.3),
    0 1px 2px rgba(27,26,23,.06);
  transition:
    transform 340ms cubic-bezier(.33,1.2,.3,1),
    filter 280ms var(--ease-smooth),
    box-shadow 280ms var(--ease-smooth),
    background 280ms var(--ease-smooth);
}
.feature-list li::after{
  content:"";position:absolute;left:3px;top:-3px;width:18px;height:6px;
  background:linear-gradient(180deg,#2a2520,#0d0b09);
  border-radius:3px 3px 2px 2px;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.2);
  transition:transform 340ms cubic-bezier(.33,1.2,.3,1);
}
.feature-list li:nth-child(2n)::before{background:linear-gradient(180deg,#f5e3d4 0%,#deb89c 60%,#c99b84 100%)}
.feature-list li:nth-child(3n)::before{background:linear-gradient(180deg,#f0d9c8 0%,#c99b84 58%,#a97764 100%)}
.feature-list li:nth-child(4n)::before{background:linear-gradient(180deg,#f8efdf 0%,#e7cfae 60%,#c9a87c 100%)}
.feature-list li:hover{transform:translateX(4px);color:var(--ink)}
.feature-list li:hover::before{
  transform:rotate(-6deg) scale(1.1) translateY(-2px);
  filter:saturate(1.15);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.65),
    inset -3px -6px 10px rgba(27,26,23,.12),
    0 10px 22px rgba(122,59,46,.22);
}
.feature-list li:hover::after{transform:translateX(-2px) rotate(-5deg) translateY(-1px)}

/* --- Price table --- */
.prices{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px;overflow:auto;
  box-shadow:0 4px 16px rgba(27,26,23,.06);
}
.prices table{width:100%;border-collapse:collapse;min-width:520px}
.prices caption{text-align:left;font-weight:600;padding:4px 0 14px;color:var(--ink);letter-spacing:.02em}
.prices th,.prices td{padding:14px 12px;text-align:left;border-bottom:1px dashed var(--line)}
.prices th{font-weight:600;color:var(--ink);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.prices thead tr{
  background:linear-gradient(180deg,rgba(224,204,160,.18),transparent);
}
.prices tbody tr{
  background:
    linear-gradient(90deg,rgba(194,117,86,.14) 0%,rgba(194,117,86,.08) 100%) no-repeat 0 0 / 0% 100%,
    transparent;
  transition:background-size 620ms cubic-bezier(.22,.61,.36,1);
}
.prices tbody tr:hover{
  background-size:100% 100%;
}
.prices tbody tr:hover .amount{color:var(--accent)}
.prices tr:last-child td{border-bottom:none}
.prices .amount{
  white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--accent-warm);
  font-weight:600;letter-spacing:.01em;
  transition:color 320ms var(--ease-smooth);
}
.price-note{margin-top:14px;font-size:.86rem;color:var(--muted);line-height:1.6}

/* --- Calculator --- */
.builder{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px;display:grid;gap:18px;grid-template-columns:1.2fr .8fr;
}
@media (max-width:760px){.builder{grid-template-columns:1fr}}
.field{display:grid;gap:8px;margin-bottom:14px}
.field label{font-size:.88rem;letter-spacing:.04em;color:var(--ink)}
.field .control{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.chip-group{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:0 16px;min-height:40px;line-height:1;display:inline-flex;align-items:center;
  font-size:.9rem;cursor:pointer;color:var(--ink);
  transition:background 220ms var(--ease-smooth),border-color 220ms var(--ease-smooth),color 220ms var(--ease-smooth);
}
.chip[aria-pressed="true"]{background:var(--ink);color:#fbf8f3;border-color:var(--ink)}
input[type="range"]{width:100%;accent-color:var(--accent)}
.range-val{font-variant-numeric:tabular-nums;color:var(--accent-soft);font-weight:600}

/* Toggle (sibling-span pattern) */
.switch{
  position:relative;display:inline-flex;align-items:center;
  width:44px;height:26px;flex-shrink:0;cursor:pointer;
}
.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.switch .switch-track{
  position:absolute;inset:0;background:#d9cfbf;border-radius:999px;
  transition:background 220ms var(--ease-smooth);
}
.switch .switch-knob{
  position:absolute;left:3px;top:3px;width:20px;height:20px;
  background:#fff;border-radius:50%;
  box-shadow:0 1px 3px rgba(0,0,0,.2);
  transition:transform 260ms var(--ease-warm);
}
.switch input:checked ~ .switch-track{background:var(--accent)}
.switch input:checked ~ .switch-knob{transform:translateX(18px)}
.switch input:disabled ~ .switch-track{opacity:.6}
.switch input:focus-visible ~ .switch-track{box-shadow:0 0 0 3px rgba(122,59,46,.35)}

.toggle-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.toggle-row .toggle-label{font-size:.95rem;color:var(--ink)}

.estimate{
  border:1px dashed var(--line);border-radius:var(--radius);padding:18px;
  display:flex;flex-direction:column;gap:6px;background:#fff;
}
.estimate .range{font-family:var(--font-serif);font-size:1.6rem;color:var(--ink)}
.estimate small{color:var(--muted)}

/* --- FAQ (grid-template-rows pattern) --- */
.faq{display:grid;gap:12px}
.faq-item{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 1px 2px rgba(27,26,23,.04);
  transition:border-color 240ms var(--ease-smooth),box-shadow 280ms var(--ease-smooth);
}
.faq-item:hover{
  border-color:var(--accent-warm);
  box-shadow:0 10px 26px rgba(122,59,46,.1);
}
.faq-item.open{
  border-color:var(--accent);
  box-shadow:0 14px 32px rgba(122,59,46,.14);
}
.faq-q{
  width:100%;background:none;border:0;padding:18px 20px;text-align:left;
  font:inherit;font-weight:600;font-size:1.02rem;color:var(--ink);cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  transition:color 300ms var(--ease-smooth);
}
.faq-q:hover{color:var(--accent)}
.faq-item.open .faq-q{color:var(--accent)}

.faq-icon{
  position:relative;width:30px;height:30px;flex-shrink:0;
  border-radius:50%;
  background:rgba(122,59,46,.08);
  border:1px solid rgba(122,59,46,.16);
  transition:
    background 280ms var(--ease-smooth),
    border-color 280ms var(--ease-smooth),
    transform 380ms cubic-bezier(.33,1.2,.3,1),
    box-shadow 280ms var(--ease-smooth);
}
.faq-q:hover .faq-icon{
  background:rgba(122,59,46,.16);
  border-color:var(--accent-warm);
  box-shadow:0 4px 10px rgba(122,59,46,.14);
}
.faq-icon::before,
.faq-icon::after{
  content:"";position:absolute;top:50%;left:50%;
  background:var(--accent);border-radius:2px;
  transform-origin:center;
  transition:transform 360ms cubic-bezier(.33,1.2,.3,1),background 240ms var(--ease-smooth),opacity 240ms var(--ease-smooth);
}
.faq-icon::before{width:12px;height:2px;margin:-1px 0 0 -6px}
.faq-icon::after{width:2px;height:12px;margin:-6px 0 0 -1px}
.faq-item.open .faq-icon{
  background:linear-gradient(180deg,#c27556,#7a3b2e);
  border-color:transparent;
  transform:rotate(180deg);
  box-shadow:0 6px 16px rgba(122,59,46,.34),inset 0 1px 0 rgba(255,255,255,.26);
}
.faq-item.open .faq-icon::before{background:#fbf8f3}
.faq-item.open .faq-icon::after{background:#fbf8f3;transform:scaleY(0)}

.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows 340ms cubic-bezier(.2,.7,.2,1)}
.faq-a-inner{overflow:hidden;min-height:0}
.faq-a-inner p{padding:0 20px 18px;margin:0;color:var(--ink-soft);line-height:1.65}
.faq-item.open .faq-a{grid-template-rows:1fr}

/* --- Form --- */
.form{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:24px;display:grid;gap:14px;
}
.form .row{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:640px){.form .row{grid-template-columns:1fr}}
.form label{font-size:.88rem;color:var(--ink)}
.form .req{color:var(--accent);font-weight:600}
.form .opt{color:var(--muted);font-size:.82rem;font-weight:400;margin-left:6px}
.form input,.form textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;
  background:#fff;color:var(--ink);font:inherit;
  transition:border-color 220ms var(--ease-smooth),box-shadow 220ms var(--ease-smooth);
}
.form input:focus,.form textarea:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px rgba(122,59,46,.15);
  outline:none;
}
.form textarea{min-height:140px;resize:vertical}
.form .hint{font-size:.82rem;color:var(--muted);margin:4px 0 0}
.form .consent{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ink-soft)}
.form .consent input{margin-top:4px;width:auto}
.form-status{
  max-height:0;opacity:0;padding:0;
  overflow:hidden;transform:translateY(-4px);border-left:3px solid transparent;
  transition:max-height 320ms var(--ease-smooth),opacity 260ms var(--ease-smooth),transform 260ms var(--ease-smooth),padding 260ms var(--ease-smooth),color 220ms var(--ease-smooth),background-color 220ms var(--ease-smooth),border-color 220ms var(--ease-smooth);
  font-size:.95rem;border-radius:6px;
}
.form-status:not(:empty){
  max-height:8em;opacity:1;transform:none;
  padding:12px 16px;background:rgba(107,100,87,.08);border-color:var(--muted);color:var(--ink-soft);
}
.form-status.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok)}
.form-status.err{color:var(--err);background:var(--err-bg);border-color:var(--err)}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.form-layout{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start;
}
@media (max-width:860px){.form-layout{grid-template-columns:1fr}}
.form-aside{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px;
}
@media (min-width:861px){
  .form-aside{position:sticky;top:calc(var(--header-h) + 20px)}
}
.form-aside h3{margin-top:0}
.form-aside ul{margin:0 0 0 0;padding-left:0;list-style:none;display:grid;gap:10px}

/* --- Contact block --- */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.contact-card{
  position:relative;
  background:
    linear-gradient(115deg,transparent 36%,rgba(255,255,255,.5) 50%,transparent 64%) no-repeat,
    var(--paper);
  background-size:240% 100%, 100% 100%;
  background-position:140% 0, 0 0;
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px;display:grid;gap:14px;
  box-shadow:0 1px 2px rgba(27,26,23,.04);
  transition:
    transform 360ms cubic-bezier(.33,1.2,.3,1),
    border-color 280ms var(--ease-smooth),
    box-shadow 360ms var(--ease-smooth),
    background-position 720ms cubic-bezier(.22,.61,.36,1);
}
.contact-card:hover{
  transform:translateY(-4px);
  border-color:var(--accent-warm);
  box-shadow:0 16px 36px rgba(122,59,46,.12);
  background-position:-80% 0, 0 0;
}
.contact-card .icon{
  width:40px;height:40px;border-radius:12px;
  background:linear-gradient(160deg,#f5ecd8,#e4d3b0);
  border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 4px 10px rgba(122,59,46,.1);
  transition:transform 520ms var(--ease-warm),background 420ms var(--ease-smooth),color 320ms var(--ease-smooth),box-shadow 420ms var(--ease-smooth);
}
.contact-card:hover .icon{
  transform:rotate(-6deg) scale(1.08);
  background:linear-gradient(160deg,#f5d2b8,#c27556);
  color:#fbf8f3;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 8px 18px rgba(122,59,46,.3);
}
.contact-card .icon svg{width:20px;height:20px}
.contact-card .title{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}
.contact-card .value{margin:2px 0 0;color:var(--ink);font-size:1.05rem}
.contact-card .value a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:color 300ms,border-color 300ms}
.contact-card .value a:hover{color:var(--accent);border-color:var(--accent)}

/* --- Footer --- */
.site-footer{
  background:#1b1a17;color:#e9e0d1;padding:48px 0 28px;margin-top:0;
}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:28px}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}
.site-footer h4{color:#fbf8f3;font-family:var(--font-serif);font-size:1.05rem;margin-bottom:14px}
.site-footer a{color:#d9cfbf;text-decoration:none;border-bottom:1px solid transparent;transition:color 220ms,border-color 220ms}
.site-footer a:hover{color:#fbf8f3;border-bottom-color:var(--gold)}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.95rem}
.footer-brand .brand{color:#fbf8f3}
.footer-brand .brand:hover{color:var(--gold)}
.footer-brand .brand > span:last-child{background-image:linear-gradient(var(--gold),var(--gold))}
.footer-brand p{color:#c9bfa9;font-size:.95rem;margin-top:10px}
.foot-bottom{
  margin-top:32px;padding-top:20px;border-top:1px solid #2e2925;
  text-align:center;font-size:.85rem;color:#a59c8a;
}
.foot-bottom p{margin:0}
.foot-bottom a{color:#c9bfa9}

/* --- Cookie banner --- */
.cookie-banner[hidden]{display:none !important}
.cookie-settings[hidden]{display:none !important}
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;
  max-width:760px;margin:0 auto;
  background:#fbf8f3;color:var(--ink);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:18px;z-index:80;
  opacity:0;transform:translateY(10px) scale(.98);
  transition:opacity 320ms var(--ease-smooth),transform 320ms var(--ease-smooth);
}
.cookie-banner.visible{opacity:1;transform:none}
.cookie-banner h2{font-size:1.05rem;margin:0 0 6px}
.cookie-banner p{font-size:.92rem;color:var(--ink-soft);margin:0 0 12px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:8px}
.cookie-actions .btn{min-height:44px;padding:0 18px;font-size:.9rem}
.cookie-settings{
  margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);
}
.cookie-row{
  display:flex;gap:14px;align-items:flex-start;
  padding:12px 0;border-bottom:1px dashed var(--line-soft);
}
.cookie-row:last-child{border-bottom:none}
.cookie-row .switch{order:-1;margin-top:4px}
.cookie-row .info{flex:1}
.cookie-row h3{margin:0;font-size:.95rem}
.cookie-row p{font-size:.82rem;margin:2px 0 0}
.cookie-row .meta{color:var(--muted);font-size:.78rem}

/* --- Legal pages --- */
.legal-layout{
  display:grid;grid-template-columns:240px 1fr;gap:32px;
}
@media (max-width:860px){.legal-layout{grid-template-columns:1fr;gap:18px}}
.legal-toc{
  position:sticky;top:calc(var(--header-h) + 16px);align-self:start;
  background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:14px 16px;font-size:.92rem;
  box-shadow:0 4px 14px rgba(27,26,23,.05);
}
.legal-toc-toggle{
  display:flex;width:100%;background:none;border:0;padding:0;
  align-items:center;justify-content:space-between;gap:12px;
  color:inherit;font:inherit;text-align:left;
}
.legal-toc-toggle h3{
  font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);
  margin:0;font-family:var(--font-sans);font-weight:600;
}
.toc-caret{
  position:relative;width:28px;height:28px;flex-shrink:0;
  border-radius:50%;background:rgba(122,59,46,.08);border:1px solid rgba(122,59,46,.16);
  display:grid;place-items:center;
  transition:background 360ms var(--ease-smooth),border-color 360ms var(--ease-smooth),transform 480ms var(--ease-warm);
}
.toc-caret::before{
  content:"";width:8px;height:8px;
  border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:translateY(-2px) rotate(45deg);
  transition:transform 400ms var(--ease-smooth),border-color 300ms var(--ease-smooth);
}
.legal-toc-toggle:hover .toc-caret{background:rgba(122,59,46,.18);border-color:var(--accent-warm)}
.legal-toc[data-open="true"] .toc-caret{background:linear-gradient(180deg,#c27556,#7a3b2e);border-color:transparent}
.legal-toc[data-open="true"] .toc-caret::before{border-color:#fbf8f3;transform:translateY(2px) rotate(-135deg)}

.legal-toc-body{
  display:grid;grid-template-rows:1fr;
  transition:grid-template-rows 340ms cubic-bezier(.2,.7,.2,1),margin-top 240ms var(--ease-smooth);
  margin-top:12px;
}
.legal-toc-body > div{overflow:hidden;min-height:0}
.legal-toc ol{margin:0;padding-left:22px;display:grid;gap:8px}
.legal-toc li::marker{color:var(--gold)}
.legal-toc a{
  color:var(--ink-soft);text-decoration:none;display:inline-block;
  position:relative;padding:2px 0;
  transition:color 300ms var(--ease-smooth),transform 300ms var(--ease-warm);
}
.legal-toc a::before{
  content:"";position:absolute;left:-14px;top:50%;width:6px;height:2px;
  background:var(--accent);border-radius:2px;
  transform:translateY(-50%) scaleX(0);transform-origin:left center;
  transition:transform 320ms var(--ease-smooth);
}
.legal-toc a:hover{color:var(--accent);transform:translateX(3px)}
.legal-toc a:hover::before{transform:translateY(-50%) scaleX(1)}

@media (max-width:860px){
  .legal-toc{position:static}
  .legal-toc-toggle{cursor:pointer}
  .legal-toc[data-open="false"] .legal-toc-body{grid-template-rows:0fr;margin-top:0}
}
@media (min-width:861px){
  .legal-toc-toggle{pointer-events:none}
  .toc-caret{display:none}
  .legal-toc-body{margin-top:10px}
}
.legal-content h2{margin-top:28px}
.legal-content h2:first-child{margin-top:0}
.legal-content ul,.legal-content ol{padding-left:20px;margin:0 0 1em}
.legal-content li{margin-bottom:6px}
.legal-content .updated{color:var(--muted);font-size:.9rem}

/* --- 404 --- */
.center-stage{
  min-height:60vh;display:grid;place-items:center;text-align:center;padding:60px 0;
}
.center-stage .code{
  font-family:var(--font-serif);font-size:clamp(5rem,14vw,9rem);
  color:var(--accent);line-height:1;margin:0;
}
.center-stage .ctas{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* --- Sitemap --- */
.site-map-grid{display:grid;gap:28px}
.site-map-group h2{margin-bottom:14px}
.site-map-group ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.site-map-group li{
  border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;
  background:var(--paper);
  transition:transform 300ms var(--ease-warm),border-color 260ms var(--ease-smooth),box-shadow 260ms var(--ease-smooth);
}
.site-map-group li:hover{transform:translateY(-2px);border-color:var(--accent-warm);box-shadow:0 12px 28px rgba(122,59,46,.1)}
.site-map-group a{color:var(--ink);text-decoration:none;font-weight:600}
.site-map-group .desc{display:block;color:var(--muted);font-size:.88rem;font-weight:400;margin-top:4px}

/* --- Utility --- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.text-center{text-align:center}
.muted{color:var(--muted)}
.cta-wrap{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.mt-3{margin-top:var(--s-4)}

/* --- Reduced motion --- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  [data-reveal]{opacity:1 !important;transform:none !important;filter:none !important}
  body:not(.is-loaded) [data-anim]{opacity:1 !important}
  .hero-media img{transform:none !important}
}
