/* ==========================================================================
   fernandoarrieta.org · diseño profesional + tecnológico
   v4.0 · 2026-05-21 · paleta azul Stripe · sin dark mode · sitemap consolidado
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --ink:#0a0e1a;
  --ink-soft:#1f2937;
  --ink-mute:#4b5563;
  --paper:#ffffff;
  --paper-cool:#f8fafc;
  --paper-warm:#f1f5f9;
  --accent:#1e40af;
  --accent-deep:#1e3a8a;
  --accent-light:#dbeafe;
  --mute:#6b7280;
  --mute-soft:#9ca3af;
  --line:#e5e7eb;
  --line-soft:#f3f4f6;
  --line-strong:#d1d5db;
  --success:#059669;
  --warn:#d97706;
  --danger:#dc2626;

  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono','SF Mono',Consolas,monospace;

  --maxw:1180px;
  --maxw-prose:680px;
  --maxw-wide:1320px;

  --t-step--2:clamp(0.78rem,0.76rem + 0.1vw,0.85rem);
  --t-step--1:clamp(0.88rem,0.86rem + 0.1vw,0.95rem);
  --t-step-0:clamp(1rem,0.98rem + 0.15vw,1.05rem);
  --t-step-1:clamp(1.15rem,1.08rem + 0.3vw,1.28rem);
  --t-step-2:clamp(1.35rem,1.22rem + 0.5vw,1.65rem);
  --t-step-3:clamp(1.7rem,1.45rem + 1vw,2.2rem);
  --t-step-4:clamp(2.1rem,1.7rem + 2vw,3.2rem);
  --t-step-5:clamp(2.6rem,2rem + 3vw,4.4rem);

  --shadow-xs:0 1px 2px rgba(15,23,42,.04);
  --shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
  --shadow-md:0 4px 6px -1px rgba(15,23,42,.07),0 2px 4px -1px rgba(15,23,42,.04);
  --shadow-lg:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -2px rgba(15,23,42,.05);

  /* Legacy aliases · compatibilidad con HTML existente */
  --wine:var(--accent);
  --wine-deep:var(--accent-deep);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  font-size:var(--t-step-0);
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
  font-feature-settings:'kern','liga','ss01','cv11';
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .15s ease}
button{font:inherit;cursor:pointer;border:0;background:none}

::selection{background:var(--accent);color:var(--paper)}

h1,h2,h3,h4{font-family:var(--sans);font-weight:600;line-height:1.15;letter-spacing:-0.02em;color:var(--ink)}
h1{font-size:var(--t-step-5);font-weight:700;letter-spacing:-0.035em;line-height:1.05}
h2{font-size:var(--t-step-4);font-weight:600;letter-spacing:-0.025em;line-height:1.1}
h3{font-size:var(--t-step-2);font-weight:600;letter-spacing:-0.012em;line-height:1.25}
h4{font-size:var(--t-step-1);font-weight:600;letter-spacing:-0.008em;line-height:1.3}

.serif{font-family:var(--serif)}
.serif h1,h1.serif{font-family:var(--serif);font-weight:500;letter-spacing:-0.04em}
.serif h2,h2.serif{font-family:var(--serif);font-weight:500;letter-spacing:-0.025em}

p{max-width:62ch;color:var(--ink-soft);font-weight:400}
em,i{font-style:italic}
strong{font-weight:600;color:var(--ink)}

.mono{font-family:var(--mono);font-size:.92em;letter-spacing:0;font-feature-settings:'tnum'}

.eyebrow{font-family:var(--sans);font-size:var(--t-step--2);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);display:inline-block}

.lead{font-size:var(--t-step-1);line-height:1.55;color:var(--ink-soft);max-width:58ch;font-weight:400}
.muted{color:var(--mute)}
.small{font-size:var(--t-step--1)}
.kicker{font-family:var(--mono);font-size:var(--t-step--2);color:var(--mute);letter-spacing:0.04em;text-transform:uppercase;font-weight:500}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:24px}
@media (min-width:768px){.wrap{padding-inline:48px}}
.wrap--wide{max-width:var(--maxw-wide)}
.prose{max-width:var(--maxw-prose);margin-inline:auto;color:var(--ink-soft)}
.prose p + p{margin-top:1em}
.prose h2{margin-top:2.2em;margin-bottom:.6em;color:var(--ink)}
.prose h3{margin-top:1.6em;margin-bottom:.5em;color:var(--ink)}
.prose ul,.prose ol{margin:1em 0 1em 1.4em;color:var(--ink-soft)}
.prose li + li{margin-top:.4em}
.prose strong{color:var(--ink)}
.prose blockquote{margin:1.8em 0;padding:0 0 0 1.4em;border-left:3px solid var(--accent);font-size:var(--t-step-1);color:var(--ink);font-weight:500;line-height:1.5}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.site-header__inner{max-width:var(--maxw-wide);margin-inline:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
@media (min-width:768px){.site-header__inner{padding:18px 48px}}

.brand{display:flex;flex-direction:column;line-height:1.15}
.brand__name{font-family:var(--sans);font-size:var(--t-step-0);font-weight:700;letter-spacing:-0.012em;color:var(--ink)}
.brand__role{font-family:var(--sans);font-size:var(--t-step--2);letter-spacing:0.04em;color:var(--mute);font-weight:500;margin-top:2px}

.nav{display:none}
@media (min-width:980px){
  .nav{display:flex;align-items:center;gap:32px}
  .nav a{font-size:var(--t-step--1);color:var(--ink-soft);font-weight:500;position:relative;padding:6px 0;transition:color .15s}
  .nav a:hover{color:var(--accent)}
  .nav a[aria-current="page"]{color:var(--accent)}
  .nav a[aria-current="page"]::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent)}
}
.nav-toggle{display:flex;align-items:center;gap:8px;font-size:var(--t-step--1);color:var(--ink);font-weight:500;padding:6px 10px;border:1px solid var(--line);border-radius:6px}
@media (min-width:980px){.nav-toggle{display:none}}
.nav-toggle__bars{width:18px;height:12px;display:flex;flex-direction:column;justify-content:space-between}
.nav-toggle__bars span{display:block;height:1.5px;background:var(--ink);border-radius:2px}

.nav-mobile{display:none;flex-direction:column;gap:0;padding:8px 24px 20px;background:var(--paper);border-bottom:1px solid var(--line)}
.nav-mobile.is-open{display:flex}
.nav-mobile a{font-size:var(--t-step-0);color:var(--ink);font-weight:500;padding:12px 0;border-bottom:1px solid var(--line-soft)}
@media (min-width:980px){.nav-mobile{display:none!important}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-size:var(--t-step--1);font-weight:500;padding:11px 20px;border-radius:8px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:all .15s ease;letter-spacing:-0.005em;box-shadow:var(--shadow-xs)}
.btn:hover{background:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-sm)}
.btn--accent{background:var(--accent);border-color:var(--accent)}
.btn--accent:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn--ghost:hover{background:var(--paper-cool);color:var(--accent);border-color:var(--accent)}
.btn--wine{background:var(--accent);border-color:var(--accent)}
.btn--wine:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.btn--lg{padding:14px 28px;font-size:var(--t-step-0)}

.link-arrow{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-step--1);font-weight:500;color:var(--accent);transition:gap .2s ease,color .15s ease;border-bottom:1px solid transparent}
.link-arrow::after{content:'→';display:inline-block;transition:transform .2s ease}
.link-arrow:hover{color:var(--accent-deep);gap:10px}
.link-arrow:hover::after{transform:translateX(2px)}

.section{padding-block:72px}
@media (min-width:768px){.section{padding-block:96px}}
.section--tight{padding-block:48px}
.section--wide{padding-block:120px}
.section--cool{background:var(--paper-cool)}
.section--paper-warm{background:var(--paper-cool)}
.section--ink{background:var(--ink);color:var(--paper)}
.section--ink h1,.section--ink h2,.section--ink h3{color:var(--paper)}
.section--ink p,.section--ink .lead{color:rgba(255,255,255,.78)}
.section--ink .muted{color:rgba(255,255,255,.5)}
.section--ink .eyebrow{color:#93c5fd}

.hero{padding:80px 0 60px}
@media (min-width:768px){.hero{padding:120px 0 80px}}
.hero__grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media (min-width:1024px){.hero__grid{grid-template-columns:1.4fr 1fr;gap:80px}}
.hero__tagline{font-family:var(--serif);font-size:var(--t-step-5);font-weight:500;line-height:1.04;letter-spacing:-0.035em;color:var(--ink);max-width:14ch}
.hero__tagline em{font-style:italic;color:var(--accent)}
.hero__lead{margin-top:28px;font-size:var(--t-step-1);line-height:1.55;color:var(--ink-soft);max-width:58ch}
.hero__lead p + p{margin-top:.9em}
.hero__cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero__photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:var(--paper-cool)}
.hero__photo img{width:100%;height:100%;object-fit:cover}

.data-card{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}
.data-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}
.data-card__kicker{font-family:var(--mono);font-size:var(--t-step--2);color:var(--accent);letter-spacing:0.04em;text-transform:uppercase;font-weight:600}
.data-card__title{font-family:var(--sans);font-size:var(--t-step-1);font-weight:600;letter-spacing:-0.01em;margin-top:8px;color:var(--ink)}
.data-card__body{margin-top:8px;font-size:var(--t-step--1);color:var(--ink-mute);line-height:1.5}

.grid-cards{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:640px){.grid-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.grid-cards{grid-template-columns:repeat(3,1fr)}}
.grid-cards--4{grid-template-columns:1fr}
@media (min-width:640px){.grid-cards--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.grid-cards--4{grid-template-columns:repeat(4,1fr)}}

.stat-tech{display:flex;flex-direction:column;gap:4px;padding:16px 0}
.stat-tech__num{font-family:var(--sans);font-size:var(--t-step-4);font-weight:700;color:var(--ink);letter-spacing:-0.03em;line-height:1;font-feature-settings:'tnum','ss01'}
.stat-tech__label{font-family:var(--mono);font-size:var(--t-step--2);color:var(--mute);letter-spacing:0.04em;text-transform:uppercase;font-weight:500}
.stat-tech--accent .stat-tech__num{color:var(--accent)}

/* Legacy stat alias */
.stat{display:flex;flex-direction:column;gap:4px;padding:8px 0}
.stat__num{font-family:var(--sans);font-size:var(--t-step-4);font-weight:700;color:var(--accent);letter-spacing:-0.03em;line-height:1;font-feature-settings:'tnum','ss01'}
.stat__label{font-family:var(--mono);font-size:var(--t-step--2);color:var(--mute);letter-spacing:0.04em;text-transform:uppercase;font-weight:500}

.callout{padding:20px 24px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 8px 8px 0;background:var(--paper-cool);margin:24px 0}
.callout__label{font-family:var(--mono);font-size:var(--t-step--2);color:var(--accent);letter-spacing:0.04em;text-transform:uppercase;font-weight:600;margin-bottom:6px;display:block}
.callout p{margin:0;color:var(--ink-soft)}

.list-tech{list-style:none;padding:0;counter-reset:item;display:flex;flex-direction:column;gap:0}
.list-tech li{counter-increment:item;display:grid;grid-template-columns:48px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.list-tech li::before{content:counter(item,decimal-leading-zero);font-family:var(--mono);font-size:var(--t-step--1);color:var(--accent);font-weight:600;padding-top:2px}
.list-tech li:last-child{border-bottom:0}

.table-tech{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:var(--t-step--1)}
.table-tech th,.table-tech td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.table-tech th{font-weight:600;color:var(--ink);background:var(--paper-cool);font-size:var(--t-step--2);letter-spacing:0.04em;text-transform:uppercase}
.table-tech td{color:var(--ink-soft)}
.table-tech .num{font-family:var(--mono);color:var(--ink);font-weight:500}
.table-compare{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:var(--t-step--1)}
.table-compare th,.table-compare td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.table-compare th{font-weight:600;color:var(--ink)}
.table-compare .row-price td{font-family:var(--mono);color:var(--accent);font-weight:600}

.form{display:flex;flex-direction:column;gap:18px;max-width:560px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field label{font-size:var(--t-step--2);font-weight:600;color:var(--ink);letter-spacing:0.02em}
.form-field input,.form-field textarea,.form-field select{font-family:var(--sans);font-size:var(--t-step-0);color:var(--ink);padding:10px 14px;background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;transition:border-color .15s,box-shadow .15s}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}
.form-field textarea{resize:vertical;min-height:100px}
.form-field__hint{font-size:var(--t-step--2);color:var(--mute)}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 32px}
.chip{font-family:var(--sans);font-size:var(--t-step--2);font-weight:500;padding:7px 14px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);border-radius:999px;transition:all .15s;cursor:pointer}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.post-list{display:flex;flex-direction:column;margin-top:24px;border-top:1px solid var(--line)}
.post-list__item{display:grid;grid-template-columns:80px 1fr auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start;transition:background .15s}
@media (max-width:680px){.post-list__item{grid-template-columns:60px 1fr;gap:14px}}
.post-list__item:hover{background:var(--paper-cool)}
.post-list__num{font-family:var(--mono);font-size:var(--t-step--1);color:var(--mute);padding-top:2px}
.post-list__main{display:flex;flex-direction:column;gap:4px}
.post-list__title{font-family:var(--sans);font-size:var(--t-step-1);font-weight:600;color:var(--ink);transition:color .15s}
.post-list__item:hover .post-list__title{color:var(--accent)}
.post-list__lede{font-size:var(--t-step--1);color:var(--ink-mute);line-height:1.5;max-width:62ch}
.post-list__meta{font-family:var(--mono);font-size:var(--t-step--2);color:var(--mute);letter-spacing:0.04em;padding-top:4px}
@media (max-width:680px){.post-list__meta{grid-column:2}}

.card-newsletter{background:var(--ink);color:var(--paper);padding:36px 32px;border-radius:12px;display:grid;gap:20px}
@media (min-width:768px){.card-newsletter{padding:48px 56px;grid-template-columns:1fr auto;align-items:center}}
.card-newsletter__title{font-family:var(--sans);font-size:var(--t-step-2);font-weight:700;letter-spacing:-0.015em;color:var(--paper);max-width:30ch}
.card-newsletter__body{font-size:var(--t-step-0);color:rgba(255,255,255,.72);max-width:54ch}
.card-newsletter .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.card-newsletter .btn:hover{background:var(--accent-light);color:var(--accent-deep);border-color:var(--accent-light)}

.site-footer{background:var(--paper-cool);color:var(--ink-mute);padding:64px 0 32px;border-top:1px solid var(--line)}
.site-footer__grid{display:grid;grid-template-columns:1fr;gap:40px}
@media (min-width:768px){.site-footer__grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}}
.site-footer h4{font-family:var(--sans);font-size:var(--t-step--2);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink);margin-bottom:16px}
.site-footer__col a{display:block;padding:4px 0;font-size:var(--t-step--1);color:var(--ink-mute);transition:color .15s}
.site-footer__col a:hover{color:var(--accent)}
.site-footer__brand{font-family:var(--sans);font-size:var(--t-step-1);font-weight:700;color:var(--ink);letter-spacing:-0.01em;margin-bottom:4px}
.site-footer__role{font-family:var(--sans);font-size:var(--t-step--2);color:var(--mute);font-weight:500;margin-bottom:14px}
.site-footer__about{font-size:var(--t-step--1);color:var(--mute);max-width:42ch;line-height:1.6}
.site-footer__sig{margin-top:18px;max-width:140px}
.site-footer__sig img{max-width:140px;opacity:.7}
.site-footer__bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;justify-content:space-between;font-size:var(--t-step--2);color:var(--mute)}
@media (min-width:768px){.site-footer__bottom{flex-direction:row;align-items:center}}
.site-footer__bottom a{color:var(--mute);text-decoration:underline;text-underline-offset:2px}
.site-footer__bottom a:hover{color:var(--accent)}
.site-footer__bottom .legal-links a{margin-left:12px;text-decoration:none}

.disclaimer{background:var(--paper-cool);padding:20px 24px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 8px 8px 0;font-size:var(--t-step--1);color:var(--ink-mute);line-height:1.6;max-width:62ch;margin:24px 0}

.page-header{padding:80px 0 56px;border-bottom:1px solid var(--line);background:var(--paper-cool)}
@media (min-width:768px){.page-header{padding:120px 0 80px}}
.page-header__eyebrow{margin-bottom:16px;color:var(--accent)}
.page-header__title{font-family:var(--serif);font-size:var(--t-step-5);font-weight:500;letter-spacing:-0.035em;line-height:1.04;max-width:22ch;color:var(--ink)}
.page-header__lead{margin-top:20px;font-size:var(--t-step-1);line-height:1.5;color:var(--ink-mute);max-width:58ch}

.superseded-notice{background:#fef3c7;color:#78350f;padding:16px 20px;border-radius:8px;font-family:var(--sans);font-size:var(--t-step--1);line-height:1.5;border-left:4px solid #d97706;margin:20px 0}

:target{scroll-margin-top:80px}

/* Anchor nav · for /trabajo página · floating menu */
.anchor-nav{position:sticky;top:64px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:40;padding:12px 0;display:none}
@media (min-width:980px){.anchor-nav{display:block}}
.anchor-nav__inner{max-width:var(--maxw-wide);margin-inline:auto;padding-inline:48px;display:flex;gap:24px;font-size:var(--t-step--1);overflow-x:auto}
.anchor-nav a{color:var(--ink-mute);font-weight:500;white-space:nowrap;padding:4px 0;transition:color .15s}
.anchor-nav a:hover{color:var(--accent)}

/* Access grid · simplified · azul tech */
.access-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:32px;border-top:1px solid var(--line)}
@media (min-width:900px){.access-grid{grid-template-columns:1fr 1fr}}
.access-card{padding:32px 28px;border-bottom:1px solid var(--line);background:var(--paper);transition:background .15s}
@media (min-width:900px){.access-card:first-child{border-right:1px solid var(--line)}}
.access-card:hover{background:var(--paper-cool)}
.access-card__num{font-family:var(--mono);font-size:var(--t-step--2);color:var(--mute);letter-spacing:0.04em;text-transform:uppercase;font-weight:600}
.access-card__name{font-family:var(--sans);font-size:var(--t-step-2);font-weight:700;letter-spacing:-0.015em;margin:10px 0 6px;color:var(--ink)}
.access-card__price{font-family:var(--mono);font-size:var(--t-step-0);color:var(--accent);font-weight:500;margin-bottom:16px}
.access-card__body{font-size:var(--t-step-0);line-height:1.55;color:var(--ink-mute);margin-bottom:20px;max-width:46ch}
.access-card__cta{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-step--1);font-weight:500;color:var(--accent);transition:gap .2s}
.access-card__cta:hover{gap:10px;color:var(--accent-deep)}

/* Doctrines · simplified */
.doctrines{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
@media (min-width:900px){.doctrines{grid-template-columns:repeat(5,1fr)}}
.doctrine-chip{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .15s ease;display:flex;flex-direction:column;gap:6px;min-height:130px;background:var(--paper)}
@media (min-width:900px){.doctrine-chip:last-child{border-right:0}}
.doctrine-chip:hover{background:var(--paper-cool)}
.doctrine-chip__num{font-family:var(--mono);font-size:var(--t-step--2);color:var(--accent);letter-spacing:0.04em;font-weight:600}
.doctrine-chip__name{font-family:var(--sans);font-size:var(--t-step-1);font-weight:600;letter-spacing:-0.012em;color:var(--ink);margin-top:4px}
.doctrine-chip__hint{font-size:var(--t-step--2);color:var(--mute);line-height:1.5;margin-top:auto}

/* Post card · for home strip */
.posts-strip{padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-cool)}
.posts-strip__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px;gap:24px}
.posts-strip__title{font-family:var(--sans);font-size:var(--t-step-2);font-weight:700;letter-spacing:-0.012em;color:var(--ink)}
.posts-strip__grid{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:768px){.posts-strip__grid{grid-template-columns:repeat(3,1fr);gap:32px}}
.post-card{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;transition:border-color .15s,box-shadow .15s}
.post-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}
.post-card__num{font-family:var(--mono);font-size:var(--t-step--2);color:var(--accent);letter-spacing:0.04em;font-weight:600}
.post-card__title{font-family:var(--sans);font-size:var(--t-step-1);line-height:1.3;font-weight:600;letter-spacing:-0.012em;color:var(--ink)}
.post-card__meta{font-family:var(--mono);font-size:var(--t-step--2);color:var(--mute);letter-spacing:0.04em}
.post-card__meta span+span::before{content:'·';margin:0 .5em}

/* Book layout · simplified */
.books-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:32px}
@media (min-width:768px){.books-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.books-grid{grid-template-columns:repeat(3,1fr)}}
.book{display:flex;flex-direction:column;gap:10px}
.book__cover{aspect-ratio:2/3;background:var(--paper-cool);border:1px solid var(--line);border-radius:8px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px}
.book__title{font-family:var(--sans);font-size:var(--t-step-1);font-weight:600;letter-spacing:-0.012em;line-height:1.25;color:var(--ink)}
.book__meta{font-family:var(--mono);font-size:var(--t-step--2);color:var(--mute);letter-spacing:0.04em}
.book__collection{font-family:var(--mono);font-size:var(--t-step--2);color:var(--accent);letter-spacing:0.06em;text-transform:uppercase;font-weight:600}

.text-center{text-align:center}
.flex{display:flex}.grid{display:grid}
.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}
.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-12{margin-top:48px}
.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-12{margin-bottom:48px}
.hidden{display:none}

@media print{
  .site-header,.site-footer,.card-newsletter,.btn{display:none}
  body{background:white;color:black}
  a{color:black;text-decoration:underline}
}
