/*
Theme Name: IAM Jean-Maurice
Theme URI: https://iamjeanmaurice.com/
Author: Jean-Maurice Henkel
Description: Design-frame theme generated from the Claude Design export. Regenerate with build-theme.ps1 — do not hand-edit.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
License: GPLv2 or later
Text Domain: iamjeanmaurice
*/

@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700;800&family=Instrument+Serif:ital@0;1&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--ink:#1C1A16;--cream:#F0ECE2;--card:rgba(231,226,211,.94);--orange:#E8500A;--mut:#6B6455;--faint:#9A9283;--line:rgba(28,26,22,.16)}
*{margin:0;box-sizing:border-box;font-family:'Almarai',sans-serif}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink)}
a{color:var(--ink);text-decoration:none}a:hover{color:var(--orange)}
img{display:block;max-width:100%}
.mono{font-family:'IBM Plex Mono',monospace}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;color:var(--orange)}
.field{position:fixed;inset:0;z-index:0}
.wrap{max-width:1360px;margin:0 auto}
section,header,footer{position:relative;z-index:1}
/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:26px 44px;font-size:12px;letter-spacing:.16em}
.nav .brand{display:flex;align-items:center;gap:12px;font-weight:700}
.nav .brand img{width:30px;height:30px;object-fit:contain}
.nav .links{display:flex;gap:clamp(14px,2vw,30px);flex-wrap:wrap}
.nav .fig{color:var(--orange);font-family:'IBM Plex Mono',monospace}
.nav .fig span{color:var(--faint)}
/* kicker */
.kick{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.26em;color:var(--mut)}
.kick.o{color:var(--orange)}
.dot{width:6px;height:6px;border-radius:50%;background:var(--orange);display:inline-block}
/* type */
.h1{font-weight:800;font-size:clamp(48px,7vw,110px);line-height:.95;letter-spacing:-.04em}
.lead{max-width:540px;font-size:15px;font-weight:300;line-height:1.7;color:#3B362C}
.pad{padding:clamp(40px,6vw,90px) clamp(20px,4vw,64px)}
.padx{padding:0 clamp(20px,4vw,64px) clamp(80px,9vw,130px)}
/* grid + cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);padding:30px 26px;display:flex;flex-direction:column;gap:12px;min-height:200px}
.card h3{font-size:22px;font-weight:700}
.card p{font-size:14px;font-weight:300;line-height:1.65;color:var(--mut)}
.num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--faint)}
.imgcard{position:relative;min-height:440px;overflow:hidden;border:1px solid var(--line)}
.imgcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* index rows */
.row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-top:1px solid rgba(28,26,22,.18);padding:26px 6px}
.row:hover{background:rgba(231,226,211,.7)}
.row .t{display:flex;align-items:baseline;gap:22px}
.row .t .n{width:44px;color:var(--faint)}
.row .t b{font-size:clamp(24px,3vw,40px);font-weight:400;color:var(--ink)}
.row .r{display:flex;align-items:baseline;gap:24px}
.row .r span{font-size:13px;font-weight:300;color:var(--mut);max-width:340px}
.arr{display:inline-block;transform:rotate(-45deg);color:var(--orange)}
/* anim */
[data-anim]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
[data-anim=card]{transform:translateY(20px) scale(.95)}
[data-anim].in{opacity:1;transform:none}
/* footer */
.foot{border-top:1px solid rgba(28,26,22,.18);padding:26px 44px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.18em;color:var(--mut);background:rgba(240,236,226,.85)}
