:root{
    --paper:#FBF6EC;
    --paper-2:#F4ECDC;
    --ink:#2A2521;
    --ink-soft:#6A6055;
    --poppy:#E8553C;
    --petrol:#1E6F6A;
    --ochre:#E2A219;
    --plum:#8E3B5E;
    --sky:#3E7CB1;
    --line:rgba(42,37,33,.14);
    --shadow:0 18px 40px -22px rgba(42,37,33,.45);
    --maxw:1140px;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  @media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth;} }
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:17px;line-height:1.6;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

  h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.08;margin:0;}
  h1{font-size:clamp(2.6rem,6vw,4.5rem);letter-spacing:-.01em;}
  h2{font-size:clamp(2rem,4.2vw,3rem);letter-spacing:-.01em;}
  h3{font-size:1.35rem;}
  p{margin:0 0 1rem;}

  .eyebrow{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--poppy);display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1rem;}
  .eyebrow::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px;}

  .btn{display:inline-flex;align-items:center;gap:.55rem;font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:1rem;padding:.85rem 1.5rem;border-radius:999px;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;}
  .btn-primary{background:var(--poppy);color:var(--paper);box-shadow:0 10px 22px -12px rgba(232,85,60,.9);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(232,85,60,.95);}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
  .btn-ghost:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px);}
  .btn .arr,.buy .arr{transition:transform .18s ease;}
  .btn:hover .arr,.buy:hover .arr{transform:translateX(3px);}

  header.site{position:sticky;top:0;z-index:50;background:rgba(251,246,236,.82);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);}
  .site .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:1rem;}
  .brand{display:inline-flex;align-items:flex-end;gap:.15rem;text-decoration:none;flex-shrink:0;}
  .brand .word{position:relative;font-family:"Fraunces",serif;font-weight:600;font-size:1.5rem;color:var(--ink);}
  .brand .word svg{position:absolute;left:0;bottom:-7px;width:100%;height:9px;}
  .brand .tld{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:.85rem;color:var(--ink-soft);padding-bottom:.18rem;}
  nav.links{display:flex;align-items:center;gap:1.6rem;margin-left:auto;}
  nav.links a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink-soft);transition:color .15s ease;}
  nav.links a:hover{color:var(--ink);}
  .header-right{display:flex;align-items:center;gap:.9rem;flex-shrink:0;}
  .header-cta{padding:.6rem 1.1rem;font-size:.92rem;}

  .lang-switch{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper);}
  .lang-switch a{border:none;background:transparent;font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:.8rem;padding:.42rem .72rem;cursor:pointer;color:var(--ink-soft);text-decoration:none;display:inline-flex;align-items:center;transition:background .15s ease,color .15s ease;}
  .lang-switch a:hover{color:var(--ink);}
  .lang-switch a.active{background:var(--ink);color:var(--paper);}

  @media (max-width:860px){ nav.links{display:none;} }
  @media (max-width:520px){ .header-cta{display:none;} }

  /* Hero */
  .hero{padding:clamp(3rem,7vw,6rem) 0 clamp(2rem,5vw,4rem);}
  .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
  .hero h1 em{font-style:italic;color:var(--poppy);}
  .hero .lead{font-size:1.18rem;color:var(--ink-soft);max-width:40ch;margin:1.4rem 0 2rem;}
  .hero .cta-row{display:flex;flex-wrap:wrap;gap:.9rem;}
  .hero-art{position:relative;}
  .hero-art svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 24px 30px rgba(42,37,33,.12));}
  .fill{fill-opacity:0;transform-box:fill-box;transform-origin:center;}
  @media (prefers-reduced-motion: no-preference){ .loaded .fill{animation:colorIn .7s cubic-bezier(.2,.7,.3,1) forwards;} }
  @media (prefers-reduced-motion: reduce){ .fill{fill-opacity:1;} }
  @keyframes colorIn{from{fill-opacity:0;transform:scale(.9) rotate(-3deg);}to{fill-opacity:1;transform:scale(1) rotate(0);}}
  .stroke{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
  .stroke-2{stroke-width:2.4;}
  .hero-tag{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-weight:600;font-size:.82rem;padding:.5rem 1rem;border-radius:999px;white-space:nowrap;box-shadow:var(--shadow);}
  .hero-tag b{font-family:"Caveat",cursive;font-size:1.15rem;font-weight:700;color:var(--ochre);}
  @media (max-width:860px){ .hero .wrap{grid-template-columns:1fr;} .hero-art{order:-1;max-width:440px;margin:0 auto;} }

  section{scroll-margin-top:84px;}
  .reveal{opacity:0;transform:translateY(22px);}
  @media (prefers-reduced-motion: no-preference){ .reveal{transition:opacity .7s ease, transform .7s ease;} }
  .reveal.in-view{opacity:1;transform:none;}

  .idea{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(3.5rem,7vw,6rem) 0;}
  .idea .wrap{max-width:880px;text-align:center;}
  .idea .quote{font-family:"Fraunces",serif;font-style:italic;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.3;margin:0 0 1.4rem;}
  .idea .quote span{color:var(--poppy);}
  .idea p{font-size:1.12rem;color:var(--ink-soft);max-width:62ch;margin-inline:auto;}

  .how{padding:clamp(3.5rem,7vw,6rem) 0;}
  .how-head{max-width:640px;margin:0 0 3rem;}
  .how-head p{color:var(--ink-soft);font-size:1.1rem;}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
  .step{background:var(--paper);border:1.5px solid var(--line);border-radius:18px;padding:1.6rem 1.4rem;}
  .step .num{font-family:"Fraunces",serif;font-weight:600;font-size:2.6rem;line-height:1;color:var(--poppy);display:block;margin-bottom:.7rem;}
  .step:nth-child(2) .num{color:var(--petrol);}
  .step:nth-child(3) .num{color:var(--ochre);}
  .step:nth-child(4) .num{color:var(--plum);}
  .step h3{margin-bottom:.4rem;font-size:1.2rem;}
  .step p{color:var(--ink-soft);font-size:.98rem;margin:0;}
  @media (max-width:880px){ .steps{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .steps{grid-template-columns:1fr;} }

  .sample{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(3.5rem,7vw,6rem) 0;}
  .sample .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
  .sample-copy p{color:var(--ink-soft);font-size:1.1rem;}
  .page-card{background:#fffdf8;border:1px solid var(--line);border-radius:14px;padding:2rem 2rem 2.3rem;box-shadow:var(--shadow);position:relative;background-image:repeating-linear-gradient(transparent,transparent 37px,rgba(42,37,33,.06) 38px);}
  .page-card::before{content:"";position:absolute;left:46px;top:0;bottom:0;width:1.5px;background:rgba(232,85,60,.25);}
  .page-card .prompt{font-family:"Fraunces",serif;font-style:italic;font-size:1.3rem;line-height:1.35;margin:0 0 1.3rem;padding-left:1.4rem;}
  .page-illo{width:120px;margin:0 0 1.1rem 1.4rem;}
  .page-illo svg{width:100%;height:auto;overflow:visible;}
  .handwriting{font-family:"Caveat",cursive;font-size:1.5rem;line-height:1.7;color:#2f4a6b;padding-left:1.4rem;margin:0;}
  .page-note{position:absolute;top:-14px;right:-12px;background:var(--ochre);color:var(--ink);font-weight:700;font-size:.78rem;padding:.4rem .8rem;border-radius:999px;transform:rotate(4deg);box-shadow:var(--shadow);}
  @media (max-width:860px){ .sample .wrap{grid-template-columns:1fr;} }

  .catalog{padding:clamp(3.5rem,7vw,6rem) 0;}
  .catalog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.6rem;flex-wrap:wrap;}
  .catalog-head p{color:var(--ink-soft);max-width:46ch;margin:.6rem 0 0;}
  .books{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;align-items:start;}
  @media (max-width:880px){ .books{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .books{grid-template-columns:1fr;max-width:380px;margin-inline:auto;} }

  .book{display:flex;flex-direction:column;background:var(--paper);border:1.5px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s ease, box-shadow .2s ease;}
  .book:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
  .cover-img{width:100%;aspect-ratio:1545/2000;object-fit:cover;background:var(--paper-2);border-bottom:1px solid var(--line);}
  .book-foot{padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.8rem;flex:1;}
  .book-foot .meta{font-size:.82rem;color:var(--poppy);font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
  .book-foot .desc{font-size:.95rem;color:var(--ink-soft);margin:0;flex:1;}
  .buy{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:700;font-size:.95rem;padding:.78rem 1rem;border-radius:999px;transition:background .18s ease, transform .18s ease;}
  .buy:hover{background:var(--poppy);transform:translateY(-1px);}
  .editions{font-size:.82rem;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:center;}
  .editions a{font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--poppy);padding-bottom:1px;}
  .editions a:hover{color:var(--poppy);}
  .more-langs{font-size:.82rem;color:var(--ink-soft);font-style:italic;}

  .book.soon{align-items:center;justify-content:center;text-align:center;border-style:dashed;border-color:rgba(42,37,33,.3);background:transparent;min-height:260px;}
  .book.soon .inner{padding:2rem 1.5rem;}
  .book.soon .plus{width:54px;height:54px;border-radius:50%;border:2px dashed var(--ink-soft);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--ink-soft);margin:0 auto 1rem;}
  .book.soon h3{font-size:1.2rem;margin-bottom:.4rem;}
  .book.soon p{color:var(--ink-soft);font-size:.92rem;margin:0;}

  .occ{background:var(--ink);color:var(--paper);padding:clamp(3.5rem,7vw,6rem) 0;}
  .occ .eyebrow{color:var(--ochre);}
  .occ h2{color:var(--paper);max-width:18ch;}
  .occ .lead{color:rgba(251,246,236,.78);font-size:1.12rem;max-width:54ch;margin:1.2rem 0 2.4rem;}
  .occ-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
  .occ-card{border:1px solid rgba(251,246,236,.2);border-radius:16px;padding:1.5rem;}
  .occ-card .ic{font-size:1.6rem;margin-bottom:.6rem;}
  .occ-card h3{color:var(--paper);font-size:1.15rem;margin-bottom:.35rem;}
  .occ-card p{color:rgba(251,246,236,.72);font-size:.95rem;margin:0;}
  @media (max-width:760px){ .occ-grid{grid-template-columns:1fr;} }

  .voices{padding:clamp(3.5rem,7vw,6rem) 0;}
  .voices .eyebrow{color:var(--petrol);}
  .placeholder-flag{display:inline-block;background:rgba(226,162,25,.18);color:#8a6510;font-weight:700;font-size:.78rem;padding:.35rem .8rem;border-radius:8px;margin-bottom:2rem;}
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
  .qcard{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:1.7rem;}
  .stars{color:var(--ochre);font-size:1.05rem;letter-spacing:.1em;margin-bottom:.8rem;}
  .qcard blockquote{margin:0 0 1rem;font-family:"Fraunces",serif;font-size:1.1rem;line-height:1.45;}
  .qcard .who{font-weight:700;font-size:.92rem;color:var(--ink-soft);}
  @media (max-width:880px){ .quotes{grid-template-columns:1fr;} }

  .final{background:var(--petrol);color:var(--paper);padding:clamp(4rem,8vw,7rem) 0;text-align:center;position:relative;overflow:hidden;}
  .final h2{color:var(--paper);font-size:clamp(2.2rem,5vw,3.4rem);max-width:16ch;margin:0 auto 1.2rem;}
  .final p{color:rgba(251,246,236,.85);font-size:1.15rem;max-width:50ch;margin:0 auto 2.2rem;}
  .final .btn-primary{background:var(--paper);color:var(--ink);box-shadow:0 14px 30px -14px rgba(0,0,0,.5);}
  .final .btn-primary:hover{background:#fff;}
  .final .doodle{position:absolute;opacity:.16;}
  .final .d1{top:12%;left:6%;width:90px;}
  .final .d2{bottom:10%;right:8%;width:110px;}
  .final .doodle svg{width:100%;height:auto;}
  @media (max-width:700px){ .final .doodle{display:none;} }

  footer.site{background:var(--paper);border-top:1px solid var(--line);padding:2.6rem 0;}
  footer.site .wrap{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;}
  footer .brand .word{color:var(--ink);}
  footer .legal{color:var(--ink-soft);font-size:.88rem;}
  footer .flinks{display:flex;gap:1.3rem;font-size:.9rem;}
  footer .flinks a{color:var(--ink-soft);text-decoration:none;}
  footer .flinks a:hover{color:var(--ink);}

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