/* iber — clean design system (v5, 2026-10-16)
   White, Inter, hairlines, Iber blue only on actions and links. */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#FFFFFF; --bg-2:#F6F7F9; --ink:#0B0C10; --ink-2:#3B3F4A; --mut:#6B7280;
  --line:#E6E8EC; --line-2:#D5D8DE;
  --blue:#3772F7; --blue-dk:#2558D9; --blue-soft:#EEF3FF;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --gut:clamp(20px,4vw,48px); --max:1200px; --r:10px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--blue-soft);color:var(--ink)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}

/* type */
.eyebrow,.kicker,.tag{display:block;font-size:14px;font-weight:500;color:var(--mut);letter-spacing:0;text-transform:none}
.kicker .dot{display:none}
.mono{font-size:13px;color:var(--mut);letter-spacing:0;text-transform:none}
.h-xl{font-weight:400;font-size:clamp(40px,5.6vw,72px);line-height:1.06;letter-spacing:-.025em}
.h-lg{font-weight:500;font-size:clamp(30px,3.8vw,46px);line-height:1.12;letter-spacing:-.02em}
.h-md{font-weight:500;font-size:clamp(24px,2.6vw,32px);line-height:1.2;letter-spacing:-.015em}
.lede{font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--ink-2);max-width:600px}
.blk,.blk-blue,.blk-red,.blk-ink{background:none;color:inherit;padding:0;margin:0;line-height:inherit}
.blk-blue{color:var(--blue)}
.hl{background:none;padding:0}
.strike{text-decoration:line-through;color:var(--mut)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:500;font-size:15px;line-height:1;padding:13px 20px;border-radius:8px;border:1px solid var(--line-2);background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--bg-2);border-color:#C7CBD3}
.btn-blue,.btn-yellow{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-blue:hover,.btn-yellow:hover{background:var(--blue-dk);border-color:var(--blue-dk)}
.btn-ink{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ink:hover{background:#23252B;border-color:#23252B}
.btn-sm{font-size:14px;padding:9px 14px}
.btn .arr{transition:transform .15s}
.btn:hover .arr{transform:translateX(3px)}
.btn-soon{cursor:default;user-select:none}
.btn-soon svg{flex:none}

/* nav */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:21px;letter-spacing:-.02em;color:var(--ink)}
.nav-links{display:flex;align-items:center;gap:28px;font-weight:500;font-size:15px;color:var(--ink-2)}
.nav-links a:not(.btn):hover,.nav-links a.on{color:var(--ink)}
.nav-links .btn{margin-left:6px}
.nav-burger{display:none;width:40px;height:40px;border:1px solid var(--line-2);border-radius:8px;background:#fff;cursor:pointer;flex:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0}
.nav-burger span{display:block;width:16px;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}
.nav.open .nav-burger span:first-child{transform:translateY(3.25px) rotate(45deg)}
.nav.open .nav-burger span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
@media(max-width:760px){
  .nav-in{height:60px}
  .nav-burger{display:inline-flex}
  .nav-links{gap:0;margin-left:auto}
  .nav-links a:not(.btn){display:none}
  .nav-links .btn{margin-left:0;white-space:nowrap;font-size:13.5px;padding:9px 12px}
  .nav.open .nav-links{position:absolute;top:60px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);padding:6px var(--gut) 18px;box-shadow:0 16px 32px rgba(16,24,40,.08)}
  .nav.open .nav-links a:not(.btn){display:block;font-size:17px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}
  .nav.open .nav-links .btn{margin-top:14px;width:100%;font-size:15px;padding:13px 16px}
  .btn{white-space:normal;text-align:center;line-height:1.25}
}

/* sections */
.sec{padding:clamp(64px,8vw,112px) 0;border-top:1px solid var(--line)}
.sec-paper2,.sec-grey{background:var(--bg-2)}
.sec-blue{background:var(--blue-soft)}
.sec-ink{background:var(--ink);color:#fff}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.sec-head h2{margin-top:12px}

/* cards */
.box{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:clamp(20px,2.4vw,28px)}
.box h3{font-size:17px;font-weight:600;margin-bottom:8px;letter-spacing:-.01em}
.box p{color:var(--ink-2);font-size:15px;line-height:1.6}

/* reveal */
[data-rv]{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
[data-rv].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}[data-rv]{opacity:1;transform:none}}

/* footer */
.foot{border-top:1px solid var(--line);padding:56px 0 32px;background:#fff;color:var(--ink)}
.foot-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:44px}
.foot-cols h5{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:12px;letter-spacing:.01em}
.foot-cols a{display:block;font-size:14.5px;color:var(--ink-2);padding:4px 0}
.foot-cols a:hover{color:var(--ink)}
.foot-cols a.brand{display:inline-flex;font-size:21px;padding:0}
.foot-tag{margin-top:12px;font-size:14.5px;color:var(--mut);max-width:300px;line-height:1.55}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;font-size:13px;color:var(--mut)}
@media(max-width:900px){.foot-cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-cols{grid-template-columns:1fr;gap:24px}}

/* ---------- article / page template (blog + /about etc) ---------- */
.art{max-width:760px;margin:0 auto;padding:clamp(48px,6vw,80px) var(--gut) 64px}
.art-wide{max-width:1000px}
.art h1{font-weight:500;font-size:clamp(32px,4.4vw,52px);line-height:1.12;letter-spacing:-.02em;margin:14px 0 20px}
.art h1 em{font-style:normal;color:var(--blue)}
.byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--mut);padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:36px}
.post-body p{font-size:17px;line-height:1.75;color:var(--ink-2);margin-bottom:20px}
.post-body>p:first-child{font-size:clamp(18px,1.6vw,21px);color:var(--ink);line-height:1.55}
.post-body h2{font-weight:600;font-size:clamp(22px,2.4vw,28px);line-height:1.25;letter-spacing:-.015em;margin:44px 0 14px}
.post-body h3{font-weight:600;font-size:18px;margin:28px 0 10px}
.post-body ul,.post-body ol{margin:0 0 22px 22px}
.post-body li{font-size:17px;line-height:1.7;color:var(--ink-2);margin-bottom:8px;padding-left:4px}
.post-body li::marker{color:var(--mut)}
.post-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#B9CCFB}
.post-body a:hover{text-decoration-color:var(--blue)}
.post-body strong{color:var(--ink);font-weight:600}
.post-body em{font-style:italic}
.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--bg-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--ink)}
.post-body blockquote{border-left:3px solid var(--blue);padding:4px 0 4px 18px;margin:0 0 22px}
.post-body blockquote p{margin:0;color:var(--ink);font-weight:500}
.post-body hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.post-body table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 22px}
.post-body th,.post-body td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.post-body th{font-weight:600;color:var(--ink)}
.cta-box{margin-top:56px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);padding:clamp(24px,3vw,36px)}
.cta-box h2{font-weight:500;font-size:clamp(24px,2.8vw,32px);line-height:1.2;letter-spacing:-.015em;margin-bottom:10px}
.cta-box h2 em{font-style:normal;color:var(--blue)}
.cta-box p{font-size:16px;line-height:1.6;color:var(--ink-2);margin-bottom:20px}
.cards{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
.pcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:24px;transition:border-color .15s,box-shadow .15s}
.pcard:hover{border-color:#C7CBD3;box-shadow:0 1px 2px rgba(16,24,40,.05)}
.pcard .cat{display:inline-block;font-size:12px;font-weight:500;color:var(--blue);letter-spacing:.04em;text-transform:uppercase}
.pcard h2{font-weight:600;font-size:19px;line-height:1.3;letter-spacing:-.01em;margin:10px 0 8px}
.pcard h2 em{font-style:normal;color:inherit}
.pcard p{color:var(--ink-2);font-size:15px;line-height:1.55}
.pcard .meta{margin-top:auto;padding-top:14px;font-size:13px;color:var(--mut)}
@media(max-width:700px){.cards{grid-template-columns:1fr}}

/* ---------- phone ---------- */
@media(max-width:640px){
  .h-xl{font-size:clamp(34px,9.5vw,44px);line-height:1.1}
  .h-lg{font-size:clamp(26px,7.5vw,34px)}
  .h-md{font-size:clamp(22px,6vw,26px)}
  .lede{font-size:16.5px}
  .sec{padding:56px 0}
  .sec-head{margin-bottom:28px}
  .art h1{font-size:clamp(28px,8vw,36px)}
  .post-body p,.post-body li{font-size:16.5px}
}
