/* PromptHQ Learn : base commune de /learn/, /prompts/, /landing/ et des pages légales.
   Police Stack Sans (variable, un seul fichier), tokens de la charte, reset, boutons, pied de page.
   À charger avant nav.css. Chaque page garde ce qui lui est propre (fond et marges du body, mise en page). */
@font-face{font-family:'Stack Sans';src:url('/assets/fonts/StackSansText.woff2?v=3672bbddde') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --bg:#FBFAF8;--bg-warm:#F5F2EE;--paper:#fff;
  --ink:#17151A;--ink-soft:#37332f;--muted:#79736e;--muted-2:#a39d97;
  --scarlet:#F82F02;--jaffa:#FF9054;--peach:#FFC0A4;
  --grad:linear-gradient(135deg,#FF9C5F 0%,#F82F02 92%);
  --line:rgba(23,21,26,.08);
  --sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  --tech:'Stack Sans',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.21,.7,.25,1);
  --maxw:1180px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--sans);color:var(--ink);overflow-x:hidden}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select{font:inherit;color:inherit}
[hidden]{display:none !important}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============ BOUTONS ============ */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:15px;font-weight:600;padding:14px 26px;border-radius:100px;cursor:pointer;border:1px solid transparent;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .25s,color .25s,border-color .25s}
.btn .arr{transition:transform .4s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 12px 28px -10px rgba(248,47,2,.55),0 4px 10px -4px rgba(248,47,2,.4)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 20px 40px -12px rgba(248,47,2,.6),0 6px 14px -4px rgba(248,47,2,.45)}
@media (prefers-reduced-motion:reduce){.btn,.btn-primary:hover{transition:none;transform:none}}

/* ============ PIED DE PAGE ============ */
footer{background:var(--ink);color:#fff;padding:66px 0 34px;margin-top:clamp(80px,10vw,140px)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-logo{height:22px;margin-bottom:20px}
.foot-top p{font-size:14px;color:rgba(255,255,255,.5);max-width:34ch}
.foot-col h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:18px;font-weight:600}
.foot-col a{display:block;font-size:14.5px;color:rgba(255,255,255,.7);padding:6px 0;transition:color .25s}
.foot-col a:hover{color:var(--jaffa)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:12.5px;color:rgba(255,255,255,.4);letter-spacing:.05em;flex-wrap:wrap;gap:10px}
.foot-legal{display:flex;gap:18px}.foot-legal a{color:rgba(255,255,255,.55);transition:color .25s}.foot-legal a:hover{color:var(--jaffa)}
@media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.foot-top{grid-template-columns:1fr}}
