:root{
 --ink:#0f3048;--ink-2:#29465a;--green:#55765e;--green-soft:#e5ece6;--brown:#7a4d31;--gold:#c18b3b;--red:#9c443b;
 --paper:#fbfaf6;--paper-2:#f2efe7;--white:#fff;--line:#d9d4ca;--line-dark:rgba(15,48,72,.18);
 --max:1240px;--reading:760px;--radius:6px;--shadow:0 8px 28px rgba(15,48,72,.06);
 --space:clamp(4.5rem,8vw,7.5rem);--header-h:78px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Public Sans',system-ui,sans-serif;line-height:1.65}body,button,input,textarea,select{font-size:16px}a{color:inherit}img{max-width:100%;height:auto}.container{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}.container--reading{width:min(calc(100% - 3rem),var(--reading))}.site-main{min-height:60vh;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Global header */
.site-header{position:sticky;top:0;background:rgba(251,250,246,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:100}.site-header__inner{min-height:var(--header-h);display:flex;align-items:center;gap:1.5rem}.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}.brand__logo{display:block;width:154px;height:auto;max-height:58px;object-fit:contain;object-position:left center}.custom-logo{max-height:58px;width:auto}.primary-nav{margin-left:auto}.menu,.footer-menu{list-style:none;margin:0;padding:0}.menu{display:flex;align-items:center;gap:1.25rem}.menu a,.footer-menu a{text-decoration:none;font-size:.76rem;font-weight:600;letter-spacing:.015em}.menu a:hover,.menu .current-menu-item>a,.footer-menu a:hover{color:var(--brown)}.header-cta{background:var(--ink);color:var(--white);padding:.78rem 1.1rem;border-radius:4px;text-decoration:none;font-size:.74rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.menu-toggle{display:none;background:none;border:0}
/* Type */
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:0 0 1rem;font-weight:500}.hero h1,.section-heading h2,.split h2,.entry-header h1,.archive-hero h1,.content-card h3,.quote,.project-section h2{font-family:'Newsreader',serif;font-weight:500;letter-spacing:-.025em}.hero h1{font-size:clamp(3.2rem,6.4vw,6rem);line-height:.95;margin:0 0 1.5rem;max-width:800px}.hero__lead,.entry-lead{font-size:1.12rem;color:var(--ink-2);max-width:700px}.section-heading h2,.split h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.02;margin:.2rem 0 1rem}.section-heading>p:not(.eyebrow),.split>div>p:not(.eyebrow){max-width:720px;color:var(--ink-2)}
/* Buttons */
.actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.15rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:.76rem;letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease}.button:hover{transform:translateY(-1px)}.button--primary{background:var(--ink);color:#fff}.button--primary:hover{background:#173e59}.button--outline{border-color:var(--ink);color:var(--ink);background:transparent}.button--text{padding-inline:0;color:var(--ink);text-transform:none;letter-spacing:0}.button--light{border-color:rgba(255,255,255,.55);color:#fff}.button--light:hover{background:rgba(255,255,255,.08)}
/* Hero */
.hero{position:relative;padding:clamp(5rem,9vw,8rem) 0}.hero--home{min-height:650px;display:flex;align-items:center;background:var(--paper);background-image:radial-gradient(circle at 100% 0,rgba(122,77,49,.08),transparent 32%),radial-gradient(circle at 0 50%,rgba(85,118,94,.08),transparent 28%)}.hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:4rem;align-items:center}.hero__graphic{min-height:300px;display:flex;flex-direction:column;justify-content:center;padding-left:2rem;border-left:1px solid var(--line)}.connection-line{height:180px;position:relative;display:flex;align-items:center;justify-content:space-between}.connection-line:before{content:'';position:absolute;left:2%;right:2%;top:50%;height:54px;border-top:1px solid var(--brown);border-radius:50%;transform:translateY(-50%)}.connection-line span{position:relative;width:22px;height:22px;border:2px solid var(--ink);background:var(--paper);border-radius:50%;z-index:1}.connection-line span:nth-child(2){border-color:var(--green)}.connection-line span:nth-child(3){border-color:var(--brown)}.connection-line span:nth-child(4){border-color:var(--gold)}.connection-line span:nth-child(5){border-color:var(--ink)}.hero__graphic p{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.08em;color:var(--ink-2);line-height:1.8}
/* Sections */
.section{padding:var(--space) 0}.section--muted{background:var(--paper-2)}.section--dark{background:var(--ink);color:#fff}.section--dark .eyebrow{color:#d7b16b}.section--dark p:not(.eyebrow){color:#d8e1e5}.section-heading{max-width:900px;margin-bottom:3rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.split--center{align-items:center}.method-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.method-list div{min-height:120px;padding:1.25rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:.3rem}.method-list b{font-family:'IBM Plex Mono',monospace;font-weight:400;color:var(--gold);font-size:.75rem}.method-list span{font-family:'Newsreader',serif;font-size:1.35rem}
/* Process */
.process{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative;margin-top:2rem}.process:before{content:'';position:absolute;left:4%;right:4%;top:23px;border-top:1px solid currentColor;opacity:.5}.process__item{position:relative;padding-right:1rem}.process__dot{width:46px;height:46px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;background:var(--ink);margin-bottom:1rem;position:relative}.process__dot:before{content:'';width:10px;height:10px;border-radius:50%;background:var(--white)}.process__number{font-family:'IBM Plex Mono',monospace;font-size:.68rem;opacity:.7}.process__title{font-family:'Newsreader',serif;font-size:1.35rem;line-height:1.05;margin:.2rem 0}.process__text{font-size:.8rem;color:inherit;opacity:.78}
/* Cards */
.card-grid{display:grid;gap:1rem}.card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.content-card,.placeholder-card{position:relative;border:1px solid var(--line);background:var(--paper);padding:1.6rem;min-height:270px;display:flex;flex-direction:column;overflow:hidden}.content-card:after{content:'';position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:rgba(85,118,94,.12)}.content-card:nth-child(3n+2):after{background:rgba(193,139,59,.14)}.content-card:nth-child(3n):after{background:rgba(122,77,49,.12)}.content-card>*{position:relative;z-index:1}.content-card h3,.placeholder-card h3{font-size:1.75rem;line-height:1.05;margin:.15rem 0 .9rem}.content-card h3 a{text-decoration:none}.content-card p,.placeholder-card p{color:var(--ink-2);font-size:.92rem}.card-link{margin-top:auto;text-decoration:none;font-weight:700;font-size:.8rem}.card-link:after{content:' →'}.card-meta{display:flex;gap:.75rem;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:.63rem;color:var(--ink-2)}
/* Archives */
.archive-hero{padding:clamp(4rem,8vw,7rem) 0 4rem;border-bottom:1px solid var(--line);background:var(--paper);background-image:radial-gradient(circle at 90% 30%,rgba(85,118,94,.1),transparent 28%)}.archive-hero h1{font-size:clamp(3rem,5.5vw,5.5rem);line-height:.95;margin:0 0 1rem}.archive-hero p:not(.eyebrow){max-width:720px;color:var(--ink-2)}.archive-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem}
/* Single */
.single-entry{padding-bottom:var(--space)}.entry-header{padding:1rem 0 2.5rem}.entry-header h1{font-size:clamp(3rem,5.6vw,5.5rem);line-height:.95;margin:0}.entry-content{font-size:1.08rem}.entry-content>*{max-width:100%}.entry-content h2,.entry-content h3{font-family:'Newsreader',serif;font-weight:500;line-height:1.08}.entry-content h2{font-size:2.4rem;margin-top:3.5rem}.entry-content h3{font-size:1.8rem;margin-top:2.5rem}.entry-content blockquote{margin:2.5rem 0;padding:1.25rem 0 1.25rem 2rem;border-left:2px solid var(--gold);font-family:'Newsreader',serif;font-size:1.6rem}.entry-footer{border-top:1px solid var(--line);padding:2rem 0;margin-top:4rem}
/* Taxonomies / structured data */
.taxonomy-section,.structured-section{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.taxonomy-list,.structured-list{margin:1rem 0 0}.taxonomy-item,.structured-item{display:grid;grid-template-columns:minmax(170px,.35fr) minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}.taxonomy-item dt,.structured-item dt{font-family:'IBM Plex Mono',monospace;font-size:.67rem;line-height:1.35;letter-spacing:.07em;text-transform:uppercase}.taxonomy-item dd,.structured-item dd{margin:0}.structured-item dd p:first-child{margin-top:0}.structured-item dd p:last-child{margin-bottom:0}.taxonomy-item a{text-decoration:none;background:var(--paper-2);border:1px solid var(--line);padding:.25rem .55rem;margin:.15rem .2rem .15rem 0;display:inline-block;border-radius:999px;font-size:.8rem}
/* Project */
.project-hero{background:var(--paper-2);padding:2rem 0 4rem}.project-data{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.project-data__item{border-top:1px solid var(--line);padding-top:1rem}.project-data__label{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.07em;font-size:.64rem}.project-data__value{font-family:'Newsreader',serif;font-size:1.25rem;line-height:1.1;margin-top:.3rem}.project-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem}.project-section{border:1px solid var(--line);padding:1.75rem;background:var(--paper)}.project-section h2{font-size:2rem;margin:.2rem 0 1rem}.project-section--wide{grid-column:1/-1}.project-section ul{padding-left:1.2rem}
/* Publication */
.publication-hero{background:var(--ink);color:#fff;padding:clamp(4rem,8vw,7rem) 0}.publication-hero .eyebrow{color:#d7b16b}.publication-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}.publication-cover{max-width:340px;margin-inline:auto;box-shadow:0 18px 40px rgba(0,0,0,.25)}.publication-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.publication-meta div{border-top:1px solid rgba(255,255,255,.25);padding-top:.8rem}.publication-meta strong{display:block;font-family:'IBM Plex Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em}.publication-meta span{display:block;margin-top:.25rem}
/* CTA + newsletter */
.cta-band{padding:3rem 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta-band h2{font-family:'Newsreader',serif;font-size:2.5rem;line-height:1;margin:0 0 .4rem}.newsletter-band{padding:2rem 0;background:var(--paper)}.newsletter-band__inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}.newsletter-form{display:flex;min-width:min(100%,480px)}.newsletter-form input{flex:1;border:1px solid var(--line);padding:.85rem 1rem;background:#fff}.newsletter-form button{border:0;background:var(--ink);color:#fff;padding:.85rem 1.2rem;font-weight:700}
/* Footer */
.site-footer{background:#0b2435;color:#e8eceb;padding:4.5rem 0 1.25rem}.site-footer__grid{display:grid;grid-template-columns:1.35fr repeat(3,.7fr) 1.1fr;gap:2.5rem}.footer-brand img{display:block;width:155px;height:auto;margin-bottom:1.25rem}.site-footer h2{font-family:'Newsreader',serif;font-weight:500;font-size:1.8rem;line-height:1.05;margin:.5rem 0 1rem}.site-footer p{color:#bdc9ce;font-size:.82rem}.footer-title{font-family:'IBM Plex Mono',monospace;font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;color:#fff!important;margin-top:0}.footer-menu{display:grid;gap:.5rem}.site-footer__bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:3rem;padding-top:1.25rem;display:flex;justify-content:space-between;gap:1rem;font-family:'IBM Plex Mono',monospace;font-size:.62rem;color:#aeb9bc}
/* Accessibility */
:focus-visible{outline:3px solid rgba(193,139,59,.75);outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Responsive */
@media(max-width:1100px){.menu{gap:.75rem}.header-cta{display:none}.hero__grid,.split{grid-template-columns:1fr}.hero__graphic{border-left:0;border-top:1px solid var(--line);padding:2rem 0}.card-grid--4{grid-template-columns:repeat(2,1fr)}.site-footer__grid{grid-template-columns:repeat(3,1fr)}.project-data{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(calc(100% - 2rem),var(--max))}.site-header__inner{min-height:68px}.menu-toggle{display:flex;margin-left:auto;flex-direction:column;gap:4px;padding:.5rem}.menu-toggle span:not(.sr-only){display:block;width:22px;height:1px;background:var(--ink)}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem}.primary-nav.is-open{display:block}.menu{display:grid;gap:0}.menu li{border-bottom:1px solid var(--line)}.menu a{display:block;padding:.8rem 0}.hero{padding:4rem 0}.hero--home{min-height:auto}.hero h1{font-size:3.35rem}.hero__graphic{min-height:220px}.section{padding:4.5rem 0}.card-grid--3,.card-grid--4,.site-footer__grid,.project-sections{grid-template-columns:1fr}.method-list{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr;gap:1.5rem}.process:before{left:22px;right:auto;top:22px;bottom:22px;border-top:0;border-left:1px solid currentColor}.process__item{display:grid;grid-template-columns:46px 1fr;column-gap:1rem}.process__dot{grid-row:1/4}.archive-hero{padding:3.5rem 0}.archive-intro{grid-template-columns:1fr;gap:1rem}.entry-header h1{font-size:3.15rem}.taxonomy-item,.structured-item{grid-template-columns:1fr;gap:.5rem}.publication-grid{grid-template-columns:1fr}.publication-cover{max-width:260px}.project-data{grid-template-columns:1fr 1fr}.cta-band__inner,.newsletter-band__inner{display:grid}.newsletter-form{min-width:0}.site-footer__bottom{display:grid}.footer-brand img{width:145px}}
@media(max-width:480px){.hero h1,.entry-header h1{font-size:2.75rem}.method-list{grid-template-columns:1fr}.project-data{grid-template-columns:1fr}.newsletter-form{display:grid;gap:.5rem}.newsletter-form button{min-height:44px}}

/* ==========================================================================\n   PRÁXIS DESIGN SYSTEM V18 — v0.1.4 refinement\n   Visual reference: V18 prototypes.\n   This layer refines tokens, hierarchy, connection graphics, contrast,\n   editorial cards and responsive behavior without changing CMS architecture.\n   ========================================================================== */
:root{
  --pp-ink:#12354e;
  --pp-ink-deep:#0b2a40;
  --pp-text:#173f5c;
  --pp-green:#58765f;
  --pp-brown:#7d4d30;
  --pp-gold:#c28b38;
  --pp-red:#9a443b;
  --pp-paper:#fbfaf6;
  --pp-paper-warm:#f3f0e8;
  --pp-line:#d8d2c7;
  --pp-line-soft:rgba(18,53,78,.13);
  --pp-white:#fff;
  --pp-container:1240px;
  --pp-reading:760px;
  --pp-radius:4px;
  --pp-section:clamp(5rem,8vw,8rem);
  --pp-display:clamp(3.2rem,6.2vw,6.15rem);
  --pp-section-title:clamp(2.45rem,4.1vw,4.25rem);
}

body{background:var(--pp-paper);color:var(--pp-ink);font-size:16px;line-height:1.68}
.container{width:min(calc(100% - 3rem),var(--pp-container))}

/* Header / navigation */
.site-header{background:rgba(251,250,246,.97);border-bottom-color:var(--pp-line-soft)}
.site-header__inner{min-height:76px}
.brand__logo{width:158px;max-height:58px}
.menu{gap:1.45rem}
.menu a{font-size:.73rem;letter-spacing:.025em;text-transform:uppercase}
.menu a:hover,.menu .current-menu-item>a{color:var(--pp-brown)}
.header-cta{background:var(--pp-ink);padding:.82rem 1.25rem;border-radius:3px}

/* Editorial type scale */
.eyebrow{color:var(--pp-green);font-size:.66rem;letter-spacing:.19em;margin-bottom:1.05rem}
.hero h1,.section-heading h2,.split h2,.entry-header h1,.archive-hero h1,.content-card h3,.quote,.project-section h2,.process__title{font-family:'Newsreader',serif;font-weight:500;letter-spacing:-.035em}
.hero h1{font-size:var(--pp-display);line-height:.91;max-width:820px;margin-bottom:1.7rem}
.hero__lead,.entry-lead{font-size:1.08rem;line-height:1.7;max-width:700px;color:var(--pp-text)}
.section{padding:var(--pp-section) 0}
.section-heading h2,.split h2{font-size:var(--pp-section-title);line-height:.99;margin:.2rem 0 1.15rem}
.section-heading>p:not(.eyebrow),.split>div>p:not(.eyebrow){color:var(--pp-text)}

/* Buttons */
.button{min-height:46px;padding:.78rem 1.2rem;border-radius:3px;font-size:.72rem;letter-spacing:.035em}
.button--primary{background:var(--pp-ink)}
.button--primary:hover{background:var(--pp-ink-deep)}
.button--outline{border-color:var(--pp-ink)}

/* V18 connection graphic */
.hero--home{min-height:690px;background-color:var(--pp-paper)}
.hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:4.5rem}
.hero__graphic{min-height:360px;padding-left:2.5rem;border-left:1px solid var(--pp-line)}
.connection-line{height:150px;margin-bottom:1.1rem}
.connection-line:before{left:1%;right:1%;top:50%;height:68px;border-top:1px solid var(--pp-brown)}
.connection-line span{width:20px;height:20px;background:var(--pp-paper)}
.hero__graphic p{font-size:.63rem;letter-spacing:.09em;color:var(--pp-text)}
.pp-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:-.25rem}
.pp-journey__item{min-width:0}
.pp-journey__title{font-family:'Public Sans',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.28rem}
.pp-journey__text{font-size:.7rem;line-height:1.45;color:var(--pp-text);max-width:105px}

/* Concept section */
.split{gap:5.5rem}
.split h2 em,.section-heading h2 em{font-style:italic;color:var(--pp-brown);font-weight:400}

/* Dark sections — explicit specificity fixes the previous contrast collision. */
.section--dark{background:var(--pp-ink);color:#fff}
.section--dark .eyebrow{color:#e0ad57}
.section--dark p:not(.eyebrow),
.section--dark .split>div>p:not(.eyebrow),
.section--dark .process__text{color:#e4ecef}
.section--dark .process__title{color:#fff}
.section--dark .process:before{opacity:.55}
.section--dark .process__dot{background:var(--pp-ink);border-color:#fff}
.section--dark .button--outline{color:#fff;border-color:rgba(255,255,255,.72)}
.section--dark .button--light{color:#fff;border-color:rgba(255,255,255,.65)}

/* Process component */
.process{margin-top:2.4rem}
.process__dot{width:46px;height:46px;background:transparent}
.process__dot:before{width:8px;height:8px}
.process__number{font-size:.62rem;letter-spacing:.04em}
.process__title{font-size:1.3rem}
.process__text{font-size:.78rem;line-height:1.5}

/* Editorial cards */
.card-grid{gap:1.15rem}
.content-card,.placeholder-card{border-color:var(--pp-line);border-radius:0;background:rgba(255,255,255,.34);padding:1.7rem;min-height:278px}
.content-card:after{right:-34px;top:-34px;width:116px;height:116px}
.content-card h3,.placeholder-card h3{font-size:1.7rem;line-height:1.02}
.content-card p,.placeholder-card p{font-size:.9rem;line-height:1.58;color:var(--pp-text)}
.card-link{font-size:.75rem;text-transform:none}

/* Archive / single editorial rhythm */
.archive-hero{padding:clamp(4.5rem,8vw,7.5rem) 0 4.5rem;background:var(--pp-paper)}
.archive-hero h1{font-size:clamp(3.2rem,5.7vw,5.8rem)}
.entry-header{padding:1.5rem 0 3rem}
.entry-header h1{font-size:clamp(3.25rem,5.8vw,5.9rem)}
.entry-content{font-size:1.06rem;line-height:1.78}
.entry-content h2{font-size:2.5rem}

/* Structured fields: make the CMS data feel editorial rather than diagnostic. */
.structured-section,.taxonomy-section{margin-top:4rem;padding-top:1.8rem;border-top:1px solid var(--pp-line)}
.structured-item,.taxonomy-item{padding:1.15rem 0;border-bottom:1px solid var(--pp-line-soft)}
.structured-item dt,.taxonomy-item dt{color:var(--pp-green);font-size:.63rem;letter-spacing:.1em}
.taxonomy-item a{background:var(--pp-paper-warm);border-color:var(--pp-line);border-radius:2px}

/* CTA / newsletter */
.cta-band{border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);background:var(--pp-paper-warm)}
.cta-band__inner{padding:3.5rem 0}
.cta-band h2{font-family:'Newsreader',serif;font-size:clamp(2rem,3vw,3.2rem);line-height:1;margin:.2rem 0 .7rem;letter-spacing:-.025em}
.newsletter-band{border-top:1px solid var(--pp-line)}

/* Footer */
.site-footer{background:var(--pp-ink-deep)}
.site-footer p,.site-footer a{color:#eef2f3}
.site-footer .footer-menu a{font-size:.72rem}

/* Accessibility / interaction */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(194,139,56,.55);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

@media(max-width:1100px){
  .hero__grid{grid-template-columns:1fr;gap:2.5rem}
  .hero__graphic{border-left:0;border-top:1px solid var(--pp-line);padding:2rem 0 0;min-height:260px}
  .pp-journey__text{max-width:none}
}
@media(max-width:780px){
  .container{width:min(calc(100% - 2rem),var(--pp-container))}
  .site-header__inner{min-height:68px}
  .brand__logo{width:136px}
  .hero{padding:4.5rem 0}
  .hero h1{font-size:clamp(2.9rem,11vw,4.4rem)}
  .hero--home{min-height:auto}
  .hero__graphic{display:block}
  .connection-line{height:115px}
  .pp-journey{gap:.65rem}
  .pp-journey__title{font-size:.58rem}
  .pp-journey__text{font-size:.64rem}
  .split{grid-template-columns:1fr;gap:2.5rem}
  .card-grid--3,.card-grid--4{grid-template-columns:1fr}
  .section-heading{margin-bottom:2rem}
  .process{grid-template-columns:1fr;gap:1.25rem}
  .process:before{left:22px;right:auto;top:23px;bottom:23px;border-top:0;border-left:1px solid currentColor}
  .process__item{display:grid;grid-template-columns:46px 1fr;column-gap:1rem;padding:0}
  .process__dot{grid-row:1/4;margin-bottom:0}
}
@media(max-width:480px){
  .hero h1,.entry-header h1{font-size:2.75rem}
  .pp-journey{grid-template-columns:1fr 1fr}
  .pp-journey__item:last-child{grid-column:1/-1}
  .method-list{grid-template-columns:1fr}
}

/* ==========================================================================\n   PRÁXIS DESIGN SYSTEM V18 — v0.1.5 CALIBRATION\n   Principle: proportion + breathing room + content first.\n   This layer recalibrates scale, density and rhythm without changing the\n   CMS architecture or editorial structure.\n   ========================================================================== */
:root{
  --pp-display:clamp(2.9rem,5vw,4.75rem);
  --pp-section-title:clamp(2.05rem,3.25vw,3.25rem);
  --pp-body:1rem;
  --pp-section:clamp(4.5rem,6.5vw,6.5rem);
  --pp-container:1200px;
  --pp-reading:720px;
  --pp-header:72px;
}

body{font-size:16px;line-height:1.68}
.container{width:min(calc(100% - 3rem),var(--pp-container))}

/* Header: stable proportions while sticky. */
.site-header__inner{min-height:var(--pp-header);gap:1.25rem}
.brand .custom-logo,.brand__logo{width:144px;height:auto;max-height:50px;object-fit:contain}
.menu{gap:1.15rem}
.menu a{font-size:.72rem}
.header-cta{padding:.72rem 1.05rem;font-size:.71rem}

/* Typography: strong editorial voice without poster-scale occupation. */
.hero h1{font-size:var(--pp-display);line-height:.98;max-width:760px;margin-bottom:1.35rem}
.hero__lead,.entry-lead{font-size:1.04rem;line-height:1.72;max-width:680px}
.section-heading h2,.split h2{font-size:var(--pp-section-title);line-height:1.04;letter-spacing:-.025em;margin:.15rem 0 .95rem}
.archive-hero h1{font-size:clamp(2.8rem,4.7vw,4.35rem);line-height:1.0;letter-spacing:-.025em}
.entry-header h1{font-size:clamp(2.8rem,4.8vw,4.5rem);line-height:1.0;letter-spacing:-.025em}
.cta-band h2{font-size:clamp(1.9rem,2.6vw,2.75rem)}
.entry-content h2{font-size:2.15rem}
.entry-content h3{font-size:1.55rem}
.entry-content blockquote{font-size:1.4rem}

/* Page rhythm: less theatrical vertical occupation, more usable content per viewport. */
.hero{padding:clamp(4.25rem,6.5vw,6.25rem) 0}
.hero--home{min-height:570px}
.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:3.75rem}
.hero__graphic{min-height:285px;padding-left:2rem}
.connection-line{height:125px;margin-bottom:.75rem}
.pp-journey{gap:.75rem;margin-top:-.1rem}
.pp-journey__title{font-size:.64rem}
.pp-journey__text{font-size:.67rem;line-height:1.48;max-width:115px}

.section{padding:var(--pp-section) 0}
.section-heading{max-width:820px;margin-bottom:2.35rem}
.split{gap:4rem}

/* Process: a navigational device, not a dominant illustration. */
.process{margin-top:1.8rem}
.process__dot{width:40px;height:40px}
.process:before{top:20px}
.process__title{font-size:1.18rem}
.process__text{font-size:.75rem;line-height:1.5}

/* Cards: information modules rather than poster panels. */
.card-grid{gap:1rem}
.content-card,.placeholder-card{padding:1.4rem;min-height:230px}
.content-card h3,.placeholder-card h3{font-size:1.48rem;line-height:1.08;margin:.15rem 0 .75rem}
.content-card p,.placeholder-card p{font-size:.88rem;line-height:1.58}
.content-card:after{right:-28px;top:-28px;width:92px;height:92px}

/* Archives: clear orientation, restrained hero. */
.archive-hero{padding:clamp(3.75rem,6vw,5.75rem) 0 3.5rem}
.archive-intro{gap:3rem;margin-bottom:2.25rem}

/* Single content: title establishes hierarchy, body establishes substance. */
.entry-header{padding:1rem 0 2.25rem}
.entry-content{font-size:1.03rem;line-height:1.78}
.structured-section,.taxonomy-section{margin-top:3rem;padding-top:1.4rem}
.structured-item,.taxonomy-item{padding:.95rem 0}

/* Project hero: data should read as metadata, not as a second hero. */
.project-hero{padding:1.25rem 0 3.25rem}
.project-hero > .container > h1.entry-header{font-family:'Newsreader',serif;font-weight:500;letter-spacing:-.025em;font-size:clamp(2.8rem,4.8vw,4.5rem);line-height:1.0;padding:0;margin:0}
.project-data{gap:.9rem;margin-top:1.65rem}
.project-data__item{padding-top:.8rem}
.project-data__value{font-family:'Public Sans',sans-serif;font-size:.94rem;line-height:1.5}

/* Publication / resource modules should not create oversized visual blocks. */
.publication-hero{padding:clamp(3.75rem,6vw,5.75rem) 0}
.publication-grid{gap:3rem}

/* Conversion remains visible without becoming another hero. */
.cta-band__inner{padding:2.75rem 0}
.newsletter-band__inner{padding:1.75rem 0}

/* Tablet */
@media(max-width:1100px){
  .hero__grid{grid-template-columns:1fr;gap:2.5rem}
  .hero__graphic{border-left:0;border-top:1px solid var(--pp-line);padding:1.75rem 0 0;min-height:245px}
  .project-data{grid-template-columns:repeat(2,1fr)}
}

/* Mobile: preserve hierarchy without reproducing the desktop poster effect. */
@media(max-width:780px){
  .container{width:min(calc(100% - 2rem),var(--pp-container))}
  .site-header__inner{min-height:66px}
  .brand .custom-logo,.brand__logo{width:132px;max-height:46px}
  .hero{padding:3.75rem 0}
  .hero h1{font-size:clamp(2.65rem,10vw,3.65rem);line-height:1.0;max-width:650px}
  .hero__lead,.entry-lead{font-size:1rem}
  .section{padding:4.25rem 0}
  .section-heading{margin-bottom:1.8rem}
  .section-heading h2,.split h2{font-size:clamp(2rem,7.5vw,2.8rem);line-height:1.05}
  .archive-hero h1,.entry-header h1,.project-hero > .container > h1.entry-header{font-size:clamp(2.45rem,8.5vw,3.35rem);line-height:1.03}
  .hero--home{min-height:auto}
  .pp-journey__title{font-size:.57rem}
  .pp-journey__text{font-size:.63rem}
  .content-card,.placeholder-card{min-height:0}
  .project-data{grid-template-columns:1fr 1fr}
}

@media(max-width:480px){
  .hero h1,.entry-header h1,.project-hero > .container > h1.entry-header{font-size:2.55rem}
  .pp-journey{grid-template-columns:1fr 1fr}
  .pp-journey__item:last-child{grid-column:1/-1}
  .project-data{grid-template-columns:1fr}
}

/* ==========================================================================
   PRÁXIS DESIGN SYSTEM V18 — v0.1.6 PROPORTION CALIBRATION
   Approved principle:
   "Proporção equilibrada → conteúdo respirando ao redor."
   This layer reduces poster-scale typography, card occupation and footer
   dominance while preserving Newsreader's editorial personality.
   ========================================================================== */
:root{
  --pp-display:clamp(2.55rem,3.65vw,4rem);
  --pp-section-title:clamp(1.95rem,2.45vw,2.65rem);
  --pp-section:clamp(4rem,5.5vw,5.75rem);
  --pp-container:1200px;
  --pp-reading:720px;
}
body{font-size:16px;line-height:1.68}
.site-header__inner{min-height:70px;gap:1.15rem}
.brand .custom-logo,.brand__logo{width:128px;max-height:46px}
.menu{gap:1rem}
.menu a{font-size:.68rem}
.header-cta{padding:.66rem .95rem;font-size:.68rem}
.hero h1{font-size:var(--pp-display);line-height:1.01;letter-spacing:-.028em;max-width:720px;margin-bottom:1.25rem}
.hero__lead,.entry-lead{font-size:1rem;line-height:1.7;max-width:660px}
.section-heading h2,.split h2{font-size:var(--pp-section-title);line-height:1.08;letter-spacing:-.018em;margin:.15rem 0 .85rem}
.section-heading>p:not(.eyebrow),.split>div>p:not(.eyebrow){max-width:680px}
.archive-hero h1{font-size:clamp(2.5rem,3.8vw,3.9rem);line-height:1.03}
.entry-header h1{font-size:clamp(2.5rem,3.9vw,4rem);line-height:1.03}
.entry-content h2{font-size:2rem}
.entry-content h3{font-size:1.45rem}
.entry-content blockquote{font-size:1.3rem}
.hero{padding:clamp(4rem,5.5vw,5.5rem) 0}
.hero--home{min-height:520px}
.hero__grid{gap:3.25rem}
.hero__graphic{min-height:255px;padding-left:1.75rem}
.connection-line{height:112px}
.pp-journey{gap:.65rem}
.pp-journey__title{font-size:.61rem}
.pp-journey__text{font-size:.64rem;line-height:1.45}
.section{padding:var(--pp-section) 0}
.section-heading{max-width:780px;margin-bottom:2rem}
.split{gap:3.5rem}
.process{margin-top:1.5rem}
.process__dot{width:36px;height:36px}
.process:before{top:18px}
.process__title{font-size:1.05rem;line-height:1.1}
.process__text{font-size:.72rem;line-height:1.48}
.process__number{font-size:.59rem}
.card-grid{gap:.9rem}
.content-card,.placeholder-card{padding:1.25rem;min-height:200px}
.content-card h3,.placeholder-card h3{font-size:1.28rem;line-height:1.12;letter-spacing:-.012em;margin:.12rem 0 .6rem}
.content-card p,.placeholder-card p{font-size:.82rem;line-height:1.55}
.content-card:after{right:-24px;top:-24px;width:78px;height:78px}
.card-link{font-size:.7rem}
.project-hero{padding:1rem 0 2.75rem}
.project-hero > .container > h1.entry-header{font-size:clamp(2.5rem,3.9vw,4rem);line-height:1.03}
.project-data{gap:.75rem;margin-top:1.35rem}
.project-data__item{padding-top:.7rem}
.project-data__label{font-size:.59rem}
.project-data__value{font-size:.9rem;line-height:1.45}
.publication-hero{padding:clamp(3.5rem,5.5vw,5rem) 0}
.cta-band__inner{padding:2.4rem 0}
.cta-band h2{font-size:clamp(1.8rem,2.2vw,2.35rem)}
.site-footer{padding:3.15rem 0 1rem}
.site-footer__grid{gap:1.75rem}
.footer-brand img{width:112px;margin-bottom:.9rem}
.site-footer h2{font-size:1.35rem;line-height:1.08;margin:.35rem 0 .7rem}
.site-footer p{font-size:.72rem;line-height:1.55}
.footer-title{font-size:.58rem;letter-spacing:.09em}
.site-footer .footer-menu a{font-size:.66rem;line-height:1.4}
.footer-menu{gap:.38rem}
.site-footer__bottom{margin-top:2.2rem;padding-top:1rem;font-size:.57rem}
.newsletter-band{padding:1.5rem 0}
.newsletter-band__inner{gap:1.5rem}
.newsletter-form input,.newsletter-form button{font-size:.78rem}
@media(max-width:1100px){
 .hero__grid{gap:2.25rem}
 .hero__graphic{min-height:225px;padding:1.5rem 0 0}
}
@media(max-width:780px){
 .site-header__inner{min-height:64px}
 .brand .custom-logo,.brand__logo{width:124px;max-height:43px}
 .hero{padding:3.5rem 0}
 .hero h1{font-size:clamp(2.45rem,8.8vw,3.35rem);line-height:1.03}
 .section{padding:4rem 0}
 .section-heading h2,.split h2{font-size:clamp(1.9rem,6.8vw,2.5rem);line-height:1.07}
 .archive-hero h1,.entry-header h1,.project-hero > .container > h1.entry-header{font-size:clamp(2.3rem,7.5vw,3.1rem)}
 .content-card,.placeholder-card{padding:1.15rem}
 .content-card h3,.placeholder-card h3{font-size:1.24rem}
 .site-footer__grid{gap:1.5rem}
 .footer-brand img{width:108px}
}
@media(max-width:480px){
 .hero h1,.entry-header h1,.project-hero > .container > h1.entry-header{font-size:2.35rem}
}

/* ========================================================================== 
   PRÁXIS DESIGN SYSTEM V18 — v0.1.7 EDITORIAL TEMPLATE FOUNDATION
   The visual system is now treated as an ecosystem language. Project pages
   use proportion, breathing room and information hierarchy instead of a
   diagnostic field-by-field presentation.
   ========================================================================== */
.project-hero--editorial{padding:1rem 0 3.75rem}
.project-hero--editorial h1{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(2.5rem,3.9vw,4rem);line-height:1.04;letter-spacing:-.028em;max-width:900px;margin:.2rem 0 1rem}
.project-hero--editorial .entry-lead{max-width:720px;margin:0}
.project-meta{display:flex;gap:2.5rem;margin-top:1.75rem;padding-top:1rem;border-top:1px solid var(--pp-line);max-width:720px}
.project-meta div{display:flex;flex-direction:column;gap:.2rem}
.project-meta span{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-green)}
.project-meta strong{font-size:.9rem;font-weight:500;color:var(--pp-ink)}
.project-section{padding:clamp(4rem,5.5vw,5.75rem) 0}
.project-section--light{background:var(--pp-paper)}
.project-section--paper{background:var(--pp-paper-warm)}
.project-section--dark{background:var(--pp-ink);color:#fff}
.project-two-col{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:5rem}
.project-section__intro{max-width:430px}
.project-section__intro h2{font-family:'Newsreader',serif;font-size:clamp(2rem,2.7vw,2.75rem);line-height:1.06;font-weight:500;letter-spacing:-.018em;margin:.2rem 0 0}
.project-section__intro h2 em{font-style:italic;color:var(--pp-brown);font-weight:400}
.project-section--dark .project-section__intro h2 em{color:#d9a84e}
.project-section__body{max-width:720px}
.project-block{padding:0 0 1.8rem;margin:0 0 1.8rem;border-bottom:1px solid var(--pp-line-soft)}
.project-block:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.project-block h3{font-family:'Public Sans',sans-serif;font-size:.68rem;line-height:1.3;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .7rem;color:var(--pp-green)}
.project-block p{font-size:1rem;line-height:1.72;margin:0 0 .8rem;color:var(--pp-text)}
.project-block p:last-child{margin-bottom:0}
.project-section--dark .project-block{border-color:rgba(255,255,255,.18)}
.project-section--dark .project-block h3{color:#dfad56}
.project-section--dark .project-block p{color:#e6ecef}
.project-block--note{padding:1rem 1.2rem;background:rgba(194,139,56,.09);border-left:2px solid var(--pp-gold);border-bottom:0}
.project-original-content{border-top:1px solid var(--pp-line)}
@media(max-width:900px){
 .project-two-col{grid-template-columns:1fr;gap:2.25rem}
 .project-section__intro{max-width:720px}
}
@media(max-width:780px){
 .project-hero--editorial{padding:1rem 0 3rem}
 .project-hero--editorial h1{font-size:clamp(2.3rem,7.5vw,3.1rem)}
 .project-meta{gap:1.5rem;flex-wrap:wrap}
 .project-section{padding:4rem 0}
 .project-section__intro h2{font-size:clamp(1.9rem,6.8vw,2.5rem)}
 .project-block p{font-size:.98rem}
}

/* ========================================================================== 
   PRÁXIS DESIGN SYSTEM V18 — v0.1.8 SCALE / DENSITY / RHYTHM / IDENTITY
   Approved recalibration: editorial proportion before visual occupation.
   No CMS architecture or component identity changes in this layer.
   ========================================================================== */
:root{
  --pp-display:clamp(3rem,3.35vw,3.5rem);       /* 48–56 px */
  --pp-section-title:clamp(2.125rem,2.35vw,2.5rem); /* 34–40 px */
  --pp-section:clamp(3.5rem,4.6vw,4.75rem);
  --pp-container:1180px;
  --pp-reading:700px;
  --pp-header:68px;
}

/* ESCALA — hierarchy stays expressive, but no longer behaves like a poster. */
.site-header__inner{min-height:var(--pp-header);gap:1rem}
.brand .custom-logo,.brand__logo{width:122px;max-height:42px}
.menu{gap:.9rem}
.menu a{font-size:.66rem}
.header-cta{padding:.62rem .9rem;font-size:.66rem}
.hero{padding:clamp(3.5rem,4.7vw,4.75rem) 0}
.hero h1{font-size:var(--pp-display);line-height:1.02;max-width:690px;margin-bottom:1.05rem}
.hero__lead,.entry-lead{font-size:.98rem;line-height:1.68;max-width:640px}
.section-heading h2,.split h2{font-size:var(--pp-section-title);line-height:1.08;margin:.1rem 0 .7rem}
.archive-hero h1,.entry-header h1,.project-hero--editorial h1,.project-hero > .container > h1.entry-header{font-size:var(--pp-display);line-height:1.04;max-width:850px}
.publication-title{font-family:'Newsreader',serif;font-weight:500;font-size:var(--pp-display);line-height:1.04;letter-spacing:-.028em;margin:0;padding:0}
.entry-content h2{font-size:1.9rem;margin-top:2.8rem}
.entry-content h3{font-size:1.4rem;margin-top:2rem}
.entry-content blockquote{font-size:1.22rem}

/* DENSIDADE — more information per viewport, without crowding. */
.hero--home{min-height:480px}
.hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:2.75rem}
.hero__graphic{min-height:220px;padding-left:1.5rem}
.connection-line{height:96px;margin-bottom:.7rem}
.connection-line span{width:17px;height:17px}
.pp-journey{gap:.55rem}
.pp-journey__title{font-size:.58rem}
.pp-journey__text{font-size:.61rem;line-height:1.4}
.section-heading{max-width:740px;margin-bottom:1.65rem}
.split{gap:3rem}
.card-grid{gap:.8rem}
.content-card,.placeholder-card{padding:1.1rem;min-height:178px}
.content-card h3,.placeholder-card h3{font-size:clamp(1.25rem,1.45vw,1.45rem);line-height:1.12;margin:.08rem 0 .5rem}
.content-card p,.placeholder-card p{font-size:.79rem;line-height:1.5}
.content-card:after{right:-22px;top:-22px;width:68px;height:68px}
.card-link{font-size:.68rem}
.card-meta{font-size:.59rem;gap:.6rem}

/* RITMO — shorter vertical intervals and tighter paired-column reading. */
.section{padding:var(--pp-section) 0}
.actions{margin-top:1.5rem;gap:.75rem}
.button{min-height:40px;padding:.66rem 1rem;font-size:.68rem}
.process{margin-top:1.2rem}
.process__item{padding-right:.75rem}
.process__dot{width:32px;height:32px;margin-bottom:.7rem}
.process:before{top:16px}
.process__dot:before{width:7px;height:7px}
.process__number{font-size:.56rem}
.process__title{font-size:1rem;line-height:1.12}
.process__text{font-size:.69rem;line-height:1.42}
.archive-hero{padding:clamp(3.25rem,4.5vw,4.5rem) 0 3rem}
.archive-intro{gap:3rem;margin-bottom:2rem}
.entry-header{padding:.75rem 0 2rem}
.single-entry{padding-bottom:var(--pp-section)}
.structured-section,.taxonomy-section{margin-top:2.5rem;padding-top:1.25rem}
.structured-item,.taxonomy-item{padding:.85rem 0}
.entry-footer{padding:1.5rem 0;margin-top:3rem}

/* Project editorial template — keep the v0.1.7 structure, recalibrate occupation. */
.project-hero--editorial{padding:.75rem 0 2.75rem}
.project-meta{gap:2rem;margin-top:1.35rem;padding-top:.8rem;max-width:680px}
.project-meta strong{font-size:.84rem}
.project-section{padding:var(--pp-section) 0}
.project-two-col{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:3.25rem}
.project-section__intro{max-width:370px}
.project-section__intro h2{font-size:clamp(1.85rem,2.2vw,2.25rem);line-height:1.08}
.project-section__body{max-width:680px}
.project-block{padding-bottom:1.35rem;margin-bottom:1.35rem}
.project-block h3{font-size:.63rem;margin-bottom:.55rem}
.project-block p{font-size:.95rem;line-height:1.66;margin-bottom:.65rem}
.project-block--note{padding:.85rem 1rem}

/* IDENTITY — retain palette, serif/mono contrast and connection motif; reduce dominance. */
.publication-hero{padding:clamp(3rem,4.4vw,4.25rem) 0}
.publication-grid{gap:2.5rem}
.publication-cover{max-width:300px}
.cta-band{padding:0}
.cta-band__inner{padding:2rem 0}
.cta-band h2{font-size:clamp(1.65rem,2vw,2rem);line-height:1.08}
.newsletter-band{padding:1.2rem 0}
.newsletter-band__inner{gap:1.25rem}
.site-footer{padding:2.5rem 0 .9rem}
.site-footer__grid{grid-template-columns:1.2fr repeat(3,.68fr) 1fr;gap:1.4rem}
.footer-brand img{width:102px;margin-bottom:.7rem}
.site-footer h2{font-size:1.2rem;line-height:1.1;margin:.3rem 0 .55rem}
.site-footer p{font-size:.68rem;line-height:1.5}
.footer-title{font-size:.55rem}
.site-footer .footer-menu a{font-size:.62rem;line-height:1.35}
.footer-menu{gap:.3rem}
.site-footer__bottom{margin-top:1.65rem;padding-top:.8rem;font-size:.54rem}

@media(max-width:1100px){
  .hero__grid{gap:2rem}
  .hero__graphic{min-height:200px;padding:1.25rem 0 0}
  .project-two-col{gap:2.5rem}
}
@media(max-width:780px){
  :root{--pp-display:clamp(2.35rem,8vw,3rem);--pp-section-title:clamp(1.85rem,6.5vw,2.3rem)}
  .site-header__inner{min-height:62px}
  .brand .custom-logo,.brand__logo{width:118px;max-height:40px}
  .hero{padding:3.1rem 0}
  .hero h1{font-size:var(--pp-display);line-height:1.04}
  .hero__graphic{min-height:0}
  .section{padding:3.6rem 0}
  .section-heading{margin-bottom:1.5rem}
  .section-heading h2,.split h2{font-size:var(--pp-section-title)}
  .archive-hero h1,.entry-header h1,.project-hero--editorial h1,.project-hero > .container > h1.entry-header,.publication-title{font-size:var(--pp-display)}
  .content-card,.placeholder-card{padding:1rem;min-height:0}
  .content-card h3,.placeholder-card h3{font-size:1.22rem}
  .project-section{padding:3.6rem 0}
  .project-two-col{gap:1.8rem}
  .project-section__intro h2{font-size:var(--pp-section-title)}
  .site-footer__grid{gap:1.25rem}
}
@media(max-width:480px){
  :root{--pp-display:2.3rem}
  .hero h1,.entry-header h1,.project-hero--editorial h1,.project-hero > .container > h1.entry-header,.publication-title{font-size:var(--pp-display)}
}

/* ========================================================================== 
   PRÁXIS DESIGN SYSTEM V18 — v0.1.9 FOUNDATION FREEZE / TECHNICAL CLOSE
   Base system homologated in v0.1.8. These are local implementation fixes;
   global scale, density, rhythm and the four project sections remain frozen.
   ========================================================================== */

/* Sticky header: keep the theme header below the authenticated WordPress bar. */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* Project opening: local compression only; no typography rescaling. */
.project-hero--editorial{padding:.65rem 0 2.35rem}
.project-hero--editorial .project-meta{margin-top:1.15rem}
.project-hero--editorial .taxonomy-section{margin-top:1.7rem;padding-top:1rem}
.project-hero--editorial .taxonomy-item{padding:.65rem 0}

/* Complementary editorial content: rendered by single-projeto.php only when
   the WordPress main editor actually contains content. It is not a fifth
   structured project dimension and therefore uses a reading-column treatment. */
.project-original-content{padding:3.25rem 0;border-top:1px solid var(--pp-line);background:var(--pp-paper)}
.project-original-content .container--reading{max-width:760px}
.project-original-content .eyebrow{margin-bottom:1.2rem}
.project-original-content .entry-content{max-width:680px}
.project-original-content .entry-content>:first-child{margin-top:0}
.project-original-content .entry-content>:last-child{margin-bottom:0}

/* Footer: institutional rather than heroic. The image itself carries the
   footer-brand class, so target it directly (legacy selector targeted a child). */
.site-footer .footer-brand{display:block;width:88px;max-width:100%;height:auto;margin-bottom:.65rem}
.site-footer__grid{grid-template-columns:1.08fr repeat(3,.68fr) 1fr;column-gap:1.25rem}

@media(max-width:780px){
  .project-hero--editorial{padding:.65rem 0 2.2rem}
  .project-original-content{padding:2.75rem 0}
  .site-footer .footer-brand{width:84px}
}

/* ========================================================================== 
   PRÁXIS DESIGN SYSTEM V18 — v0.1.10 SOLUTION TEMPLATE
   First template built on the frozen V18 foundation. It shares the approved
   editorial grammar without duplicating the Project case-study semantics.
   ========================================================================== */
.solution-hero{background:var(--pp-paper-warm);padding:.65rem 0 2.5rem}
.solution-hero h1{font-family:'Newsreader',serif;font-weight:500;font-size:var(--pp-display);line-height:1.04;letter-spacing:-.028em;max-width:850px;margin:.2rem 0 1rem}
.solution-hero .entry-lead{margin:0;max-width:680px}
.solution-hero__summary{max-width:680px;margin-top:1.15rem;padding-top:.9rem;border-top:1px solid var(--pp-line)}
.solution-hero__summary p{font-size:.95rem;line-height:1.66;margin:0;color:var(--pp-text)}
.solution-hero .taxonomy-section{margin-top:1.7rem;padding-top:1rem}
.solution-hero .taxonomy-item{padding:.65rem 0}
.solution-section{padding:var(--pp-section) 0}
.solution-section--light{background:var(--pp-paper)}
.solution-section--paper{background:var(--pp-paper-warm)}
.solution-section--dark{background:var(--pp-ink);color:#fff}
.solution-two-col{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:3.25rem}
.solution-section__intro{max-width:370px}
.solution-section__intro h2{font-family:'Newsreader',serif;font-size:var(--pp-section-title);line-height:1.08;font-weight:500;letter-spacing:-.018em;margin:.2rem 0 0}
.solution-section__intro h2 em{font-style:italic;color:var(--pp-brown);font-weight:400}
.solution-section--dark .solution-section__intro h2 em{color:#d9a84e}
.solution-section__body{max-width:680px}
.solution-block{padding:0 0 1.35rem;margin:0 0 1.35rem;border-bottom:1px solid var(--pp-line-soft)}
.solution-block:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.solution-block h3{font-family:'Public Sans',sans-serif;font-size:.63rem;line-height:1.3;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .55rem;color:var(--pp-green)}
.solution-block p{font-size:.95rem;line-height:1.66;margin:0 0 .65rem;color:var(--pp-text)}
.solution-block p:last-child{margin-bottom:0}
.solution-section--dark .solution-block{border-color:rgba(255,255,255,.18)}
.solution-section--dark .solution-block h3{color:#dfad56}
.solution-section--dark .solution-block p{color:#e6ecef}
.solution-block--note{padding:.85rem 1rem;background:rgba(194,139,56,.09);border-left:2px solid var(--pp-gold);border-bottom:0}
.solution-original-content{padding:3.25rem 0;border-top:1px solid var(--pp-line);background:var(--pp-paper)}
.solution-original-content .container--reading{max-width:760px}
.solution-original-content .eyebrow{margin-bottom:1.2rem}
.solution-original-content .entry-content{max-width:680px}
.solution-original-content .entry-content>:first-child{margin-top:0}
.solution-original-content .entry-content>:last-child{margin-bottom:0}
.solution-next-step .cta-band__inner{border-top:0}
@media(max-width:900px){.solution-two-col{grid-template-columns:1fr;gap:2.5rem}.solution-section__intro{max-width:720px}}
@media(max-width:780px){.solution-hero{padding:.65rem 0 2.2rem}.solution-hero h1{font-size:var(--pp-display)}.solution-section{padding:3.6rem 0}.solution-two-col{gap:1.8rem}.solution-section__intro h2{font-size:var(--pp-section-title)}.solution-original-content{padding:2.75rem 0}}

/* ==========================================================
   v0.1.11 — Single Conhecimento
   Editorial reading template; inherits the homologated V18 scale.
   ========================================================== */
.container--reading-wide{width:min(calc(100% - 3rem),920px);margin-inline:auto}
.knowledge-hero{background:var(--pp-paper-warm);padding:.65rem 0 2.6rem;border-bottom:1px solid var(--pp-line)}
.knowledge-hero h1{font-family:'Newsreader',serif;font-size:var(--pp-display);font-weight:500;line-height:1.04;letter-spacing:-.028em;max-width:880px;margin:.2rem 0 1rem}
.knowledge-summary{max-width:760px;margin-top:1rem}
.knowledge-summary p{font-family:'Newsreader',serif;font-size:clamp(1.18rem,1.6vw,1.42rem);line-height:1.45;color:var(--pp-text);margin:0}
.knowledge-meta{display:flex;flex-wrap:wrap;gap:.45rem 1.35rem;margin-top:1.35rem;padding-top:.9rem;border-top:1px solid var(--pp-line);font-family:'IBM Plex Mono',monospace;font-size:.69rem;line-height:1.5;letter-spacing:.035em;text-transform:none;color:var(--pp-green)}
.knowledge-meta span+span:before{content:'·';margin-right:1.35rem;color:var(--pp-gold)}
.knowledge-hero .taxonomy-section{margin-top:1.65rem;padding-top:1rem}
.knowledge-hero .taxonomy-item{padding:.65rem 0}
.knowledge-body{padding:clamp(3.75rem,6vw,5.25rem) 0 3.5rem;background:var(--pp-paper)}
.knowledge-body .container--reading{max-width:760px}
.knowledge-body .entry-content{max-width:680px;margin-inline:auto}
.knowledge-body .entry-content>:first-child{margin-top:0}
.knowledge-body .entry-content>:last-child{margin-bottom:0}
.knowledge-references{max-width:680px;margin:2.75rem auto 0;padding-top:1.25rem;border-top:1px solid var(--pp-line)}
.knowledge-references .entry-content{font-size:.9rem;line-height:1.65}
.knowledge-references .entry-content p{margin:.55rem 0}
.knowledge-footer{background:var(--pp-paper);padding:0 0 2.15rem}
.knowledge-footer .container--reading{max-width:760px;border-top:1px solid var(--pp-line);padding-top:1.2rem}
@media(max-width:780px){
 .container--reading-wide{width:min(calc(100% - 2rem),920px)}
 .knowledge-hero{padding:.65rem 0 2.2rem}
 .knowledge-hero h1{font-size:var(--pp-display)}
 .knowledge-summary p{font-size:1.15rem}
 .knowledge-meta{gap:.4rem .8rem;font-size:.66rem}
 .knowledge-meta span+span:before{margin-right:.8rem}
 .knowledge-body{padding:3rem 0 2.8rem}
}

/* ==========================================================
   v0.1.14 — Single Formação
   Formação inherits the homologated V18 editorial grammar.
   ========================================================== */
.formation-hero{background:var(--pp-paper-warm);padding:.65rem 0 2.7rem;border-bottom:1px solid var(--pp-line)}
.formation-hero h1{font-family:'Newsreader',serif;font-size:var(--pp-display);font-weight:500;line-height:1.04;letter-spacing:-.028em;max-width:900px;margin:.2rem 0 1rem}
.formation-hero__summary{max-width:760px;margin-top:1rem}
.formation-hero__summary p{font-family:'Newsreader',serif;font-size:clamp(1.15rem,1.55vw,1.38rem);line-height:1.45;color:var(--pp-text);margin:.35rem 0}
.formation-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:1.55rem;border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line)}
.formation-meta>div{padding:.8rem 1.25rem .85rem 0;min-width:0}
.formation-meta>div+div{padding-left:1.25rem;border-left:1px solid var(--pp-line)}
.formation-meta span{display:block;font-family:'IBM Plex Mono',monospace;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pp-green);margin-bottom:.3rem}
.formation-meta strong{display:block;font-weight:500;font-size:.86rem;line-height:1.45;color:var(--pp-ink)}
.formation-hero .taxonomy-section{margin-top:1.65rem;padding-top:1rem}
.formation-hero .taxonomy-item{padding:.65rem 0}
.formation-section{padding:clamp(3.8rem,6vw,5.5rem) 0;border-bottom:1px solid var(--pp-line)}
.formation-section--light{background:var(--pp-paper)}
.formation-section--paper{background:var(--pp-paper-warm)}
.formation-section--dark{background:var(--pp-ink);color:#fff;border-bottom:0}
.formation-two-col{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:5.5rem;align-items:start}
.formation-section__intro{position:sticky;top:7.5rem}
.formation-section__intro h2{font-family:'Newsreader',serif;font-size:var(--pp-section-title);font-weight:500;line-height:1.05;letter-spacing:-.025em;margin:.2rem 0 0;max-width:430px}
.formation-section__intro h2 em{font-weight:400;color:var(--pp-brown)}
.formation-block{padding:0 0 1.15rem;margin:0 0 1.15rem;border-bottom:1px solid var(--pp-line-soft)}
.formation-block:last-child{margin-bottom:0}
.formation-block h3{font-family:'IBM Plex Mono',monospace;font-size:.65rem;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-green);margin:0 0 .65rem}
.formation-block p{margin:.45rem 0;line-height:1.65}
.formation-section--dark .eyebrow{color:var(--pp-green)}
.formation-section--dark .formation-section__intro h2 em{color:#d9a84e}
.formation-section--dark .formation-block{border-color:rgba(255,255,255,.18)}
.formation-section--dark .formation-block h3{color:#dfad56}
.formation-section--dark .formation-block p{color:#e6ecef}
.formation-block--note{padding:.85rem 1rem;background:rgba(194,139,56,.09);border-left:2px solid var(--pp-gold);border-bottom:0}
.formation-block--registration{padding-top:.2rem}
.formation-original-content{padding:3.25rem 0;border-top:1px solid var(--pp-line);background:var(--pp-paper)}
.formation-original-content .container--reading{max-width:760px}
.formation-original-content .entry-content{max-width:680px}
.formation-next-step .cta-band__inner{border-top:0}
/* Corrective carry-over from v0.1.12: if legacy metadata is injected before the
   canonical three items, suppress only the surplus leading items. */
.knowledge-meta>span:nth-last-child(n+4){display:none}
@media(max-width:900px){.formation-two-col{grid-template-columns:1fr;gap:2.4rem}.formation-section__intro{position:static;max-width:720px}}
@media(max-width:780px){.formation-hero{padding:.65rem 0 2.2rem}.formation-hero h1{font-size:var(--pp-display)}.formation-meta{grid-template-columns:1fr}.formation-meta>div{padding:.7rem 0}.formation-meta>div+div{padding-left:0;border-left:0;border-top:1px solid var(--pp-line)}.formation-section{padding:3.4rem 0}.formation-two-col{gap:1.7rem}.formation-section__intro h2{font-size:var(--pp-section-title)}.formation-original-content{padding:2.75rem 0}}


/* =========================================================
   v0.1.15 — Single Publicação
   Escopo local: arquitetura editorial do CPT publicacao.
   ========================================================= */
.publication-hero--editorial{padding:clamp(3rem,4.4vw,4.25rem) 0;background:var(--pp-ink);color:#fff}
.publication-hero--editorial .breadcrumbs{color:#d8e1e5}
.publication-hero--editorial .breadcrumbs a{color:#fff}
.publication-hero--editorial .eyebrow{color:#dfad56}
.publication-hero__subtitle{font-family:'Newsreader',serif;font-size:clamp(1.18rem,1.55vw,1.42rem);line-height:1.42;color:#d8e1e5;max-width:760px;margin-top:1.1rem}
.publication-hero__subtitle p{margin:.35rem 0}
.publication-hero__authors{font-weight:700;margin:1.1rem 0 0;color:#fff}
.publication-quick-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:1.8rem;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.publication-quick-meta>div{padding:.8rem 1rem .85rem 0}
.publication-quick-meta>div:nth-child(even){padding-left:1rem;border-left:1px solid rgba(255,255,255,.16)}
.publication-quick-meta span,.publication-edition-grid span{display:block;font-family:'IBM Plex Mono',monospace;font-size:.62rem;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:var(--pp-green)}
.publication-quick-meta strong{display:block;margin-top:.3rem;font-size:.86rem;line-height:1.45;color:#fff}
.publication-cover{display:block;width:100%;height:auto;max-width:300px;margin-inline:auto;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.publication-cover--placeholder{aspect-ratio:3/4;background:var(--pp-paper-warm);color:var(--pp-ink);display:grid;place-items:center;padding:2rem;font-family:'Newsreader',serif;font-size:1.8rem;line-height:1.05;text-align:center}
.publication-section{padding:clamp(3.8rem,6vw,5.5rem) 0;border-bottom:1px solid var(--pp-line)}
.publication-section--light{background:var(--pp-paper)}
.publication-section--paper{background:var(--pp-paper-warm)}
.publication-section--dark{background:var(--pp-ink);color:#fff;border-bottom:0}
.publication-two-col{display:grid;grid-template-columns:minmax(250px,.68fr) minmax(0,1fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.publication-section__intro{position:sticky;top:7.5rem}
.publication-section__intro h2{font-family:'Newsreader',serif;font-size:var(--pp-section-title);font-weight:500;line-height:1.05;letter-spacing:-.025em;margin:.2rem 0 0;max-width:430px}
.publication-section__intro h2 em{font-weight:400;color:var(--pp-brown)}
.publication-block{padding:0 0 1.35rem;margin:0 0 1.35rem;border-bottom:1px solid var(--pp-line)}
.publication-block:last-child{margin-bottom:0}
.publication-block h3{font-family:'IBM Plex Mono',monospace;font-size:.68rem;line-height:1.25;text-transform:uppercase;letter-spacing:.055em;color:var(--pp-green);margin:0 0 .7rem}
.publication-block p{margin:.42rem 0;line-height:1.65}
.publication-block--question{background:#eee6d7;border-left:2px solid #d59b2b;border-bottom:0;padding:1rem 1.15rem;margin-top:.35rem}
.publication-section--dark .eyebrow{color:var(--pp-green)}
.publication-section--dark .publication-section__intro h2 em{color:#d9a84e}
.publication-section--dark .publication-block{border-color:rgba(255,255,255,.18)}
.publication-section--dark .publication-block h3{color:#dfad56}
.publication-section--dark .publication-block p{color:#e6ecef}
.publication-edition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--pp-line);margin-bottom:1.6rem}
.publication-edition-grid>div{padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--pp-line)}
.publication-edition-grid>div:nth-child(even){padding-left:1rem;border-left:1px solid var(--pp-line)}
.publication-edition-grid strong{display:block;margin-top:.35rem;font-size:.95rem;line-height:1.5;color:var(--pp-ink)}
.publication-block--access{background:#eee6d7;border-left:2px solid #d59b2b;border-bottom:0;padding:1rem 1.15rem}
.publication-original-content{padding:clamp(3.5rem,5vw,5rem) 0;background:#fff}
.publication-original-content>.container{max-width:760px}
.publication-entry>.taxonomy-list{width:min(calc(100% - 3rem),var(--max));margin:0 auto;padding:0 0 3rem}
.publication-next-step{border-top:1px solid var(--pp-line)}
@media(max-width:900px){.publication-two-col{grid-template-columns:1fr;gap:2.4rem}.publication-section__intro{position:static;max-width:720px}}
@media(max-width:780px){.publication-hero--editorial{padding:2.6rem 0}.publication-grid{grid-template-columns:1fr;gap:2.25rem}.publication-hero__visual{order:-1}.publication-cover{max-width:230px}.publication-quick-meta,.publication-edition-grid{grid-template-columns:1fr}.publication-quick-meta>div:nth-child(even),.publication-edition-grid>div:nth-child(even){padding-left:0;border-left:0}.publication-quick-meta>div+div{border-top:1px solid rgba(255,255,255,.16)}.publication-section{padding:3.4rem 0}.publication-two-col{gap:1.7rem}.publication-section__intro h2{font-size:var(--pp-section-title)}.publication-original-content{padding:2.75rem 0}}


/* =========================================================
   v0.1.16 — Single Publicação | correções de homologação
   Escopo estritamente local ao CPT publicacao.
   ========================================================= */
@media(min-width:901px){
  .publication-two-col{grid-template-columns:minmax(230px,.52fr) minmax(0,1.38fr);gap:clamp(2.5rem,5vw,5rem)}
  .publication-section__intro h2{max-width:360px}
  .publication-section__body{min-width:0;max-width:none}
  .publication-section--dark .publication-section__body{max-width:none}
}
.publication-block p{overflow-wrap:anywhere}
.publication-edition-grid strong{overflow-wrap:normal;word-break:normal;hyphens:none}
.publication-taxonomies{padding-top:clamp(2.5rem,4vw,3.5rem);padding-bottom:clamp(2.5rem,4vw,3.5rem)}
.publication-taxonomies .taxonomy-section{margin-top:0}
.publication-taxonomies .taxonomy-item span{background:var(--paper-2);border:1px solid var(--line);padding:.25rem .55rem;margin:.15rem .2rem .15rem 0;display:inline-block;border-radius:999px;font-size:.8rem}


/* =========================================================
   v0.1.18 — Single Publicação | Aprofundamento
   Refinamento editorial local, sem alterar 01/02/03, classificação, CTA ou footer.
   ========================================================= */
.publication-deepening{background:#fff;padding:clamp(4rem,6vw,6rem) 0}
.publication-deepening>.publication-deepening__inner{max-width:980px}
.publication-deepening__header{max-width:760px;margin:0 auto clamp(1.8rem,3vw,2.6rem);padding-bottom:1.15rem;border-bottom:1px solid var(--pp-line)}
.publication-deepening__header .eyebrow{margin-bottom:.7rem}
.publication-deepening__header h2{font-family:'Newsreader',serif;font-size:clamp(2rem,3vw,2.7rem);font-weight:500;line-height:1.08;letter-spacing:-.02em;color:var(--pp-ink);margin:0}
.publication-deepening__content{max-width:760px;margin:0 auto;font-size:1rem;line-height:1.72;color:var(--pp-ink)}
.publication-deepening__content>*:first-child{margin-top:0}
.publication-deepening__content>*:last-child{margin-bottom:0}
.publication-deepening__content h2,.publication-deepening__content h3,.publication-deepening__content h4{font-family:'Newsreader',serif;color:var(--pp-ink);line-height:1.15;margin:2rem 0 .8rem}
.publication-deepening__content h2{font-size:1.65rem}.publication-deepening__content h3{font-size:1.35rem}.publication-deepening__content h4{font-size:1.12rem}
.publication-deepening__content p{margin:0 0 1.15rem}
.publication-deepening__content ul,.publication-deepening__content ol{margin:0 0 1.25rem;padding-left:1.35rem}
.publication-deepening__content blockquote{margin:1.7rem 0;padding:.9rem 0 .9rem 1.25rem;border-left:2px solid #d59b2b;font-family:'Newsreader',serif;font-size:1.18rem;line-height:1.5}
@media(max-width:780px){.publication-deepening{padding:3.2rem 0}.publication-deepening__header{margin-bottom:1.5rem}.publication-deepening__content{font-size:.98rem}}

/* =========================================================
   v0.1.19 — Single Biblioteca / Recurso
   Implementação local sobre o Design System V18 homologado.
   ========================================================= */
.resource-hero{padding:clamp(3rem,4.4vw,4.25rem) 0;background:var(--pp-ink);color:#fff}
.resource-hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.resource-hero .breadcrumbs{color:#d8e1e5}.resource-hero .breadcrumbs a{color:#fff}.resource-hero .eyebrow{color:#dfad56}
.resource-hero h1{font-family:'Newsreader',serif;font-size:var(--pp-display);font-weight:500;line-height:1.04;letter-spacing:-.028em;margin:0;max-width:820px}
.resource-hero__description{font-family:'Newsreader',serif;font-size:clamp(1.15rem,1.5vw,1.38rem);line-height:1.45;color:#d8e1e5;max-width:760px;margin-top:1.1rem}.resource-hero__description p{margin:.35rem 0}
.resource-cover{display:block;width:100%;height:auto;max-width:330px;margin-inline:auto;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.resource-quick-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.8rem;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.resource-quick-meta>div{padding:.8rem 1rem .85rem 0}.resource-quick-meta>div+div{padding-left:1rem;border-left:1px solid rgba(255,255,255,.16)}
.resource-quick-meta span,.resource-data-grid span{display:block;font-family:'IBM Plex Mono',monospace;font-size:.62rem;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:var(--pp-green)}
.resource-quick-meta strong{display:block;margin-top:.3rem;font-size:.86rem;line-height:1.45;color:#fff}
.resource-section{padding:clamp(3.8rem,6vw,5.5rem) 0;border-bottom:1px solid var(--pp-line)}.resource-section--light{background:var(--pp-paper)}.resource-section--paper{background:var(--pp-paper-warm)}.resource-section--dark{background:var(--pp-ink);color:#fff;border-bottom:0}
.resource-two-col{display:grid;grid-template-columns:minmax(230px,.52fr) minmax(0,1.38fr);gap:clamp(2.5rem,5vw,5rem);align-items:start}
.resource-section__intro{position:sticky;top:7.5rem}.resource-section__intro h2{font-family:'Newsreader',serif;font-size:var(--pp-section-title);font-weight:500;line-height:1.05;letter-spacing:-.025em;margin:.2rem 0 0;max-width:360px}.resource-section__intro h2 em{font-weight:400;color:var(--pp-brown)}
.resource-block{padding:0 0 1.35rem;margin:0 0 1.35rem;border-bottom:1px solid var(--pp-line)}.resource-block:last-child{margin-bottom:0}.resource-block h3,.resource-access h3{font-family:'IBM Plex Mono',monospace;font-size:.68rem;line-height:1.25;text-transform:uppercase;letter-spacing:.055em;color:var(--pp-green);margin:0 0 .7rem}.resource-block p{margin:.42rem 0;line-height:1.65}
.resource-section--dark .eyebrow{color:var(--pp-green)}.resource-section--dark .resource-section__intro h2 em{color:#d9a84e}.resource-section--dark .resource-block{border-color:rgba(255,255,255,.18)}.resource-section--dark .resource-block h3{color:#dfad56}.resource-section--dark .resource-block p{color:#e6ecef}
.resource-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--pp-line);margin-bottom:1.6rem}.resource-data-grid>div{padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--pp-line)}.resource-data-grid>div:nth-child(even){padding-left:1rem;border-left:1px solid var(--pp-line)}.resource-data-grid strong{display:block;margin-top:.35rem;font-size:.95rem;line-height:1.5;color:var(--pp-ink);overflow-wrap:anywhere}
.resource-access{background:#eee6d7;border-left:2px solid #d59b2b;padding:1rem 1.15rem;margin:0 0 1.35rem}.resource-access__actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.resource-block--rights{margin-top:1.2rem}
.resource-editorial{background:#fff;padding:clamp(4rem,6vw,6rem) 0}.resource-editorial>.resource-editorial__inner{max-width:980px}.resource-editorial__header{max-width:760px;margin:0 auto clamp(1.8rem,3vw,2.6rem);padding-bottom:1.15rem;border-bottom:1px solid var(--pp-line)}.resource-editorial__header .eyebrow{margin-bottom:.7rem}.resource-editorial__header h2{font-family:'Newsreader',serif;font-size:clamp(2rem,3vw,2.7rem);font-weight:500;line-height:1.08;letter-spacing:-.02em;color:var(--pp-ink);margin:0}.resource-editorial__content{max-width:760px;margin:0 auto;font-size:1rem;line-height:1.72;color:var(--pp-ink)}.resource-editorial__content>*:first-child{margin-top:0}.resource-editorial__content>*:last-child{margin-bottom:0}.resource-editorial__content p{margin:0 0 1.15rem}
.resource-taxonomies{padding-top:clamp(2.5rem,4vw,3.5rem);padding-bottom:clamp(2.5rem,4vw,3.5rem)}.resource-taxonomies .taxonomy-section{margin-top:0}.resource-next-step{border-top:1px solid var(--pp-line)}
@media(max-width:900px){.resource-two-col{grid-template-columns:1fr;gap:2.4rem}.resource-section__intro{position:static;max-width:720px}}
@media(max-width:780px){.resource-hero{padding:2.6rem 0}.resource-hero__grid{grid-template-columns:1fr;gap:2.25rem}.resource-hero__visual{order:-1}.resource-cover{max-width:240px}.resource-quick-meta,.resource-data-grid{grid-template-columns:1fr}.resource-quick-meta>div+div,.resource-data-grid>div:nth-child(even){padding-left:0;border-left:0}.resource-quick-meta>div+div{border-top:1px solid rgba(255,255,255,.16)}.resource-section{padding:3.4rem 0}.resource-two-col{gap:1.7rem}.resource-editorial{padding:3.2rem 0}.resource-access__actions{align-items:stretch}.resource-access__actions .button{width:100%;text-align:center}}

/* ========================================================================== 
   BIBLIOTECA PRÁXIS — ARCHIVE / HUB — v0.1.20
   Archive-only layer. Preserves the homologated single-recurso template.
   ========================================================================== */
.library-hero{padding:clamp(3.75rem,6vw,5.75rem) 0 3.5rem;background:var(--pp-ink);color:#fff}
.library-hero .breadcrumbs{color:rgba(255,255,255,.72);margin-bottom:1.35rem}.library-hero .breadcrumbs a{color:#fff}
.library-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.55fr);gap:5rem;align-items:end}
.library-hero h1{font-family:'Newsreader',serif;font-size:clamp(2.6rem,4vw,4rem);line-height:1.02;letter-spacing:-.025em;font-weight:500;margin:0}.library-hero h1 em{font-weight:400;color:#d9a84e}
.library-hero__intro{padding-bottom:.25rem}.library-hero__intro p{font-size:1rem;line-height:1.7;color:#e4ecef;max-width:520px;margin:0 0 1.35rem}.library-hero .button--outline{color:#fff;border-color:rgba(255,255,255,.55)}
.library-orientation{padding:clamp(3.5rem,5vw,5rem) 0;background:var(--pp-paper-warm);border-bottom:1px solid var(--pp-line)}
.library-orientation__grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:4.5rem}
.library-orientation__intro h2,.library-catalog__heading h2{font-family:'Newsreader',serif;font-size:clamp(1.95rem,2.45vw,2.65rem);font-weight:500;line-height:1.08;letter-spacing:-.018em;margin:.15rem 0 .9rem}.library-orientation__intro h2 em{font-weight:400;color:var(--pp-brown)}
.library-orientation__intro>p:last-child{font-size:.9rem;line-height:1.65;color:var(--pp-text);max-width:480px}
.library-taxonomy-groups{border-top:1px solid var(--pp-line)}.library-taxonomy-group{display:grid;grid-template-columns:120px 1fr;gap:1.25rem;padding:1.15rem 0;border-bottom:1px solid var(--pp-line)}.library-taxonomy-group .eyebrow{margin:.35rem 0 0}
.library-chips{display:flex;flex-wrap:wrap;gap:.45rem}.library-chips a{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;border:1px solid var(--pp-line);background:rgba(255,255,255,.36);padding:.42rem .65rem;font-size:.76rem;line-height:1.2}.library-chips a:hover{border-color:var(--pp-ink)}.library-chips span{font-family:'IBM Plex Mono',monospace;font-size:.58rem;opacity:.62}
.library-catalog{padding:clamp(4rem,5.5vw,5.75rem) 0;background:var(--pp-paper)}.library-catalog__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--pp-line)}.library-catalog__heading h2{margin-bottom:0}.library-catalog__count{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-text);margin:0 0 .35rem}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.library-card{position:relative;display:flex;flex-direction:column;min-height:260px;padding:1.35rem;border:1px solid var(--pp-line);background:rgba(255,255,255,.34)}.library-card__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.library-card__top .eyebrow{margin-bottom:.65rem}.library-card__meta{font-family:'IBM Plex Mono',monospace;font-size:.59rem;line-height:1.4;text-align:right;color:var(--pp-text);margin:.1rem 0 0}.library-card h3{font-family:'Newsreader',serif;font-size:1.42rem;line-height:1.08;letter-spacing:-.015em;font-weight:500;margin:.15rem 0 .65rem}.library-card h3 a{text-decoration:none}.library-card>p{font-size:.82rem;line-height:1.55;color:var(--pp-text);margin:.15rem 0 1rem}.library-card__terms{display:flex;flex-wrap:wrap;gap:.35rem;margin:.15rem 0 1rem}.library-card__terms span{font-size:.65rem;line-height:1.2;border-top:1px solid var(--pp-line);padding:.35rem 0;margin-right:.45rem;color:var(--pp-text)}.library-card .card-link{margin-top:auto}
.library-pagination{margin-top:2rem;padding-top:1.35rem;border-top:1px solid var(--pp-line)}.library-pagination .nav-links{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.library-pagination .page-numbers{font-size:.75rem;text-decoration:none;border:1px solid var(--pp-line);padding:.45rem .65rem}.library-pagination .current{background:var(--pp-ink);color:#fff;border-color:var(--pp-ink)}
.library-empty{max-width:680px;border-top:1px solid var(--pp-line);padding-top:1.5rem}.library-empty h3{font-family:'Newsreader',serif;font-size:1.8rem;font-weight:500;margin:.2rem 0 .5rem}.library-empty p:last-child{color:var(--pp-text)}
@media(max-width:1000px){.library-hero__grid,.library-orientation__grid{grid-template-columns:1fr;gap:2.25rem}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-hero__intro{max-width:650px}.library-taxonomy-group{grid-template-columns:100px 1fr}}
@media(max-width:680px){.library-hero{padding:3.25rem 0}.library-hero h1{font-size:clamp(2.3rem,9vw,3rem)}.library-grid{grid-template-columns:1fr}.library-taxonomy-group{grid-template-columns:1fr;gap:.5rem}.library-catalog__heading{align-items:flex-start;display:grid}.library-card{min-height:0}}
