*,*::before,*::after{box-sizing:border-box}
*{margin:0}
:root{
  color-scheme:light;
  --paper:oklch(96.2% .017 116);
  --paper-2:oklch(92.8% .025 112);
  --ink:oklch(20.2% .036 145);
  --muted:oklch(43% .025 145);
  --faint:oklch(57% .028 145);
  --line:oklch(78% .04 118);
  --line-strong:oklch(32% .035 145);
  --surface:oklch(99% .008 108);
  --surface-cool:oklch(94% .02 165);
  --green:oklch(45% .13 151);
  --green-dark:oklch(29% .09 153);
  --red:oklch(48% .17 28);
  --amber:oklch(58% .13 73);
  --shadow:0 24px 70px rgba(33,45,32,.14);
  --z-nav:20;
}
html{scroll-behavior:smooth;background:var(--paper)}
body{
  font-family:"Atkinson Hyperlegible",ui-sans-serif,sans-serif;
  min-height:100dvh;
  background:var(--paper);
  color:var(--ink);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(23,52,34,.04) 1px,transparent 1px),
    linear-gradient(rgba(23,52,34,.035) 1px,transparent 1px);
  background-size:34px 34px;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 14% 8%,rgba(191,36,23,.11),transparent 26%),
    radial-gradient(circle at 86% 18%,rgba(24,106,59,.11),transparent 25%),
    linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.18) 42%,rgba(255,255,255,0));
  pointer-events:none;
}
a{color:var(--green-dark);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
a:hover{color:var(--red)}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
img{display:block;max-width:100%}
button,input{font:inherit}
button{cursor:pointer}
code{
  font-family:"SF Mono",Menlo,Consolas,monospace;
  font-size:.88em;
  color:var(--green-dark);
  background:rgba(19,67,43,.08);
  border:1px solid rgba(19,67,43,.12);
  border-radius:5px;
  padding:2px 7px;
}
.container{width:min(1100px,calc(100% - 40px));margin-inline:auto}
nav,.nav{
  position:sticky;
  top:0;
  z-index:var(--z-nav);
  background:color-mix(in oklch,var(--paper) 86%,transparent);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(255,255,255,.55);
  backdrop-filter:blur(16px);
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
  min-height:74px;
  gap:24px;
}
.logo{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:var(--ink);
  font-weight:700;
  text-decoration:none;
}
.logo:hover{color:var(--ink)}
.logo-mark{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:2px solid var(--ink);
  border-radius:4px;
  background:var(--surface);
  box-shadow:4px 4px 0 var(--green);
  font-size:.75rem;
  letter-spacing:.08em;
}
.logo span:last-child{font-size:1.06rem}
.nav-links{display:flex;align-items:center;gap:22px;font-size:.92rem}
.nav-links a{color:var(--muted);text-decoration:none}
.nav-links a:hover{color:var(--ink)}
.page-header{
  padding:clamp(76px,10vw,128px) 0 clamp(44px,7vw,78px);
  border-bottom:1px solid var(--line);
}
.page-header .container{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr);
  gap:clamp(26px,5vw,70px);
  align-items:end;
}
.page-header h1,article h1{
  font-family:"Fraunces",Georgia,serif;
  font-weight:800;
  letter-spacing:0;
  line-height:1.02;
}
.page-header h1{font-size:clamp(3.25rem,8vw,7rem)}
.page-header p{
  grid-column:1;
  max-width:620px;
  margin-top:16px;
  color:var(--muted);
  font-size:clamp(1rem,1.5vw,1.16rem);
}
.page-header h1,.feed-link{grid-column:1}
.page-header .blog-cta{grid-column:2;grid-row:1 / span 3;align-self:end}
.feed-link{margin-top:20px;font-weight:700}
.blog-cta,.blog-cta-block{
  position:relative;
  margin:clamp(28px,4vw,44px) 0;
  padding:24px;
  border:2px solid var(--ink);
  border-radius:6px;
  background:var(--surface);
  box-shadow:8px 8px 0 rgba(24,106,59,.14);
}
.page-header .blog-cta{margin:0}
.blog-cta::before,.blog-cta-block::before{
  content:"RESTORE PROOF";
  position:absolute;
  top:-13px;
  left:18px;
  padding:5px 9px;
  border:1px solid var(--ink);
  background:var(--amber);
  color:var(--ink);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.11em;
}
.blog-cta h2,.blog-cta h3,.blog-cta-block h3{
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.35rem,2vw,1.85rem);
  line-height:1.08;
  letter-spacing:0;
}
.blog-cta p,.blog-cta-block p{margin-top:12px;color:var(--muted)}
.blog-cta-actions,.cta-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.blog-cta-button,.blog-cta-link,.blog-cta .btn,.blog-cta-block .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  border:1px solid var(--line-strong);
  border-radius:4px;
  background:var(--surface);
  color:var(--ink);
  font-size:.92rem;
  font-weight:700;
  text-decoration:none;
  box-shadow:3px 3px 0 rgba(24,32,22,.14);
}
.blog-cta-button,.blog-cta .btn,.blog-cta-block .btn-primary{background:var(--red);border-color:var(--ink);color:oklch(98% .01 70)}
.blog-cta-button:hover,.blog-cta .btn:hover,.blog-cta-block .btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(24,32,22,.18);color:oklch(98% .01 70)}
.blog-cta-button-secondary,.blog-cta .btn-secondary,.blog-cta-link,.blog-cta-block .btn-secondary{background:transparent;color:var(--ink)}
.blog-cta-button-secondary:hover,.blog-cta .btn-secondary:hover,.blog-cta-link:hover,.blog-cta-block .btn-secondary:hover{background:rgba(255,255,255,.45);color:var(--ink)}
.blog-inline-error{display:inline-block;width:100%;margin-top:10px;color:var(--red);font-size:.9rem}
.blog-checkout-email-wrap{display:none;margin-bottom:12px}
.blog-checkout-email-wrap input,.blog-cta input[type="email"]{
  width:100%;
  min-height:46px;
  padding:11px 14px;
  border:1px solid var(--line-strong);
  border-radius:4px;
  background:var(--surface);
  color:var(--ink);
  outline:none;
}
.blog-checkout-email-wrap input:focus,.blog-cta input[type="email"]:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(180,35,24,.14)}
.cta-sub{font-size:.92rem}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  border:1px solid var(--line-strong);
  border-radius:4px;
  background:var(--surface);
  color:var(--ink);
  font-weight:700;
  text-decoration:none;
  box-shadow:3px 3px 0 rgba(24,32,22,.14);
}
.btn-primary{background:var(--red);border-color:var(--ink);color:oklch(98% .01 70)}
.btn-secondary{background:transparent;color:var(--ink)}
.btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(24,32,22,.18);color:var(--ink)}
.btn-primary:hover{color:oklch(98% .01 70)}
.post-list{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
  padding:clamp(44px,7vw,78px) 0 clamp(72px,9vw,120px);
}
.post-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  grid-column:span 6;
  min-height:240px;
  padding:24px;
  border:1px solid var(--line-strong);
  border-radius:6px;
  background:rgba(255,255,255,.52);
  color:var(--ink);
  text-decoration:none;
  box-shadow:5px 5px 0 rgba(24,32,22,.08);
}
.post-card:nth-child(1),.post-card:nth-child(8n+6){grid-column:span 7}
.post-card:nth-child(2),.post-card:nth-child(8n+7){grid-column:span 5}
.post-card:hover{
  color:var(--ink);
  transform:translate(-2px,-2px);
  box-shadow:8px 8px 0 rgba(24,106,59,.15);
  background:var(--surface);
}
.post-date{
  color:var(--red);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.post-card h2{
  margin-top:18px;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.35rem,2.5vw,2.1rem);
  line-height:1.08;
  letter-spacing:0;
}
.post-card p{margin-top:18px;color:var(--muted);font-size:.98rem}
main.container{width:min(820px,calc(100% - 40px))}
article{padding:clamp(60px,8vw,104px) 0 clamp(72px,10vw,128px)}
.post-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:var(--muted);
  font-size:.92rem;
  margin-bottom:18px;
}
.post-meta a{font-weight:700;text-decoration:none}
article h1{
  max-width:940px;
  font-size:clamp(2.45rem,6vw,5.2rem);
}
.post-body{
  margin-top:clamp(28px,4vw,44px);
  font-size:1.06rem;
  line-height:1.76;
  color:var(--ink);
}
.post-body p{margin:0 0 18px;color:var(--muted)}
.post-body p:first-child{
  color:var(--ink);
  font-size:clamp(1.12rem,1.7vw,1.28rem);
  line-height:1.58;
}
.post-body h2{
  margin:52px 0 16px;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.75rem,3.5vw,2.8rem);
  line-height:1.08;
  letter-spacing:0;
}
.post-body h3{
  margin:34px 0 12px;
  font-size:1.2rem;
  line-height:1.18;
}
.post-body h4{
  margin:0 0 12px;
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--red);
}
.post-body ul,.post-body ol{margin:0 0 22px 22px;color:var(--muted)}
.post-body li{margin-bottom:10px;padding-left:4px}
.post-body strong{color:var(--ink)}
.post-body blockquote{
  margin:28px 0;
  padding:18px 22px;
  border-left:4px solid var(--red);
  background:rgba(255,255,255,.5);
  color:var(--ink);
  font-family:"Fraunces",Georgia,serif;
  font-size:1.2rem;
  line-height:1.35;
}
.post-body table{
  display:block;
  width:100%;
  max-width:100%;
  margin:28px 0;
  border-collapse:collapse;
  overflow:hidden;
  overflow-x:auto;
  border:1px solid var(--line-strong);
  border-radius:6px;
  background:rgba(255,255,255,.5);
  font-size:.94rem;
}
.post-body th,.post-body td{padding:12px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}
.post-body th{background:var(--surface-cool);color:var(--ink);font-weight:700}
.post-body tbody tr:nth-child(even){background:rgba(255,255,255,.38)}
.post-body table code{white-space:nowrap}
.post-body pre{
  margin:24px 0;
  padding:22px;
  overflow:auto;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  background:oklch(14.5% .026 145);
  color:oklch(83% .035 145);
  font-family:"SF Mono",Menlo,Consolas,monospace;
  font-size:.9rem;
  line-height:1.7;
}
.post-body pre code{
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
}
.proof-cluster{
  margin:34px 0;
  padding:24px;
  border:1px solid var(--line-strong);
  border-radius:6px;
  background:rgba(255,255,255,.5);
}
.proof-cluster ul{list-style:none;margin:0;padding:0}
.proof-cluster li{margin:0 0 10px;padding-left:0}
.proof-cluster a{font-weight:700}
footer{
  border-top:1px solid var(--line);
  padding:36px 0;
  color:var(--muted);
  font-size:.9rem;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  width:min(1100px,calc(100% - 40px));
  margin-inline:auto;
}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-links a:hover{color:var(--ink)}
.footer-copy{color:var(--muted)}
footer .container{text-align:center}
@media(max-width:860px){
  .page-header .container{display:block}
  .page-header .blog-cta{margin-top:30px}
  .post-card,.post-card:nth-child(1),.post-card:nth-child(2),.post-card:nth-child(8n+6),.post-card:nth-child(8n+7){grid-column:1 / -1;min-height:auto}
}
@media(max-width:720px){
  .container,main.container,.footer-inner{width:min(100% - 28px,1100px)}
  .nav-inner{width:min(100% - 28px,1180px)}
  .nav-inner{min-height:68px}
  .nav-links{display:none}
  .page-header{padding-top:56px}
  .page-header h1{font-size:clamp(3rem,16vw,4.7rem)}
  article h1{font-size:clamp(2.25rem,11vw,3.35rem)}
  .blog-cta-actions,.cta-buttons{display:grid}
  .blog-cta-button,.blog-cta-link,.blog-cta .btn,.blog-cta-block .btn{width:100%}
  .footer-inner{display:grid;text-align:center;justify-items:center}
}
