/* Rivista CBI — frontend stylesheet */
:root{
  --green:#0C352A;
  --text:#303230;
  --muted:#6d706d;
  --paper:#fff;
  --line:#dedfdc;
  --soft:#f5f5f1;
  --content:960px;
  --serif:Baskerville,'Iowan Old Style','Palatino Linotype',Palatino,Georgia,'Times New Roman',serif;
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;text-shadow:none!important;box-shadow:none!important}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.64;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
strong,b{font-weight:500}
button,input,textarea{font-family:var(--sans)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.wrap{width:min(var(--content),calc(100% - 48px));margin-inline:auto}
.wide{width:min(1200px,100%);margin-inline:auto}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
.header-inner{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand img{width:252px;height:auto}
.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:17px}
.issn{font-size:11px;letter-spacing:.07em;color:var(--muted)}
.nav{display:flex;gap:31px;align-items:center;font-size:14px;font-weight:400;letter-spacing:.025em}
.nav a{text-transform:lowercase;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a.active{border-color:var(--green);color:var(--green)}
.mobile-toggle{display:none;border:0;background:none;font-size:24px;font-weight:300;color:var(--green);padding:8px}

/* Home hero */
.hero-home{height:820px;background:url('../images/hero-home.jpg') center/cover no-repeat;position:relative;color:#fff}
.hero-home:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.31),rgba(0,0,0,.035))}
.hero-copy{position:relative;z-index:2;padding-top:168px}
.hero-copy .lead{font-family:var(--sans);font-size:25px;line-height:1.52;text-transform:uppercase;font-style:italic;font-weight:300;letter-spacing:.018em;max-width:900px}
.hero-copy .download-label{margin-top:45px;font-size:17px;font-weight:300;letter-spacing:.015em}
.hero-copy .download-label strong{display:block;font-size:18px;text-transform:uppercase;letter-spacing:.055em;font-weight:400}

/* Buttons: deliberately quiet and editorial */
.btn,.download-pdf,.download-card,.newsletter button,.contact-form button{font-weight:400;letter-spacing:.065em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:2px;border:1px solid var(--green);padding:12px 24px;transition:background-color .18s,color .18s,border-color .18s;background:#fff;color:var(--green);font-size:13px}
.btn:hover{background:var(--green);color:#fff}
.hero-home .btn{border-color:#fff;background:transparent;color:#fff;margin-top:34px;min-width:330px;font-size:15px;padding:14px 26px}
.hero-home .btn:hover{background:#fff;color:var(--green);border-color:#fff}

/* Newsletter */
.newsletter{background:var(--green);color:#fff;padding:44px 0 36px}
.newsletter h2{font-family:var(--serif);font-size:19px;font-weight:400;margin:0 0 24px;letter-spacing:.01em}
.newsletter form{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end}
.field label{display:block;font-size:12px;font-style:italic;font-weight:300;margin-bottom:7px;letter-spacing:.02em}
.field input,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.68);border-radius:0;padding:10px 2px;background:transparent;color:#fff;font:inherit}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.7)}
.newsletter button{border:1px solid #fff;border-radius:2px;padding:11px 22px;background:transparent;color:#fff;font-size:12px}
.newsletter button:hover{background:#fff;color:var(--green)}

/* Intro */
.intro{padding:72px 0 50px}
.intro-primary{font-weight:400;text-align:justify;font-size:15px;line-height:1.76;letter-spacing:.005em}
.club-row{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:center;margin-top:44px}
.club-row img{width:218px}
.club-row p{font-style:italic;font-weight:300;text-align:justify;font-size:15px;line-height:1.76}

/* Issue */
.issue-mast{background:var(--green);color:#fff;padding:68px 0}
.issue-mast-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.issue-mast img{width:410px}
.issue-meta{text-align:right;font-weight:300}
.issue-meta .number{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:.01em}
.issue-meta .date{font-style:italic;font-size:12px;letter-spacing:.02em}
.section-bar{color:#fff;min-height:102px;display:flex;align-items:center}
.section-bar .wrap{font-family:var(--serif);font-size:29px;line-height:1.3;font-weight:400;letter-spacing:.005em}
.article-list{padding:52px 0 68px}
.article-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:40px;padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:30px}
.article-title{font-family:var(--serif);font-size:22px;line-height:1.34;font-weight:400}
.article-title:hover{color:var(--green)}
.article-author{font-size:13px;font-style:italic;font-weight:300;text-align:right;padding-top:5px;color:#555}
.download-pdf{display:inline-flex;border:1px solid var(--green);border-radius:2px;padding:8px 13px;font-size:10px;color:var(--green);margin-top:12px}
.download-pdf:hover{background:var(--green);color:#fff}

/* Archive CTA */
.archive-cta{background:var(--green);color:#fff;padding:62px 0 74px;text-align:center}
.archive-cta h2{font-family:var(--serif);font-size:30px;margin:0 0 10px;font-weight:400;letter-spacing:.015em}
.archive-cta p{margin:0 0 34px;font-size:14px;font-weight:300}
.archive-cta .btn{border-color:#fff;background:transparent;color:#fff;min-width:220px}
.archive-cta .btn:hover{background:#fff;color:var(--green)}

/* Editorial pages */
.page-lead{padding:78px 0 58px;font-family:var(--serif);font-size:29px;line-height:1.4;font-weight:400}
.page-lead strong{color:var(--green);font-weight:400}
.image-banner{height:360px;background-position:center;background-size:cover;position:relative}
.image-banner .overlay-title{position:absolute;inset:0;background:rgba(12,53,42,.68);display:flex;align-items:center;color:#fff}
.overlay-title h1{font-family:var(--serif);font-weight:400;font-size:39px;margin:0;letter-spacing:.01em}
.content{padding:60px 0 84px}
.content h2,.content h3{font-family:var(--serif);font-weight:400}
.content h2{font-size:30px;color:var(--green);margin:43px 0 20px}
.content h3{font-size:22px;margin:34px 0 15px}
.content p{font-size:15px;text-align:justify;margin:0 0 18px;line-height:1.74}
.content .names p{text-align:left;margin:0 0 7px}
.committee{line-height:1.8}
.downloads{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:38px 0}
.download-card{border:1px solid var(--green);border-radius:2px;padding:18px 20px;color:var(--green);font-size:12px}
.download-card small{display:block;font-weight:300;text-transform:none;letter-spacing:0;margin-top:6px;color:var(--muted)}
.download-card:hover{background:var(--green);color:#fff}
.download-card:hover small{color:rgba(255,255,255,.78)}
.ethics h3{color:var(--green);margin-top:44px}
.ethics p{line-height:1.78}
.cc-license{width:240px;margin:36px 0}
.stats{border-top:1px solid var(--line);margin-top:50px;padding-top:38px}
.stats h2{margin-top:0}
.stats-grid{display:grid;grid-template-columns:1fr auto;gap:10px 25px;max-width:720px}
.stats-grid div{padding:7px 0;border-bottom:1px solid #ecece9}

/* Archive page */
.archive-hero{background:var(--green);color:#fff;padding:76px 0;text-align:center}
.archive-hero h1{font-family:var(--serif);font-weight:400;font-size:42px;margin:0 0 20px;letter-spacing:.015em}
.archive-hero p{font-size:15px;font-weight:300;line-height:1.7}
.archive-hero p strong{font-weight:400}
.archive-hero .btn{border-color:#fff;background:transparent;color:#fff;margin-top:24px}
.archive-hero .btn:hover{background:#fff;color:var(--green)}
.archive-years{padding:72px 0 76px;background:#fff}
.year{margin-bottom:56px}
.year h2{font-family:var(--serif);font-size:33px;color:var(--green);font-weight:400;letter-spacing:.015em;margin-bottom:20px}
.issue-link{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--line);padding:18px 0;font-size:15px;font-weight:300}
.issue-link:last-child{border-bottom:1px solid var(--line)}
.issue-link strong{font-family:var(--serif);font-size:19px;font-weight:400;color:var(--green)}
.issue-link:hover span,.issue-link:hover strong{color:var(--green)}
.archive-categories{background:var(--green);color:#fff;padding:72px 0 84px}
.archive-categories-header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}
.archive-categories h2{font-family:var(--serif);font-size:29px;font-weight:400;margin:0;letter-spacing:.015em}
.archive-categories p{font-size:13px;font-weight:300;margin:0;max-width:430px;text-align:right;color:rgba(255,255,255,.76)}
.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px;margin:0}
.category-card{--category:#fff;min-height:82px;padding:20px 4px 18px;color:#fff;display:flex;align-items:center;font-family:var(--serif);font-size:19px;font-weight:400;line-height:1.25;border-top:3px solid var(--category);border-bottom:1px solid rgba(255,255,255,.13);background:transparent;transition:padding-left .18s,background-color .18s}
.category-card:hover{padding-left:12px;background:rgba(255,255,255,.035)}

/* Article */
.article-page .section-bar{margin-top:0}
.article-body{padding:62px 0 94px;max-width:860px}
.article-body h1{font-family:var(--serif);font-size:36px;line-height:1.28;font-weight:400;margin:0 0 22px;letter-spacing:.002em}
.article-body .author{font-size:17px;font-weight:300;margin:0 0 13px}
.article-body .doi{font-size:13px;font-style:italic;font-weight:300;margin-bottom:48px;color:var(--muted)}
.abstract-label{font-size:11px;font-weight:400;letter-spacing:.14em;margin:0 0 20px;text-transform:uppercase}
.abstract p{font-size:15px;text-align:justify;margin:0 0 18px;line-height:1.76}
.article-download{margin-top:38px}

/* Contact */
.contact-wrap{padding:78px 0;display:grid;grid-template-columns:1fr 1.25fr;gap:80px}
.contact-info h1{font-family:var(--serif);font-size:38px;font-weight:400;color:var(--green)}
.contact-info p{font-size:15px}
.contact-form label{display:block;font-size:12px;font-weight:300;margin:0 0 5px}
.contact-form input,.contact-form textarea{width:100%;padding:11px 2px;border:0;border-bottom:1px solid #aaa;border-radius:0;margin-bottom:18px;font:inherit;background:transparent}
.contact-form textarea{min-height:145px;border:1px solid #aaa;padding:12px}
.contact-form button{border:1px solid var(--green);background:transparent;color:var(--green);border-radius:2px;padding:12px 24px;font-size:12px}
.contact-form button:hover{background:var(--green);color:#fff}

/* Footer */
.site-footer{background:var(--green);color:#fff;padding:70px 0 26px}
.footer-top{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:62px}
.footer-logo{width:225px;margin-bottom:48px}
.footer-dev{width:200px;margin-bottom:48px}
.footer-col h3{font-family:var(--serif);font-size:16px;font-weight:400;margin:0 0 19px}
.footer-col a,.footer-col p{font-size:12px;font-weight:300;line-height:1.8;margin:0 0 6px}
.footer-col strong{font-weight:400}
.footer-col a:hover{text-decoration:underline;text-underline-offset:3px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:56px;padding-top:22px;font-size:11px;font-weight:300;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.78)}
.footer-cc{width:110px;filter:brightness(0) invert(1);opacity:.9}
.notice{background:var(--soft);padding:16px 20px;border-left:2px solid var(--green);font-size:13px;margin:25px 0}

@media(max-width:960px){
  .wrap{width:min(768px,calc(100% - 42px))}
  .header-inner{min-height:108px}.brand img{width:185px}.nav{gap:20px;font-size:13px}
  .hero-home{height:690px}.hero-copy{padding-top:126px}.hero-copy .lead{font-size:23px}
  .club-row{grid-template-columns:225px 1fr}.issue-mast img{width:350px}
  .category-grid{gap:0 28px}
}
@media(max-width:700px){
  .wrap{width:calc(100% - 40px)}
  .header-inner{min-height:76px}.brand img{width:178px}.header-right{gap:0}.issn{display:none}.mobile-toggle{display:block}
  .nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 20px;flex-direction:column;align-items:flex-start;gap:11px}
  .nav.open{display:flex}
  .hero-home{height:590px}.hero-copy{padding-top:76px}.hero-copy .lead{font-size:20px;line-height:1.55}.hero-copy .download-label{font-size:15px;margin-top:34px}.hero-home .btn{min-width:0;width:100%;font-size:13px}
  .newsletter{padding:40px 0}.newsletter form{grid-template-columns:1fr}
  .intro{padding:44px 0}.intro-primary{font-size:15px;text-align:left}.club-row{grid-template-columns:1fr;gap:27px}.club-row p{text-align:left}
  .issue-mast{padding:46px 0}.issue-mast-inner{align-items:flex-start}.issue-mast img{width:205px}.issue-meta .number{font-size:20px}
  .section-bar{min-height:86px}.section-bar .wrap{font-size:24px}
  .article-list{padding:36px 0 50px}.article-row{grid-template-columns:1fr;gap:10px}.article-author{text-align:left}
  .archive-cta h2{font-size:27px}.page-lead{font-size:24px;padding:47px 0 40px}
  .image-banner{height:265px}.overlay-title h1{font-size:31px}
  .content{padding:40px 0 58px}.content p{font-size:15px;text-align:left}.downloads{grid-template-columns:1fr}
  .archive-years{padding:54px 0 58px}.issue-link{flex-direction:column;align-items:flex-start;gap:2px}
  .archive-categories{padding:56px 0 65px}.archive-categories-header{display:block}.archive-categories p{text-align:left;margin-top:10px}.category-grid{grid-template-columns:1fr}.category-card{min-height:72px;font-size:18px}
  .article-body{padding:42px 0 68px}.article-body h1{font-size:29px}.abstract p{text-align:left}
  .contact-wrap{grid-template-columns:1fr;gap:38px;padding:52px 0}
  .footer-top{grid-template-columns:1fr;gap:36px}.footer-logo{margin-bottom:15px}.footer-dev{margin-bottom:15px}.footer-bottom{flex-direction:column}
}


/* Authors page — editorial refinement */
.authors-page{background:#fff}
.authors-page .eyebrow{margin:0 0 13px;font-family:var(--sans);font-size:10px;line-height:1.2;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.authors-intro{padding:78px 0 70px;border-bottom:1px solid var(--line)}
.authors-intro-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:86px;align-items:end}
.authors-intro h1{font-family:var(--serif);font-size:45px;line-height:1.05;font-weight:400;letter-spacing:.005em;margin:0;color:var(--text)}
.authors-intro-copy{max-width:570px;padding-bottom:2px}
.authors-intro-copy p{font-size:14px;line-height:1.75;font-weight:300;margin:0 0 15px;color:#4f524f}
.authors-intro-copy a{color:var(--green);border-bottom:1px solid rgba(12,53,42,.35)}
.authors-intro-copy .submission-line{margin-bottom:0;color:var(--muted)}
.authors-intro-copy .submission-email{font-family:var(--serif);font-size:18px;font-weight:400;color:var(--green);border-bottom:0;margin-left:5px}

.authors-guidelines{padding:62px 0 66px}
.authors-guidelines-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:86px;align-items:start}
.authors-section-heading h2,.policy-block h2,.authors-stats h2{font-family:var(--serif);font-size:28px;line-height:1.2;font-weight:400;margin:0 0 17px;color:var(--text)}
.authors-section-heading>p:last-child{font-size:13px;line-height:1.7;font-weight:300;color:var(--muted);max-width:330px;margin:0}
.guide-links{border-top:1px solid var(--line)}
.guide-link{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:19px 1px 18px;border-bottom:1px solid var(--line);transition:padding-left .18s,color .18s}
.guide-link:hover{padding-left:8px;color:var(--green)}
.guide-link>span:first-child{font-family:var(--serif);font-size:18px;line-height:1.25;font-weight:400}
.guide-link small{display:block;font-family:var(--sans);font-size:10px;line-height:1.2;font-weight:400;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.guide-format{font-size:10px;font-weight:400;letter-spacing:.11em;color:var(--green);white-space:nowrap}
.authors-image{height:345px;background-position:center 48%}

.authors-policies{padding:70px 0 74px}
.authors-policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.policy-block{padding-top:4px}
.policy-block p:not(.eyebrow){font-size:13.5px;line-height:1.78;font-weight:300;color:#505350;margin:0}
.policy-block strong{font-weight:400;color:var(--text)}
.license-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px;color:var(--green);font-size:11px;letter-spacing:.02em}
.authors-page .cc-license{width:183px;height:auto;margin:0}
.transparency-block{border-left:1px solid var(--line);padding-left:64px}

.authors-stats{background:var(--soft);padding:68px 0 78px;border-top:1px solid #ecece7}
.stats-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}
.authors-stats h2{margin-bottom:0}
.stats-issue{margin:0 0 3px;font-family:var(--serif);font-size:18px;font-weight:400;color:var(--green)}
.stats-list{margin:0;border-top:1px solid #d8d9d5}
.stats-list>div{display:grid;grid-template-columns:1fr 50px;gap:25px;padding:13px 0;border-bottom:1px solid #d8d9d5}
.stats-list dt{font-size:12.5px;line-height:1.55;font-weight:300;color:#555855}
.stats-list dd{margin:0;text-align:right;font-family:var(--serif);font-size:17px;line-height:1.3;color:var(--green)}

@media(max-width:700px){
  .authors-intro{padding:48px 0 45px}.authors-intro-grid,.authors-guidelines-grid,.authors-policy-grid{grid-template-columns:1fr;gap:30px}
  .authors-intro h1{font-size:36px}.authors-intro-copy{max-width:none}.authors-intro-copy p{font-size:13.5px}.authors-intro-copy .submission-email{display:block;margin:4px 0 0;font-size:17px}
  .authors-guidelines{padding:46px 0 50px}.authors-section-heading h2,.policy-block h2,.authors-stats h2{font-size:25px}
  .guide-link{padding:16px 0}.guide-link>span:first-child{font-size:17px}.authors-image{height:235px}
  .authors-policies{padding:48px 0 52px}.transparency-block{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}
  .authors-stats{padding:48px 0 56px}.stats-heading{display:block}.stats-issue{margin-top:12px}.stats-list>div{grid-template-columns:1fr 32px;gap:15px}
}


/* =========================================================
   Authors, archive and footer refinements
   ========================================================= */

/* Authors: smaller, quieter long-form text while preserving exact source wording */
.authors-intro-copy p{font-size:13.5px;line-height:1.82;color:#50534f}
.authors-intro-copy .submission-line{margin-top:23px}
.authors-intro-copy .submission-email{margin-left:0;font-size:17px;letter-spacing:.005em}
.authors-section-heading>p:last-child,.policy-block>p:not(.eyebrow){font-size:13.5px;line-height:1.82;color:#555854}
.policy-block>p:not(.eyebrow){max-width:520px}
.authors-policy-grid{align-items:start}
.license-link{gap:10px;margin-top:25px;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase}
.cc-badge-surface{display:inline-flex;align-items:center;background:#fff;padding:9px 11px;border:1px solid #e2e2dd}
.authors-page .cc-license{display:block;width:170px;height:auto;margin:0;filter:none!important;opacity:1!important}
.stats-list dt{font-size:12.5px;line-height:1.6}

/* Archive: paper index on institutional green; category color is a full tab, not a line or a colored box */
.archive-categories{padding:76px 0 86px}
.archive-categories-header{margin-bottom:28px}
.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.28)}
.category-card{position:relative;min-height:88px;padding:0 22px 0 0;background:#f7f6f1;color:var(--text);display:grid;grid-template-columns:12px 46px 1fr 20px;align-items:center;border:0;font-family:var(--serif);font-size:18px;line-height:1.25;transition:background-color .16s;color .16s;padding-left:0}
.category-card::before{content:'';align-self:stretch;width:12px;background:var(--category);grid-column:1;grid-row:1}
.category-number{grid-column:2;grid-row:1;padding-left:15px;font-family:var(--sans);font-size:9px;letter-spacing:.12em;color:#8a8d88}
.category-name{grid-column:3;grid-row:1;padding:18px 12px 18px 10px}
.category-arrow{grid-column:4;grid-row:1;font-family:var(--sans);font-size:13px;font-weight:300;color:#8a8d88;transition:transform .16s,color .16s}
.category-card:hover{padding-left:0;background:#fff;color:var(--green)}
.category-card:hover .category-arrow{transform:translate(2px,-2px);color:var(--green)}

/* Footer: one source of truth; no duplicate sitemap/contact/journal copy */
.site-footer{background:var(--green);padding:0;color:#fff}
.footer-main{display:grid;grid-template-columns:1.25fr .65fr 1.05fr;gap:76px;padding-top:68px;padding-bottom:58px;align-items:start}
.footer-identity .footer-logo{width:220px;margin:0 0 29px}
.footer-description{max-width:325px;margin:0 0 17px;font-size:12.5px;line-height:1.75;font-weight:300;color:rgba(255,255,255,.86)}
.footer-description a{border-bottom:1px solid rgba(255,255,255,.35)}
.footer-issn{margin:0;font-family:var(--serif);font-size:15px;letter-spacing:.025em;color:#fff}
.footer-label{display:block;margin:0 0 17px!important;font-family:var(--sans)!important;font-size:9px!important;line-height:1.2!important;font-weight:400!important;letter-spacing:.16em!important;text-transform:uppercase;color:rgba(255,255,255,.58)!important}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-nav a{font-family:var(--serif);font-size:15px;line-height:1.55;font-weight:400;border-bottom:1px solid transparent}
.footer-nav a:hover{border-bottom-color:rgba(255,255,255,.55)}
.footer-contact p{margin:0 0 14px;font-size:11.5px;line-height:1.72;font-weight:300;color:rgba(255,255,255,.82)}
.footer-contact>a{display:block;width:max-content;max-width:100%;font-size:11.5px;line-height:1.75;font-weight:300;border-bottom:1px solid transparent}
.footer-contact>a:hover{border-bottom-color:rgba(255,255,255,.55)}
.footer-contact .footer-submit{margin-top:18px;font-family:var(--serif);font-size:14px;font-weight:400}
.footer-secondary{border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.045)}
.footer-secondary-inner{min-height:126px;display:grid;grid-template-columns:1.25fr 1fr auto;gap:54px;align-items:center;padding-top:20px;padding-bottom:20px}
.footer-license{display:flex;align-items:center;gap:17px;width:max-content;max-width:100%}
.footer-cc-surface{display:flex;align-items:center;background:#fff;padding:6px 8px;border-radius:1px}
.footer-cc-surface img{display:block;width:116px;height:auto;filter:none!important;opacity:1!important}
.footer-license>span:last-child{display:flex;flex-direction:column;gap:2px}
.footer-license strong{font-family:var(--serif);font-size:13px;font-weight:400;line-height:1.3}
.footer-license small{font-size:9.5px;font-weight:300;letter-spacing:.02em;color:rgba(255,255,255,.68)}
.footer-credits{font-size:10px;line-height:1.65;font-weight:300;color:rgba(255,255,255,.72)}
.footer-credits .footer-label{margin-bottom:6px!important}
.footer-dev-link{justify-self:end}
.footer-dev{width:145px;margin:0;max-height:70px}
.footer-bottom{margin:0;padding-top:18px;padding-bottom:20px;border:0;display:block;font-size:10px;line-height:1.4;font-weight:300;color:rgba(255,255,255,.56)}

@media (max-width:860px){
  .category-grid{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr;gap:44px 60px;padding-top:52px;padding-bottom:45px}
  .footer-identity{grid-column:1/-1}
  .footer-secondary-inner{grid-template-columns:1fr 1fr;gap:30px}
  .footer-dev-link{display:block;justify-self:start}
}
@media (max-width:520px){
  .authors-intro-copy p,.authors-section-heading>p:last-child,.policy-block>p:not(.eyebrow){font-size:13px;line-height:1.78}
  .archive-categories{padding:56px 0 62px}
  .category-card{min-height:78px;grid-template-columns:10px 39px 1fr 18px;font-size:16px;padding-right:15px}
  .category-card::before{width:10px}.category-number{padding-left:11px}.category-name{padding:15px 8px}
  .footer-main{grid-template-columns:1fr;gap:34px;padding-top:46px;padding-bottom:40px}
  .footer-identity{grid-column:auto}.footer-identity .footer-logo{width:190px}
  .footer-secondary-inner{grid-template-columns:1fr;gap:24px;padding-top:28px;padding-bottom:28px}
  .footer-license{align-items:flex-start}.footer-credits{max-width:300px}
}

/* =========================================================
   Unified footer grid and content separation
   ========================================================= */
:root{--footer-green:#082a22;--footer-grid:minmax(0,1.25fr) minmax(145px,.65fr) minmax(0,1.05fr)}

/* One footer component on every page. The soft top rule also creates a
   deliberate break after green sections such as the Archivio index. */
.site-footer{
  background:var(--footer-green);
  border-top:8px solid var(--soft);
}
.footer-main{
  grid-template-columns:var(--footer-grid);
  gap:76px;
}
.footer-secondary{
  background:rgba(0,0,0,.055);
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.footer-secondary-inner{
  grid-template-columns:var(--footer-grid);
  gap:76px;
  min-height:126px;
}
.footer-license{justify-self:start}
.footer-credits{justify-self:start;max-width:180px}
.footer-dev-link{justify-self:start}
.footer-dev{width:145px}

/* Copyright is intentionally centred: it no longer reads as an element
   accidentally stuck to the left edge, especially on narrow screens. */
.footer-bottom{
  text-align:center;
  padding-top:20px;
  padding-bottom:22px;
  letter-spacing:.025em;
}

/* The archive thematic area remains institutional green; the footer is a
   different, deeper green and is always separated by the same soft rule. */
.archive-categories{border-bottom:0}

@media (max-width:860px){
  .footer-main{grid-template-columns:1fr 1fr;gap:44px 60px}
  .footer-secondary-inner{grid-template-columns:1fr 1fr;gap:30px 60px}
  .footer-license,.footer-credits{justify-self:start}
}
@media (max-width:520px){
  .site-footer{border-top-width:6px}
  .footer-main,.footer-secondary-inner{grid-template-columns:1fr;gap:30px}
  .footer-bottom{padding-left:20px;padding-right:20px}
}


/* =========================================================
   Rivista: scientific committee editorial grid
   ========================================================= */
.names .committee-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:42px;
  row-gap:0;
  margin:8px 0 58px;
  border-top:1px solid var(--line);
}
.committee-member{
  min-width:0;
  padding:15px 0 14px;
  border-bottom:1px solid var(--line);
}
.committee-name{
  font-family:var(--serif);
  font-size:15.5px;
  line-height:1.28;
  font-weight:400;
  color:var(--text);
  letter-spacing:.003em;
}
.committee-affiliation{
  margin-top:5px;
  font-family:var(--sans);
  font-size:11px;
  line-height:1.48;
  font-weight:300;
  color:var(--muted);
}
@media(max-width:860px){
  .names .committee-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px}
}
@media(max-width:520px){
  .names .committee-grid{grid-template-columns:1fr;margin-bottom:44px}
  .committee-member{padding:13px 0 12px}
  .committee-name{font-size:15px}
}


/* =========================================================
   Shared editorial grid system
   A shared visual grammar for people and structured data.
   ========================================================= */
.publication-meta{
  display:flex;align-items:baseline;gap:12px;margin:0 0 42px!important;
  padding-bottom:13px;border-bottom:1px solid var(--line);color:var(--muted)
}
.publication-meta-label{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:400}
.publication-meta-value{font-family:var(--serif);font-size:17px;color:var(--green);font-weight:400;letter-spacing:.02em}

.names>h2{margin-top:58px;margin-bottom:24px}
.names>h2:first-of-type{margin-top:0}
.people-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:42px;row-gap:0;margin:0 0 58px
}
.person-entry{
  min-width:0;padding:15px 0 14px;border-top:1px solid #deded9
}
.person-name{
  font-family:var(--serif);font-size:16px;line-height:1.28;font-weight:400;
  color:var(--text);letter-spacing:.004em
}
.person-detail{
  margin-top:5px;font-size:11.5px;line-height:1.48;font-weight:300;color:#777974
}
.direction-grid .person-name{font-size:17px}
.direction-grid .person-detail{color:var(--green);font-style:italic}
.committee-grid{margin-bottom:62px}
.editorial-board{margin-bottom:54px}
.people-group+.people-group{margin-top:34px}
.people-group-title{
  margin:0 0 7px!important;font-family:var(--sans)!important;font-size:10.5px!important;
  line-height:1.4!important;letter-spacing:.11em;text-transform:uppercase;font-weight:400!important;color:var(--muted)!important
}
.compact-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-bottom:0}
.editorial-team-grid{margin-bottom:0}

/* Contacts use the same editorial rhythm without becoming a card UI. */

@media(max-width:900px){
  .people-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px}
  .compact-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .publication-meta{margin-bottom:32px!important}
  .names>h2{margin-top:44px;margin-bottom:18px}
  .people-grid,.compact-people-grid{grid-template-columns:1fr;margin-bottom:44px}
  .person-entry{padding:13px 0 12px}
  .person-name,.direction-grid .person-name{font-size:15.5px}
  .person-detail{font-size:11px}
  .people-group+.people-group{margin-top:26px}
}

/* =========================================================
   Grid discipline and simplified contacts
   ========================================================= */

/* Every people list now shares the exact same column geometry.
   Older grid borders are neutralised to avoid doubled/overlapping rules. */
.names .people-grid,
.names .committee-grid,
.names .compact-people-grid,
.names .editorial-team-grid{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:42px;
  row-gap:0;
  margin:0 0 58px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  align-items:stretch;
}
.names .person-entry,
.names .committee-member{
  min-width:0;
  height:100%;
  padding:15px 0 14px;
  border:0!important;
  border-top:1px solid var(--line)!important;
  margin-top:-1px;
  box-sizing:border-box;
}
/* The first visual row uses the grid's own top rule. */
.names .people-grid > .person-entry:nth-child(-n+3){border-top:0!important;margin-top:0}

.names>h2{
  margin-top:60px;
  margin-bottom:24px;
}
.names>h2:first-of-type{margin-top:0}
.editorial-board{margin:0 0 58px}
.people-group{margin:0}
.people-group+.people-group{margin-top:36px}
.people-group-title{
  margin:0 0 12px!important;
  padding:0;
}
/* Coordination and Redazione deliberately use the same three guides. */
.compact-people-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.editorial-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Contacts: return to a calm two-part information block instead of a ledger. */
.contact-wrap{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:96px;
  align-items:start;
}
.contact-info h1{margin:0 0 48px}
.contact-simple{max-width:440px}
.contact-primary{
  padding:0 0 30px;
  margin:0 0 30px;
  border-bottom:1px solid var(--line);
}
.contact-kicker{
  margin:0 0 7px!important;
  font-size:10.5px!important;
  line-height:1.4!important;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:400!important;
}
.contact-main-email{
  display:inline-block;
  font-family:var(--serif);
  font-size:22px;
  line-height:1.35;
  font-weight:400;
  color:var(--green);
  border-bottom:0;
  text-decoration:none;
  transition:opacity .18s ease;
}
.contact-main-email:hover{opacity:.68}
.contact-address-block{font-size:13.5px;line-height:1.72;color:var(--muted);font-weight:300}
.contact-publisher{margin:0 0 18px!important;font-size:13.5px!important;line-height:1.72!important}
.contact-publisher span{font-family:var(--serif);font-size:15px;color:var(--text);font-weight:400}
.contact-address-block address{font-style:normal;margin:0 0 18px;color:var(--text)}
.contact-secondary-email{color:var(--green);border-bottom:0;text-decoration:none;transition:opacity .18s ease}
.contact-secondary-email:hover{opacity:.68}

@media(max-width:900px){
  .names .people-grid,
  .names .committee-grid,
  .names .compact-people-grid,
  .names .editorial-team-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:34px;
  }
  .names .people-grid > .person-entry:nth-child(-n+3){border-top:1px solid var(--line)!important;margin-top:-1px}
  .names .people-grid > .person-entry:nth-child(-n+2){border-top:0!important;margin-top:0}
  .contact-wrap{grid-template-columns:1fr;gap:54px}
  .contact-simple{max-width:620px}
}
@media(max-width:560px){
  .names .people-grid,
  .names .committee-grid,
  .names .compact-people-grid,
  .names .editorial-team-grid{
    grid-template-columns:1fr!important;
    margin-bottom:44px;
  }
  .names .people-grid > .person-entry:nth-child(-n+2){border-top:1px solid var(--line)!important;margin-top:-1px}
  .names .people-grid > .person-entry:first-child{border-top:0!important;margin-top:0}
  .people-group+.people-group{margin-top:30px}
  .contact-info h1{margin-bottom:34px}
  .contact-main-email{font-size:19px}
}

/* Regular row rhythm: no negative border overlaps. */
.names .person-entry,
.names .committee-member{margin-top:0!important}
.names .people-grid > .person-entry:nth-child(-n+3),
.names .people-grid > .person-entry:nth-child(-n+2),
.names .people-grid > .person-entry:first-child{margin-top:0!important}
.direction-grid .person-entry,
.compact-people-grid .person-entry,
.editorial-team-grid .person-entry{min-height:64px}
.committee-grid .person-entry{min-height:76px}
@media(max-width:560px){
  .direction-grid .person-entry,
  .compact-people-grid .person-entry,
  .editorial-team-grid .person-entry,
  .committee-grid .person-entry{min-height:0}
}

/* Full historical archive */
.category-intro{padding:52px 0 16px;border-bottom:1px solid var(--line)}
.category-intro h1{font-family:var(--serif);font-weight:400;font-size:31px;line-height:1.2;margin:8px 0 10px;color:var(--green)}
.category-intro p:last-child{font-size:13px;color:var(--muted);margin:0}
.category-article-list{padding-top:32px}.article-issue-meta{margin-top:7px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#858985}
.article-context{margin:0 0 24px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#777}.article-context a{border-bottom:1px solid #c8cbc8}
.privacy-content{max-width:820px}.privacy-content p{font-size:13.5px;line-height:1.75;text-align:left}

/* Form feedback */
.form-status{grid-column:1/-1;min-height:1.3em;margin:10px 0 0;font-size:12px;font-weight:300;line-height:1.45;letter-spacing:.01em}
.form-status:empty{display:none}
.form-status.is-pending{opacity:.72}
.form-status.is-success{opacity:.92}
.form-status.is-error{opacity:.92}
.newsletter .form-status{color:#fff}
.contact-form .form-status{color:var(--green)}
.contact-form .form-status.is-error{color:#7a2f2f}
form[data-cbi-form] button:disabled{opacity:.55;cursor:wait}

/* Very small screens: keep issue masthead readable without compression. */
@media(max-width:520px){
  .issue-mast-inner{flex-direction:column;gap:18px}
  .issue-meta{text-align:left}
  .issue-mast img{width:min(205px,100%)}
}

/* B2 bilingual abstracts — progressive enhancement */
.abstract-bilingual .abstract-language-switch{
  display:none;
  align-items:center;
  gap:10px;
  margin:0 0 22px;
}
.abstract-bilingual.is-enhanced .abstract-language-switch{display:flex}
.abstract-language-button{
  appearance:none;
  border:0;
  border-bottom:1px solid transparent;
  background:transparent;
  color:var(--muted);
  padding:3px 0;
  font-family:var(--sans);
  font-size:10.5px;
  line-height:1.3;
  font-weight:400;
  letter-spacing:.11em;
  text-transform:uppercase;
  cursor:pointer;
}
.abstract-language-button:hover,
.abstract-language-button[aria-pressed="true"]{
  color:var(--green);
  border-bottom-color:var(--green);
}
.abstract-language-separator{
  color:var(--muted);
  font-size:11px;
  line-height:1;
}
.abstract-language-label{
  margin:0 0 10px;
  font-family:var(--sans);
  font-size:10px;
  line-height:1.3;
  font-weight:400;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--muted);
}
.abstract-bilingual.is-enhanced .abstract-language-label{display:none}
.abstract-language-panel[hidden]{display:none}

@media(max-width:700px){
  .abstract-bilingual .abstract-language-switch{margin-bottom:18px}
}
