/* Bremo Blog — Apple-grade editorial system */
:root{
  --paper:#fbfbfd; --ink:#1d1d1f; --mute:#6e6e73; --hair:#d2d2d7;
  --accent:#6e56cf; --accent2:#0071e3; --card:#ffffff; --tintbg:#f5f5f7;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  background:var(--paper);color:var(--ink);line-height:1.47;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"ss01","cv05";letter-spacing:-0.01em;
}
.wrap{max-width:980px;margin:0 auto;padding:0 22px}
.narrow{max-width:680px;margin:0 auto;padding:0 22px}
a{color:inherit;text-decoration:none}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(251,251,253,0.8);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,0.06)}
.nav .bar{max-width:980px;margin:0 auto;padding:0 22px;height:52px;display:flex;align-items:center;justify-content:space-between}
.nav .brand{font-weight:600;font-size:18px;letter-spacing:-0.02em}
.nav .brand b{color:var(--accent)}
.nav .links a{font-size:13px;color:var(--mute);margin-left:22px;transition:color .2s}
.nav .links a:hover{color:var(--ink)}

/* display type */
.display{font-weight:700;letter-spacing:-0.035em;line-height:1.05}
.k{font-size:12px;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;color:var(--accent)}

/* home hero */
.hero{padding:96px 0 40px;text-align:center}
.hero h1{font-size:clamp(48px,8vw,88px);font-weight:700;letter-spacing:-0.04em;line-height:1.02;margin:14px 0 20px}
.hero .sub{font-size:clamp(19px,2.6vw,24px);color:var(--mute);max-width:30ch;margin:0 auto;letter-spacing:-0.02em}

/* featured */
.feature{margin:40px 0 20px}
.feature a{display:block;border-radius:22px;overflow:hidden;background:var(--card);border:1px solid var(--hair);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.feature a:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(0,0,0,0.1)}
.feature .cover{height:300px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.feature .cover .big{font-weight:700;letter-spacing:-0.04em;color:#fff;font-size:clamp(30px,5vw,52px);line-height:1.02;padding:0 40px;text-align:center;z-index:2;text-shadow:0 2px 30px rgba(0,0,0,.2)}
.feature .body{padding:26px 30px 30px}
.feature .body .k{color:var(--accent)}
.feature .body h2{font-size:26px;font-weight:700;letter-spacing:-0.03em;margin:8px 0 6px}
.feature .body p{color:var(--mute);font-size:16px}

/* grid */
.section-title{font-size:24px;font-weight:700;letter-spacing:-0.03em;margin:56px 0 22px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.post{display:block;background:var(--card);border:1px solid var(--hair);border-radius:20px;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.post:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,0.09)}
.post .cover{height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.post .cover .lbl{color:#fff;font-weight:700;letter-spacing:-0.03em;font-size:24px;padding:0 26px;text-align:center;z-index:2;text-shadow:0 2px 20px rgba(0,0,0,.2)}
.post .body{padding:20px 22px 24px}
.post .body .k{font-size:11px}
.post .body h3{font-size:19px;font-weight:700;letter-spacing:-0.02em;margin:7px 0 5px;line-height:1.2}
.post .body p{color:var(--mute);font-size:14px}
.post .body .meta{color:var(--mute);font-size:12px;margin-top:12px}

/* cover gradients */
.g-mint{background:linear-gradient(135deg,#34c17b,#0a8f5b)}
.g-violet{background:linear-gradient(135deg,#7b61ff,#4a2fd6)}
.g-sky{background:linear-gradient(135deg,#3aa0ff,#0058c7)}
.g-amber{background:linear-gradient(135deg,#ff9d45,#f4631e)}
.g-rose{background:linear-gradient(135deg,#ff6f9c,#d61f5c)}
.g-slate{background:linear-gradient(135deg,#3b4a63,#141b29)}
.cover .orbs{position:absolute;inset:0;opacity:.5}
.cover .orbs::before,.cover .orbs::after{content:"";position:absolute;border-radius:50%;filter:blur(30px)}
.cover .orbs::before{width:200px;height:200px;background:rgba(255,255,255,.35);top:-40px;left:-30px}
.cover .orbs::after{width:160px;height:160px;background:rgba(255,255,255,.2);bottom:-40px;right:-20px}

/* article */
article{padding:60px 0 40px}
.arthead{text-align:center;margin-bottom:40px}
.arthead h1{font-size:clamp(34px,5.5vw,54px);font-weight:700;letter-spacing:-0.035em;line-height:1.05;margin:14px auto 18px;max-width:20ch}
.arthead .dek{font-size:20px;color:var(--mute);max-width:34ch;margin:0 auto;letter-spacing:-0.02em}
.arthead .byline{margin-top:22px;font-size:13px;color:var(--mute)}
.artcover{height:340px;border-radius:24px;margin:0 auto 46px;max-width:980px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.artbody{font-size:19px;line-height:1.62;letter-spacing:-0.011em}
.artbody p{margin:0 0 26px;color:#2b2b2f}
.artbody h2{font-size:28px;font-weight:700;letter-spacing:-0.03em;margin:44px 0 16px}
.artbody h3{font-size:21px;font-weight:600;letter-spacing:-0.02em;margin:34px 0 12px}
.artbody ul,.artbody ol{margin:0 0 26px;padding-left:24px}
.artbody li{margin-bottom:10px;color:#2b2b2f}
.artbody strong{font-weight:600;color:var(--ink)}
.artbody a{color:var(--accent2);border-bottom:1px solid rgba(0,113,227,.3)}
.artbody blockquote{margin:32px 0;padding:6px 0 6px 24px;border-left:3px solid var(--accent);font-size:22px;font-weight:500;letter-spacing:-0.02em;color:var(--ink)}
.pull{font-size:26px;font-weight:600;letter-spacing:-0.03em;line-height:1.25;color:var(--ink);margin:40px 0;text-align:center}
.callout{background:var(--tintbg);border-radius:18px;padding:26px 28px;margin:34px 0;font-size:16px;line-height:1.55}
.callout .k{display:block;margin-bottom:6px}
.disc{font-size:13px;color:var(--mute);border-top:1px solid var(--hair);margin-top:44px;padding-top:20px;line-height:1.55}

/* next */
.more{margin:60px 0 0}
.more .section-title{margin-bottom:22px}

footer{border-top:1px solid var(--hair);margin-top:80px;padding:40px 0 70px}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot .brand{font-weight:600}
.foot .brand b{color:var(--accent)}
.foot .links a{color:var(--mute);font-size:13px;margin-left:20px}
.foot .fine{font-size:12px;color:var(--mute);margin-top:16px;max-width:70ch;line-height:1.5}

@media(max-width:720px){
  .grid{grid-template-columns:1fr}
  .hero{padding:64px 0 24px}
  .nav .links a:nth-child(n+3){display:none}
}
