/* ============ גדול ונורא — "תיק חקירה" (עיצוב 22.10.2026) ============
   שולחן עבודה כהה, תיקיות קרטון, פתקים וחותמות. משותף לכל דפי האתר. */
:root{
  --desk:#2A2520;
  --desk2:#332C25;
  --manila:#EAD9AE;
  --manila2:#E1CC98;
  --paper:#FAF6EC;
  --ink:#231C14;
  --ink2:#4C4031;
  --muted:#5A4D3B;
  --red:#B3221E;
  --red2:#8E1A17;
  --rose:#FF9B8E;
  --line:#C9B17C;
  --on-desk:#E7D9B8;
  --on-desk-dim:#CDBF9F;
  --focus:#1D5D8E;
  --head:'Secular One', 'Heebo', Arial, sans-serif;
  --stamp:'Karantina', 'Secular One', Arial, sans-serif;
  --body:'Heebo', 'Segoe UI', Arial, sans-serif;
  --text:'Frank Ruhl Libre', 'David', serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0;
  background:var(--desk);
  background-image:radial-gradient(rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:5px 5px;
  color:var(--ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
h1,h2,h3{font-family:var(--head); font-weight:400; margin:0; line-height:1.15; text-wrap:balance;}
strong,b{font-weight:700;}
a{color:inherit;}
img{max-width:100%; height:auto; display:block;}
:focus-visible{outline:3px solid var(--focus); outline-offset:3px;}
.wrap{max-width:1160px; margin:0 auto; padding-inline:18px;}
.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;}
.skip-link{
  position:absolute; inset-inline-start:12px; top:-60px; z-index:300;
  background:var(--red); color:#FFF6EA; font-weight:700; font-size:.95rem;
  padding:10px 18px; border-radius:0 0 6px 6px; transition:top .2s; text-decoration:none;
}
.skip-link:focus{top:0;}
input[type=email], input[type=tel]{direction:ltr; text-align:right;}

/* ---------- the vocabulary: stamp, label, folder tab ---------- */
.stamp{
  display:inline-block; font-family:var(--stamp); font-weight:700; font-size:1.5rem; line-height:1;
  letter-spacing:.04em; color:var(--red); border:3px solid currentColor; padding:6px 12px 4px;
  border-radius:4px; transform:rotate(-3deg); opacity:.92;
}
.label, .eyebrow{font-family:var(--stamp); font-weight:700; font-size:1.3rem; line-height:1; color:var(--red); letter-spacing:.02em;}
.tab{display:inline-block; font-family:var(--stamp); font-size:1.35rem; line-height:1; color:var(--ink2); background:var(--manila2); padding:10px 18px 6px; border-radius:8px 8px 0 0;}
.folder{position:relative; background:var(--manila); border-radius:0 10px 10px 10px; box-shadow:0 30px 60px rgba(0,0,0,.45), inset 0 0 0 1px rgba(0,0,0,.06); padding:36px 34px;}
.folder-tab{position:relative; z-index:1; margin-bottom:-1px;}
.card{background:var(--paper); border-radius:4px; box-shadow:0 18px 40px rgba(0,0,0,.4); padding:32px 30px;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:52px; padding:10px 24px; border-radius:6px;
  font-family:var(--body); font-weight:700; font-size:1.02rem; text-decoration:none;
  border:2px solid var(--ink); cursor:pointer; transition:transform .15s, box-shadow .15s, background .15s;
}
.btn:hover{transform:translate(-1px,-2px); box-shadow:3px 4px 0 var(--ink);}
.btn-red{background:var(--red); border-color:var(--red2); color:#FFF6EA;}
.btn-line{background:transparent; color:var(--ink);}
.btn-desk{background:transparent; color:var(--on-desk); border-color:var(--on-desk);}
.btn-desk:hover{box-shadow:3px 4px 0 rgba(0,0,0,.6); background:rgba(234,217,174,.08);}
.btn[disabled]{opacity:.7; cursor:wait; transform:none; box-shadow:none;}

/* ---------- header + hamburger ---------- */
.topbar{position:sticky; top:0; z-index:50; background:var(--desk); border-bottom:2px solid #000; box-shadow:0 2px 12px rgba(0,0,0,.4);}
.topbar .wrap{display:flex; align-items:center; gap:14px; min-height:62px;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--manila); font-family:var(--head); font-size:1.25rem; margin-inline-end:auto;}
.brand img{width:36px; height:36px; border-radius:4px; object-fit:cover; outline:2px solid var(--manila); outline-offset:2px;}
.topnav{display:flex; gap:2px;}
.topnav a{color:var(--on-desk); text-decoration:none; padding:8px 11px; font-weight:500; font-size:.95rem; border-radius:4px;}
.topnav a:hover{background:rgba(234,217,174,.12); color:#fff;}
.nav-readers{font-family:var(--stamp); font-weight:700; font-size:1.3rem; line-height:1; color:var(--rose); border:2px solid currentColor; padding:7px 12px 4px; border-radius:4px; text-decoration:none; transform:rotate(-2deg); white-space:nowrap;}
.menu-btn{display:none; width:46px; height:46px; border:2px solid var(--manila); border-radius:6px; background:transparent; cursor:pointer; align-items:center; justify-content:center; padding:0;}
.menu-btn .bars{display:grid; gap:5px;}
.menu-btn .bars i{display:block; width:20px; height:2px; background:var(--manila); transition:transform .2s, opacity .2s;}
.menu-btn[aria-expanded="true"] .bars i:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-btn[aria-expanded="true"] .bars i:nth-child(2){opacity:0;}
.menu-btn[aria-expanded="true"] .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.menu-panel{display:none;}
@media (max-width:880px){
  .topnav{display:none;}
  .menu-btn{display:inline-flex;}
  .nav-readers{font-size:1.15rem; padding:6px 9px 3px;}
  .menu-panel{display:block; position:fixed; z-index:49; top:62px; inset-inline:12px; background:var(--manila); border-radius:0 0 10px 10px; box-shadow:0 20px 40px rgba(0,0,0,.5); padding:8px 18px 20px; transform:translateY(-14px); opacity:0; visibility:hidden; transition:.22s; max-height:calc(100vh - 80px); overflow:auto;}
  .menu-panel.open{transform:none; opacity:1; visibility:visible;}
  .menu-panel a{display:block; padding:13px 4px; border-bottom:1px dashed var(--line); text-decoration:none; font-family:var(--head); font-size:1.25rem; color:var(--ink);}
  .menu-panel a:last-child{border-bottom:0;}
}

/* ---------- home: hero folder ---------- */
.hero{padding:42px 0 30px;}
.hero .folder{display:grid; grid-template-columns:300px minmax(0,1fr); grid-template-areas:"photo head" "photo label" "photo actions"; column-gap:46px; row-gap:22px; align-items:start;}
.hero .h-head{grid-area:head; min-width:0;}
.hero .h-label{grid-area:label; min-width:0;}
.hero .h-actions{grid-area:actions; min-width:0;}
.photo{grid-area:photo; position:relative; margin:0; background:#fff; padding:12px 12px 46px; box-shadow:0 14px 26px rgba(0,0,0,.3); transform:rotate(-2.5deg); align-self:center;}
.photo img{width:100%;}
.photo figcaption{position:absolute; bottom:10px; inset-inline:12px; font-family:var(--stamp); font-size:1.4rem; color:var(--ink2); text-align:center;}
.hero h1{font-size:clamp(3rem, 7.5vw, 5.2rem); margin:4px 0 4px; color:var(--ink);}
.hero .byline{font-size:1.25rem; margin:0; color:var(--ink2);}
.hero .pitch{font-family:var(--head); font-size:clamp(1.25rem, 2.6vw, 1.6rem); margin:18px 0 0; padding:12px 16px; background:var(--paper); border-inline-start:5px solid var(--red); text-wrap:balance;}
/* the book's details, written like a museum wall label */
.wall-label{border-top:1px solid var(--ink); padding-top:12px; font-size:.95rem; line-height:1.65; font-weight:300; color:var(--ink);}
.wall-label .t{display:block; font-family:var(--text); font-weight:500; font-size:1.35rem; line-height:1.2; margin-bottom:6px;}
.wall-label dl{margin:0;}
.wall-label dl div{display:block;}
.wall-label dt{display:inline; color:var(--muted);}
.wall-label dt::after{content:": ";}
.wall-label dd{display:inline; margin:0;}
.wall-label .tagline{margin:12px 0 0; color:var(--red); font-weight:400; text-wrap:balance;}
.buy-row{display:flex; flex-wrap:wrap; gap:12px;}

/* ---------- home: sealed envelope (readers band) ---------- */
.sealed{padding:26px 0;}
.envelope{position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:22px; align-items:center; background:#C9A86A; border-radius:8px; padding:26px 28px; box-shadow:0 20px 40px rgba(0,0,0,.4); background-image:linear-gradient(135deg, rgba(255,255,255,.12) 25%, transparent 25%), linear-gradient(225deg, rgba(255,255,255,.12) 25%, transparent 25%);}
.envelope .seal{width:74px; height:74px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #D2413A, #8E1A17); display:grid; place-items:center; box-shadow:0 4px 10px rgba(0,0,0,.4);}
.envelope .seal img{width:52px; height:52px; border-radius:50%; object-fit:cover; opacity:.9;}
.envelope h2{font-size:clamp(1.5rem, 3.4vw, 2rem);}
.envelope p{margin:2px 0 0;}
.envelope .note{font-size:.95rem; color:#3A2C17;}
.envelope .stamp{position:absolute; top:-16px; inset-inline-end:26px; background:var(--manila); font-size:1.3rem;}

/* ---------- home: evidence ---------- */
.section{padding:40px 0;}
.two{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px; align-items:start;}
.transcript{background:var(--paper); background-image:repeating-linear-gradient(180deg, transparent 0 31px, rgba(35,28,20,.09) 31px 32px); border-radius:4px; padding:30px 30px 26px; box-shadow:0 18px 40px rgba(0,0,0,.4); line-height:32px; transform:rotate(.6deg); margin:0;}
.transcript p{margin:0 0 16px; font-size:1.04rem;}
.transcript p:last-child{margin-bottom:0;}
.card h2{font-size:clamp(1.7rem, 3.6vw, 2.4rem);}
.summary h2{margin:4px 0 14px;}
.summary p{margin:0 0 14px;}
.summary p:last-child{margin:0;}
.idcard{display:grid; grid-template-columns:140px minmax(0,1fr); gap:24px; align-items:center; max-width:720px; margin:0 auto; background:var(--paper); border-radius:12px; padding:22px; box-shadow:0 18px 40px rgba(0,0,0,.4); border-top:14px solid var(--red);}
.idcard img{width:140px; height:170px; object-fit:cover; border-radius:6px; filter:grayscale(1) contrast(1.05);}
.idcard h2{font-size:2rem;}
.idcard p{margin:4px 0 0;}
.cards3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; align-items:start;}
.cards3 .card{display:flex; flex-direction:column; gap:10px; padding:24px 22px;}
.cards3 .card:nth-child(1){transform:rotate(-.6deg);}
.cards3 .card:nth-child(3){transform:rotate(.5deg);}
.cards3 p{margin:0;}
.cards3 .btn{align-self:flex-start; margin-top:6px;}
.cards3 h2{font-size:1.75rem;}

/* ---------- forms ---------- */
.book-form .field{margin-bottom:12px;}
.book-form label{display:block; font-family:var(--stamp); font-size:1.25rem; line-height:1.1; color:var(--muted);}
.book-form label .opt{font-family:var(--body); font-size:.8rem; color:var(--muted);}
.book-form input, .book-form textarea, .book-form select{width:100%; border:0; border-bottom:1.5px solid var(--ink2); background:transparent; padding:8px 2px; font-family:var(--body); font-size:1rem; color:var(--ink); border-radius:0;}
.book-form textarea{border:1.5px solid var(--ink2); border-radius:4px; padding:8px; resize:vertical;}
.book-form select{border:1.5px solid var(--ink2); border-radius:4px; padding:8px; background:var(--paper);}
.book-form input:focus, .book-form textarea:focus, .book-form select:focus{outline:none; border-color:var(--red); box-shadow:0 2px 0 var(--red);}
.book-form button{width:100%; margin-top:4px;}
.form-status{margin:10px 0 0; font-weight:700; font-size:.95rem;}
.form-status:empty{display:none;}
.form-status.ok{color:#1F6F3A;}
.form-status.err{color:var(--red);}
.book-form .note{font-size:.82rem; color:var(--muted); margin:8px 0 0;}
.mail-alt{font-size:.95rem; margin:12px 0 0;}
.mail-alt a{color:var(--red); direction:ltr; unicode-bidi:isolate;}

/* ---------- footers ---------- */
.light-footer, .dark-footer{padding:30px 18px 46px; text-align:center; color:var(--on-desk-dim); font-size:.95rem;}
.light-footer a, .dark-footer a{color:var(--on-desk); white-space:nowrap;}
.light-footer .sep, .dark-footer .sep{margin:0 8px; opacity:.6;}

/* ---------- enter + warning: the dossier ---------- */
body.dark{min-height:100vh; min-height:100svh; display:flex; flex-direction:column;}
body.dark main{flex:1; display:grid; place-items:center; padding:30px 16px 20px;}
.dossier{position:relative; max-width:620px; width:100%;}
.dossier .folder{text-align:center; padding:46px 30px 34px;}
.dossier .stamp{position:absolute; top:22px; inset-inline-start:22px; font-size:1.7rem; transform:rotate(-8deg);}
.dossier .cover-print{width:104px; margin:0 auto 16px; background:#fff; padding:6px 6px 18px; box-shadow:0 8px 16px rgba(0,0,0,.25); transform:rotate(2deg);}
.dossier h1{font-size:clamp(2.6rem, 8vw, 3.6rem);}
.dossier .door-byline{color:var(--ink2); margin:0;}
.dossier h2{font-size:clamp(1.6rem, 5vw, 2.2rem); margin:24px 0 8px; padding-top:20px; border-top:2px dashed var(--line);}
.dossier .door-lead{margin:0; font-weight:500;}
.dossier .door-note{margin:8px 0 22px; color:var(--red2); font-weight:500;}
.door-actions{display:flex; flex-wrap:wrap; gap:12px; justify-content:center;}
.door-actions .btn{flex:1 1 220px;}
.door-extra{display:flex; justify-content:center; gap:22px; flex-wrap:wrap; margin-top:20px;}
.door-extra a{color:var(--on-desk);}
.warning .folder p{margin:12px 0 0; font-size:1.06rem;}
.warning-mark{width:62px; height:62px; margin:0 auto 16px; border-radius:50%; display:grid; place-items:center; border:3px solid var(--red); color:var(--red); font-family:var(--stamp); font-weight:700; font-size:2.2rem; line-height:1; transform:rotate(-6deg);}
.warning h1{font-size:clamp(2rem, 6vw, 2.8rem);}
.warning .door-actions{margin-top:28px;}

/* ---------- lecture page ---------- */
.lecture-hero{padding:42px 0 30px;}
.lecture-hero .folder{display:grid; grid-template-columns:220px minmax(0,1fr); gap:40px; align-items:center;}
.lecturer-print{margin:0; background:#fff; padding:10px 10px 40px; box-shadow:0 14px 26px rgba(0,0,0,.3); transform:rotate(-2deg); position:relative;}
.lecturer-print img{width:100%; aspect-ratio:1/1; object-fit:cover; filter:grayscale(1) contrast(1.05);}
.lecturer-print figcaption{position:absolute; bottom:8px; inset-inline:10px; text-align:center; font-family:var(--stamp); font-size:1.3rem; color:var(--ink2);}
.lecture-hero h1{font-size:clamp(2.4rem, 6vw, 3.8rem); margin:6px 0 10px;}
.lecture-hero .intro{margin:0; font-size:1.06rem;}
.lectures{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:30px 26px;}
.lecture-card{position:relative; background:var(--paper); border-radius:4px; box-shadow:0 18px 40px rgba(0,0,0,.4); padding:34px 26px 26px; border-top:10px solid var(--red);}
.lecture-card:nth-child(odd){transform:rotate(-.5deg);}
.lecture-card:nth-child(even){transform:rotate(.5deg);}
.lecture-num{position:absolute; top:-22px; inset-inline-end:22px; width:44px; height:44px; border-radius:50%; background:var(--manila); color:var(--red); border:3px solid var(--red); display:grid; place-items:center; font-family:var(--stamp); font-weight:700; font-size:1.7rem; line-height:1; transform:rotate(-6deg);}
.lecture-card h2{font-size:1.6rem; margin:0 0 4px;}
.lecture-sub{font-family:var(--stamp); font-size:1.3rem; line-height:1.15; color:var(--red); margin:0 0 12px;}
.lecture-card p:not(.lecture-sub){margin:0;}
.lecture-badge{display:inline-block; margin-top:16px; font-family:var(--stamp); font-weight:700; font-size:1.3rem; line-height:1; color:var(--red); border:3px solid currentColor; padding:6px 12px 4px; border-radius:4px; transform:rotate(-2deg);}
.desk-head{max-width:760px; margin:0 auto 26px; text-align:center; color:var(--on-desk);}
.desk-head .label{color:var(--rose);}
.desk-head h2{font-size:clamp(1.7rem, 4vw, 2.4rem); color:#FBF0D3; margin-top:6px;}
.desk-head p{margin:10px 0 0; color:var(--on-desk);}
.desk-head p a{color:var(--rose);}
.audience{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:760px; margin:0 auto;}
.audience span{background:var(--paper); color:var(--ink); font-weight:500; padding:8px 16px; border-radius:2px; box-shadow:0 6px 12px rgba(0,0,0,.35);}
.audience span:nth-child(odd){transform:rotate(-1.5deg);}
.audience span:nth-child(even){transform:rotate(1.2deg);}
.form-card{max-width:600px; margin:0 auto;}

/* ---------- accessibility page ---------- */
.a11y{max-width:780px; margin:40px auto 30px; padding-inline:18px;}
.a11y .card{padding:36px 34px;}
.a11y h1{font-size:clamp(1.9rem, 5vw, 2.6rem); margin-bottom:18px;}
.a11y p{margin:0 0 14px;}
.a11y ul{padding-inline-start:22px; margin:0 0 16px;}
.a11y li{margin-bottom:8px;}
.a11y a{color:var(--red); font-weight:700;}
.muted{font-size:.88rem; color:var(--muted);}

@media (max-width:880px){
  .hero{padding:20px 0 20px;}
  .folder{padding:26px 18px;}
  .hero .folder{grid-template-columns:132px minmax(0,1fr); grid-template-areas:"head head" "photo label" "actions actions"; column-gap:20px; row-gap:20px;}
  .photo{padding:7px 7px 30px; align-self:start; margin-top:8px;}
  .photo figcaption{font-size:1.05rem; bottom:5px;}
  .hero .pitch{font-size:1.22rem;}
  .buy-row .btn{flex:1 1 200px;}
  .envelope{grid-template-columns:1fr; text-align:center; justify-items:center; padding:34px 18px 22px;}
  .envelope .btn{width:100%;}
  .two, .cards3, .lectures{grid-template-columns:1fr;}
  .transcript{padding:24px 18px; transform:none;}
  .card{padding:24px 18px;}
  .idcard{grid-template-columns:110px minmax(0,1fr); gap:16px; padding:16px;}
  .idcard img{width:110px; height:134px;}
  .idcard h2{font-size:1.5rem;}
  .dossier .stamp{position:static; display:table; margin:-6px auto 14px; font-size:1.4rem; transform:rotate(-4deg);}
  .lecture-hero .folder{grid-template-columns:1fr; gap:24px; text-align:center;}
  .lecturer-print{width:170px; margin:0 auto;}
  .lecture-card{transform:none !important;}
  .a11y .card{padding:26px 18px;}
}

/* ---------- door-opening animation (warning screen -> readers' area) ---------- */
.gate{
  position:fixed; inset:0; z-index:200; display:flex; overflow:hidden;
  visibility:hidden; opacity:0; pointer-events:none;
  background:#120604;
}
.gate.run{visibility:visible; pointer-events:auto; animation:gateIn .7s ease forwards;}
.gate-stage{position:absolute; inset:0; display:flex; transform-origin:50% 50%; perspective:1300px; perspective-origin:50% 50%;}
.gate.run .gate-stage{animation:walkIn 1.7s cubic-bezier(.55,0,.35,1) 2.8s forwards;}
/* golden light behind the doors */
.gate-light{
  position:absolute; top:0; bottom:0; left:50%; width:4px; margin-left:-2px; z-index:0;
  background:radial-gradient(ellipse at center, #FFF6D8 0%, #F2D27A 35%, rgba(201,162,39,0.0) 75%);
  box-shadow:0 0 40px 12px rgba(242,210,122,0.55);
  opacity:0;
}
.gate.run .gate-light{animation:seamGlow 1s ease .7s forwards;}
/* the flood of light: a full-width layer scaled horizontally (transform only, no layout shift) */
.gate-light::after{
  content:""; position:absolute; top:0; bottom:0; left:50%; width:200vw; margin-left:-100vw;
  background:radial-gradient(ellipse at center, #FFF6D8 0%, #F2D27A 35%, rgba(201,162,39,0.0) 75%);
  transform:scaleX(0); transform-origin:50% 50%; will-change:transform;
}
.gate.run .gate-light::after{animation:lightFlood 1.6s ease-in 2.9s forwards;}
.leaf{
  position:relative; z-index:1; flex:1; height:100%;
  background:
    repeating-linear-gradient(90deg, rgba(0,0,0,0.07) 0 2px, transparent 2px 10px),
    radial-gradient(ellipse at 50% 35%, #7A4224, #3A1A0C 85%);
  box-shadow:inset 0 0 0 14px #2A1308, inset 0 0 0 16px rgba(201,162,39,0.6), inset 0 0 90px rgba(0,0,0,0.65);
  backface-visibility:hidden;
}
.leaf::before, .leaf::after{
  content:""; position:absolute; left:16%; right:16%;
  border:2px solid rgba(201,162,39,0.45); border-radius:4px;
  box-shadow:inset 0 0 24px rgba(0,0,0,0.45), 0 0 0 6px rgba(0,0,0,0.12);
}
.leaf::before{top:9%; height:36%;}
.leaf::after{bottom:9%; height:36%;}
.leaf-right{transform-origin:right center;}
.leaf-left{transform-origin:left center;}
.gate.run .leaf-right{animation:knock .5s ease 1.55s, openRight 2.2s cubic-bezier(.45,.05,.25,1) 1.9s forwards;}
.gate.run .leaf-left{animation:knock .5s ease 1.55s, openLeft 2.2s cubic-bezier(.45,.05,.25,1) 1.9s forwards;}
.handle{
  position:absolute; top:50%; width:16px; height:72px; margin-top:-36px; border-radius:8px; z-index:2;
  background:linear-gradient(180deg, #F0D57E, #A9791F); box-shadow:0 3px 8px rgba(0,0,0,0.55);
}
.leaf-right .handle{left:30px;}
.leaf-left .handle{right:30px;}
.gate.run .handle{animation:turnHandle .6s ease 1.3s forwards;}
@keyframes gateIn{from{opacity:0;} to{opacity:1;}}
@keyframes seamGlow{from{opacity:0;} to{opacity:1;}}
@keyframes lightFlood{0%{transform:scaleX(0.002);} 100%{transform:scaleX(1);}}
@keyframes turnHandle{0%{transform:rotate(0);} 60%{transform:rotate(-28deg);} 100%{transform:rotate(-22deg);}}
@keyframes knock{0%,100%{transform:translateZ(0);} 30%{transform:translateZ(-14px);} 60%{transform:translateZ(4px);}}
@keyframes openRight{0%{transform:rotateY(0);} 100%{transform:rotateY(-98deg);}}
@keyframes openLeft{0%{transform:rotateY(0);} 100%{transform:rotateY(98deg);}}
@keyframes walkIn{0%{transform:scale(1);} 100%{transform:scale(1.9);}}
.gate-flash{position:absolute; inset:0; z-index:3; background:#FFF3D0; opacity:0;}
.gate.run .gate-flash{animation:flash .7s ease 3.5s forwards;}
@keyframes flash{to{opacity:1;}}
@media (prefers-reduced-motion: reduce){ .gate{display:none;} }


/* ---------- price tag (printed book, from 26.10) ---------- */
.price-tag{position:relative; background:#fff; border:1.5px dashed var(--line); border-radius:4px; padding:16px 16px 12px; margin:8px 0 4px; text-align:start;}
.price-tag .label{display:block; margin-bottom:6px;}
.sale-stamp{position:absolute; top:-14px; inset-inline-end:12px; font-family:var(--stamp); font-weight:700; font-size:1.25rem; line-height:1; color:var(--red); background:#fff; border:2.5px solid currentColor; padding:5px 10px 3px; transform:rotate(-6deg);}
.pt-row{display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:6px 0; border-bottom:1px dotted var(--line);}
.pt-name{font-weight:500;}
.pt-prices{display:flex; align-items:baseline; gap:10px; white-space:nowrap;}
.pt-old{position:relative; text-decoration:none; color:var(--muted); font-size:1rem;}
.pt-old::after{content:""; position:absolute; inset-inline:-3px; top:50%; height:2px; background:var(--red); transform:rotate(-12deg);}
.pt-new{font-family:var(--head); font-size:1.5rem; line-height:1; color:var(--red);}
.pt-new small{font-family:var(--body); font-size:.8rem; color:var(--ink2);}
.pt-note{font-size:.8rem; color:var(--muted); margin:10px 0 0 !important; line-height:1.5;}
.buy-box .price-tag{margin:26px 0 16px;}
.buy-box .buy-cta + .buy-cta{margin-top:12px;}
.buy-box .buy-cta-line{background:transparent; color:var(--ink); border-color:var(--ink);}
.buy-box .buy-cta-line:hover{background:var(--manila);}
.pt-note a{color:var(--red2);}
.buy-photo{position:relative; width:128px; margin:6px auto 10px; background:#fff; padding:6px 6px 18px; box-shadow:0 10px 20px rgba(0,0,0,.28); transform:rotate(-2.5deg);}
.buy-photo > img{display:block; width:100%; height:auto;}
.buy-seal{position:absolute; bottom:-14px; inset-inline-start:-16px; width:56px; height:56px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #D2413A, #8E1A17); display:grid; place-items:center; box-shadow:0 4px 10px rgba(0,0,0,.4); transform:rotate(8deg);}
.buy-seal img{width:40px; height:40px; border-radius:50%; object-fit:cover; opacity:.9;}
