/* constantinduran.com — shared stylesheet for all pages
   Typefaces are SELF-HOSTED from /fonts/ — nothing is requested from Google. */

/* ---- Self-hosted typefaces (SIL Open Font License) ---- */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-sans-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/instrument-sans-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/instrument-sans-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/instrument-sans-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');}

:root{
  --navy:#14243F;--navy-2:#1D3252;--burgundy:#722030;--burgundy-2:#8A2A3B;
  --white:#FFFFFF;--grey-50:#F4F5F7;--grey-100:#ECEEF1;--grey-200:#DCE0E6;
  --ink:#1B2434;--muted:#5B6472;--soft:#41505F;
  /* secondary palette — publication pages, available site-wide */
  --panel:#EDF1F5;--panel-2:#E1E7EF;--hair:#D5DDE7;--petrol:#234E5A;--stone:#6B7787;
  --sans:"Instrument Sans","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--grey-50);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--burgundy);outline-offset:3px;}
.sp-reg a:hover{opacity:.72;}

/* ---- Masthead ---- */
.sp-reg{background:var(--grey-50);--gutter:max(46px,calc((100% - 1280px) / 2 + 46px));}
.sp-reg .head{background:var(--navy);color:#fff;padding:52px var(--gutter) 40px;position:relative;}
.sp-reg .head::before{content:"";position:absolute;left:var(--gutter);top:0;width:56px;height:4px;background:var(--burgundy);}
.sp-reg .head .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:34px;}
.sp-reg .head .top .mark{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:#9FB0C8;}
.sp-reg .head .top .mark a{color:#9FB0C8;}
.sp-reg .head .top .mark a:hover{color:#fff;opacity:1;}
.sp-reg .head .top .lang{font-family:var(--mono);font-size:12px;color:#9FB0C8;}
.sp-reg .head .top .lang b{color:#fff;}
.sp-reg .head .doc{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#8FA2BD;margin:0 0 12px;}
.sp-reg .head h1{font-size:50px;font-weight:600;letter-spacing:-.02em;line-height:1;margin:0 0 14px;}
.sp-reg .head .tag{font-size:16px;color:#C6D0DF;max-width:92ch;margin:0 0 30px;line-height:1.5;text-wrap:pretty;}
.sp-reg .kvs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.16);}
.sp-reg .kvs .kv{padding:16px 24px 4px 0;}
.sp-reg .kvs dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8FA2BD;margin-bottom:5px;}
.sp-reg .kvs dd{margin:0;font-size:14px;color:#E7ECF3;}

/* ---- Sub-navigation ---- */
.sp-reg .anav{display:flex;gap:30px;padding:0 var(--gutter);height:50px;align-items:center;background:#fff;border-bottom:1px solid var(--grey-200);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.sp-reg .anav a:hover{color:var(--burgundy);opacity:1;}

/* ---- Register rows ---- */
.sp-reg .reg{background:#fff;padding:0 var(--gutter);}
.sp-reg .r{display:grid;grid-template-columns:190px 1fr;gap:36px;padding:30px 0;border-bottom:1px solid var(--grey-200);scroll-margin-top:20px;}
.sp-reg .r .k{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy);padding-top:4px;}
.sp-reg .r h2.k{margin:0;font-weight:400;}
.sp-reg .r .v{max-width:64ch;}
.sp-reg .r .v p{margin:0 0 10px;font-size:15.5px;line-height:1.6;color:var(--ink);}
.sp-reg .r .v p:last-child{margin-bottom:0;}

/* Focus grid */
.sp-reg .r .v .foci{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;}
.sp-reg .r .v .foci span{position:relative;padding-left:15px;font-size:15px;}
.sp-reg .r .v .foci span::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--burgundy);}

/* Listed works */
.sp-reg .r .v .work{display:block;padding:11px 0;border-top:1px dotted var(--grey-200);}
.sp-reg .r .v .work:first-of-type{border-top:0;}
.sp-reg .r .v .work .t{font-size:16px;font-weight:600;color:var(--navy);}
.sp-reg .r .v .work .m{font-size:13px;color:var(--muted);}
.sp-reg .r .v .work .lg{font-family:var(--mono);font-size:11px;color:var(--burgundy);}

/* Download lines */
.sp-reg .r .v .dl{font-family:var(--mono);font-size:12px;color:var(--muted);margin:14px 0 0;letter-spacing:.02em;}
.sp-reg .r .v .dl.t0{margin-top:0;}
.sp-reg .r .v .dl a{color:var(--burgundy);}
.sp-reg .r .v .dl a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px;}

/* Dated entries: roles, degrees */
.sp-reg .r .v .job{padding:0 0 22px;}
.sp-reg .r .v .job:last-of-type{padding-bottom:0;}
.sp-reg .r .v .job h3.t{margin:0;font-size:16px;font-weight:600;color:var(--navy);line-height:1.3;}
.sp-reg .r .v .job .m{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--muted);margin-top:4px;}
.sp-reg .r .v .job .ctx{font-size:14.5px;color:var(--muted);margin:10px 0 0;line-height:1.55;}

/* Bulleted lists */
.sp-reg .r .v ul{list-style:none;margin:10px 0 0;padding:0;}
.sp-reg .r .v ul li{position:relative;padding-left:16px;font-size:15px;line-height:1.55;margin-bottom:7px;color:var(--ink);}
.sp-reg .r .v ul li:last-child{margin-bottom:0;}
.sp-reg .r .v ul li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:1px;background:var(--muted);}
.sp-reg .r .v ul.cols{columns:2;column-gap:34px;}
.sp-reg .r .v ul.cols li{break-inside:avoid;}
.sp-reg .r .v .fine{font-size:13.5px;color:var(--muted);margin:8px 0 0;}

/* Key-value detail block */
.sp-reg .r .v .meta{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;margin:0;}
.sp-reg .r .v .meta dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.sp-reg .r .v .meta dd{margin:0;font-size:15px;}
.sp-reg .r .v .meta dd a{color:var(--burgundy);}
.sp-reg .r .v .meta dd a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px;}

/* ---- Contact form ---- */
.sp-reg .form{max-width:560px;display:grid;gap:12px;}
.sp-reg .form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.sp-reg .form label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.sp-reg .form input,.sp-reg .form textarea{width:100%;font-family:inherit;font-size:15px;border:1px solid var(--grey-200);border-radius:0;padding:10px 12px;background:#fff;color:var(--ink);}
.sp-reg .form textarea{min-height:88px;resize:vertical;}
.sp-reg .form .send{justify-self:start;background:var(--navy);color:#fff;border:0;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:12px 24px;cursor:pointer;}
.sp-reg .form .send:hover{background:var(--navy-2);}
.sp-reg .form .note{font-size:12px;color:var(--muted);margin:0;}
.sp-reg .fmsg{font-size:15px;padding:14px 16px;border-left:3px solid var(--burgundy);background:var(--grey-50);max-width:560px;margin:0;}

/* ---- Footer ---- */
.sp-reg .ft{display:flex;justify-content:space-between;padding:20px var(--gutter);background:var(--navy);color:#9FB0C8;font-size:13px;font-family:var(--mono);}
.sp-reg .ft b{color:#fff;}

/* ---- Small screens ---- */
@media(max-width:820px){
  .sp-reg .anav{display:none;}
  .sp-reg .kvs{grid-template-columns:1fr 1fr;}
  .sp-reg .head{padding:40px 24px 30px;}
  .sp-reg .head::before{left:24px;}
  .sp-reg .head h1{font-size:38px;}
  .sp-reg .reg{padding:0 24px;}
  .sp-reg .ft{padding:20px 24px;}
  .sp-reg .r{grid-template-columns:1fr;gap:10px;}
  .sp-reg .r .v .foci{grid-template-columns:1fr;}
  .sp-reg .r .v ul.cols{columns:1;}
  .sp-reg .r .v .meta{grid-template-columns:1fr;}
  .sp-reg .form .two{grid-template-columns:1fr;}
}

/* ---- Print ---- */
@media print{
  body{background:#fff;}
  .sp-reg{background:#fff;}
  .sp-reg .head{background:#fff;color:#000;padding:0 0 16px;}
  .sp-reg .head::before,.sp-reg .head .top,.sp-reg .anav,.sp-reg .ft,.sp-reg .dl{display:none;}
  .sp-reg .head h1{color:#000;font-size:34px;}
  .sp-reg .head .doc,.sp-reg .head .tag{color:#444;}
  .sp-reg .kvs{border-top:1px solid #ccc;}
  .sp-reg .kvs dt{color:#666;}
  .sp-reg .kvs dd{color:#000;}
  .sp-reg .reg{padding:0;}
  .sp-reg .r{page-break-inside:avoid;grid-template-columns:150px 1fr;}
  .sp-reg .r .k{color:#000;}
}

/* =================================================================
   DOCUMENT PAGES (.dp) — CV and publications
   The homepage keeps the navy masthead: it is the front door.
   Inside pages get a navy hairline bar and a white hero instead,
   so the visitor can tell at a glance which kind of page they are on.
   Same navy, same burgundy, same two typefaces, same ruled register.
   ================================================================= */
.dp{background:#fff;color:var(--ink);
  --gutter:max(46px,calc((100% - 1280px) / 2 + 46px));}
.dp a:hover{opacity:.72;}
.dp .col{max-width:none;margin:0;padding:0 var(--gutter);}

/* Navy bar — site chrome, present on every inside page */
.dp .bar{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:16px var(--gutter);background:var(--navy);}
.dp .bar .mark{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#fff;}
.dp .bar nav{display:flex;gap:26px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#9FB0C8;}
.dp .bar nav a:hover{color:#fff;opacity:1;}
.dp .bar nav .now{color:#fff;}
.dp .bar .lang{font-family:var(--mono);font-size:12px;color:#9FB0C8;}
.dp .bar .lang b{color:#fff;}

/* White hero */
.dp .hero{padding:72px 0 0;}
.dp .hero .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;}
.dp .hero h1{font-size:52px;font-weight:400;letter-spacing:-.025em;line-height:1.04;margin:0;color:var(--navy);}
.dp .hero .rule{width:40px;height:2px;background:var(--burgundy);margin:26px 0;}
.dp .hero .lead{font-size:17px;line-height:1.6;color:var(--ink);max-width:none;margin:0;}
.dp .hero .dl{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.02em;margin:28px 0 0;}
.dp .hero .dl a{color:var(--burgundy);}
.dp .hero .dl a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px;}

/* Register rows — wider gutter and more air than the homepage */
.dp .row{display:grid;grid-template-columns:180px 1fr;gap:44px;padding:40px 0;border-top:1px solid #E8EAEE;scroll-margin-top:20px;}
.dp .row:first-of-type{margin-top:56px;}
.dp .row h2.k{margin:0;padding-top:5px;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--burgundy);}
.dp .row .v{max-width:68ch;}
.dp .row .v p{margin:0 0 12px;font-size:16px;line-height:1.7;color:var(--ink);}
.dp .row .v p:last-child{margin-bottom:0;}
.dp .row .v .job{padding:0 0 24px;}
.dp .row .v .job:last-of-type{padding-bottom:0;}
.dp .row .v .job h3.t{margin:0;font-size:16.5px;font-weight:600;color:var(--navy);line-height:1.3;}
.dp .row .v .job .m{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--muted);margin-top:5px;}
.dp .row .v .job .ctx{font-size:15px;color:var(--muted);margin:11px 0 0;line-height:1.6;}
.dp .row .v ul{list-style:none;margin:11px 0 0;padding:0;}
.dp .row .v ul li{position:relative;padding-left:17px;font-size:15.5px;line-height:1.65;margin-bottom:8px;color:var(--ink);}
.dp .row .v ul li:last-child{margin-bottom:0;}
.dp .row .v ul li::before{content:"";position:absolute;left:0;top:12px;width:7px;height:1px;background:var(--muted);}
.dp .row .v ul.cols{columns:2;column-gap:34px;}
.dp .row .v ul.cols li{break-inside:avoid;}
.dp .row .v .fine{font-size:13.5px;color:var(--muted);margin:9px 0 0;}
.dp .row .v .meta{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;margin:0;}
.dp .row .v .meta dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.dp .row .v .meta dd{margin:0;font-size:15.5px;}
.dp .row .v .meta dd a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--burgundy);text-decoration-thickness:1px;text-underline-offset:4px;}
.dp .row .v .meta dd a:hover{opacity:1;text-decoration-thickness:2px;}

/* Navy footer — the second bookend */
.dp .foot{background:var(--navy);margin-top:64px;}
.dp .foot .col{display:flex;justify-content:space-between;padding:24px var(--gutter);font-family:var(--mono);font-size:12.5px;color:#9FB0C8;}
.dp .foot .lang b{color:#fff;}

@media(max-width:820px){
  .dp .bar{padding:15px 24px;}
  .dp .bar nav{display:none;}
  .dp .col{padding:0 24px;}
  .dp .hero{padding:48px 0 0;}
  .dp .hero h1{font-size:38px;}
  .dp .row{grid-template-columns:1fr;gap:12px;padding:30px 0;}
  .dp .row:first-of-type{margin-top:40px;}
  .dp .row .v ul.cols{columns:1;}
  .dp .row .v .meta{grid-template-columns:1fr;}
  .dp .foot .col{padding:22px 24px;}
}

@media print{
  .dp .bar,.dp .foot,.dp .hero .dl{display:none;}
  .dp .col{max-width:none;padding:0;}
  .dp .hero{padding:0;}
  .dp .hero h1{font-size:34px;color:#000;}
  .dp .row{page-break-inside:avoid;grid-template-columns:150px 1fr;gap:28px;padding:22px 0;}
  .dp .row:first-of-type{margin-top:26px;}
}


/* =================================================================
   PUBLICATION PAGES (.pub) — long-form pieces
   Full-bleed navy chrome, but bar, rail and footer all share one
   gutter with the body, so everything sits on a single left edge.
   Secondary palette (slate / petrol / stone) lives here.
   ================================================================= */
.pub{background:#fff;color:var(--ink);
  --pgut:max(46px,calc((100% - 1280px) / 2 + 46px));}
.pub a:hover{opacity:.72;}

/* Chrome */
.pub .bar{display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:var(--navy);padding:16px var(--pgut);}
.pub .bar .mark{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#fff;}
.pub .bar nav{display:flex;gap:26px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#9FB0C8;}
.pub .bar nav a:hover{color:#fff;opacity:1;}
.pub .bar nav .now{color:#fff;}
.pub .bar .lang{font-family:var(--mono);font-size:12px;color:#9FB0C8;}
.pub .bar .lang b{color:#fff;}
.pub .foot{background:var(--navy);margin-top:70px;}
.pub .foot .in{display:flex;justify-content:space-between;padding:24px var(--pgut);
  font-family:var(--mono);font-size:12.5px;color:#9FB0C8;}
.pub .foot .lang b{color:#fff;}

/* Shell — sticky contents rail sits in the left margin above 1200px */
.pub .shell{padding:0 var(--pgut);display:grid;grid-template-columns:176px 1fr;gap:52px;}
.pub .shell.norail{grid-template-columns:1fr;gap:0;}
.pub .main{min-width:0;}
.pub .rail{position:sticky;top:30px;align-self:start;padding-top:100px;}
.pub .rail .lab{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;}
.pub .rail ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--hair);}
.pub .rail li a{display:block;padding:8px 0 8px 15px;font-size:13px;line-height:1.35;color:var(--muted);
  border-left:2px solid transparent;margin-left:-1px;transition:color .15s,border-color .15s;}
.pub .rail li a:hover{color:var(--navy);}
.pub .rail li a.on{color:var(--petrol);border-left-color:var(--petrol);font-weight:500;}

/* Hero */
.pub .hero{padding:82px 0 0;}
.pub .hero .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--petrol);margin:0 0 28px;}
.pub .hero h1{font-size:clamp(38px,5vw,64px);font-weight:500;letter-spacing:-.032em;line-height:1.04;margin:0;color:var(--navy);text-wrap:balance;}
.pub .hero .split{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin:44px 0 0;border-top:2px solid var(--navy);padding-top:28px;}
.pub .hero .sub{font-size:19px;line-height:1.42;font-weight:500;color:var(--burgundy);margin:0;max-width:34ch;}
.pub .hero .stand{font-size:17.5px;line-height:1.75;margin:0;text-wrap:pretty;}

/* PDF set */
.pub .pdfs{margin:30px 0 0;}
.pub .pdfs .lab{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}
.pub .pdfs .set{display:flex;gap:10px;flex-wrap:wrap;}
.pub .pdfs a{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--hair);background:#fff;
  padding:11px 17px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--navy);transition:background .15s,border-color .15s,color .15s;}
.pub .pdfs a .ar{color:var(--burgundy);font-size:13px;line-height:1;transition:color .15s;}
.pub .pdfs a:hover{background:var(--navy);border-color:var(--navy);color:#fff;opacity:1;}
.pub .pdfs a:hover .ar{color:#fff;}

/* Sections */
.pub .sec{display:grid;grid-template-columns:1fr 2fr;gap:56px;padding:58px 0 0;
  border-top:1px solid var(--hair);margin-top:58px;scroll-margin-top:26px;}
.pub .sec .side .note{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}
.pub .sec .side h2{margin:0;font-size:26px;font-weight:600;letter-spacing:-.022em;line-height:1.2;color:var(--navy);}
.pub .sec .body p{font-size:17px;line-height:1.76;margin:0 0 18px;max-width:66ch;text-wrap:pretty;}
.pub .sec .body p:last-child{margin-bottom:0;}

/* The four — a set of peers, not a sequence */
.pub .strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.pub .strip .s{padding:24px 28px 8px 0;border-right:1px solid var(--hair);}
.pub .strip .s:last-child{border-right:0;padding-right:0;}
.pub .strip .s:not(:first-child){padding-left:28px;}
.pub .strip .s .tick{width:26px;height:2px;background:var(--burgundy);margin:0 0 16px;}
.pub .strip .s h3{margin:0 0 10px;font-size:17px;font-weight:600;color:var(--navy);}
.pub .strip .s p{margin:0;font-size:15px;line-height:1.66;color:var(--soft);text-wrap:pretty;}

/* Aside */
.pub .outbox{background:var(--panel);padding:26px 32px;margin:46px 0 0;border-left:3px solid var(--petrol);scroll-margin-top:26px;}
.pub .outbox h3{margin:0 0 10px;font-size:17px;font-weight:600;color:var(--navy);}
.pub .outbox p{margin:0;font-size:16.5px;line-height:1.72;max-width:78ch;text-wrap:pretty;}

/* Models — the rule colour runs in-house → outsourced */
.pub .mtitle{font-size:30px;font-weight:600;letter-spacing:-.024em;color:var(--navy);margin:72px 0 0;
  padding-bottom:22px;border-bottom:2px solid var(--navy);scroll-margin-top:26px;}
.pub .mods{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.pub .mods .m{padding:0 32px 30px 0;border-right:1px solid var(--hair);}
.pub .mods .m:last-child{border-right:0;padding-right:0;}
.pub .mods .m:not(:first-child){padding-left:32px;}
.pub .mods .m .cap{height:4px;margin:0 0 22px;}
.pub .mods .m:nth-child(1) .cap{background:var(--navy);}
.pub .mods .m:nth-child(2) .cap{background:var(--petrol);}
.pub .mods .m:nth-child(3) .cap{background:var(--stone);}
.pub .mods .m h3{margin:0;font-size:20px;font-weight:600;color:var(--navy);letter-spacing:-.012em;}
.pub .mods .m .lab{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol);margin:22px 0 10px;}
.pub .mods .m ul{list-style:none;margin:0;padding:0;}
.pub .mods .m li{position:relative;padding-left:15px;font-size:15.5px;line-height:1.62;margin-bottom:10px;text-wrap:pretty;}
.pub .mods .m li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:1px;background:var(--muted);}
.pub .mods .m .typ{margin:0;font-size:15px;line-height:1.6;color:var(--muted);}

/* Closing pair */
.pub .pair{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:68px 0 0;}
.pub .pair .a{background:var(--navy);color:#fff;padding:38px 40px;scroll-margin-top:26px;}
.pub .pair .a h3{margin:0 0 14px;font-size:19px;font-weight:600;color:#fff;}
.pub .pair .a p{margin:0;font-size:16.5px;line-height:1.74;color:#D3DCE9;text-wrap:pretty;}
.pub .pair .b{background:var(--panel-2);padding:38px 40px;scroll-margin-top:26px;}
.pub .pair .b h3{margin:0 0 14px;font-size:19px;font-weight:600;color:var(--petrol);}
.pub .pair .b p{margin:0;font-size:16.5px;line-height:1.74;text-wrap:pretty;}

/* Provenance */
.pub .about{display:grid;grid-template-columns:1fr 2fr;gap:56px;margin:62px 0 0;padding-top:24px;border-top:1px solid var(--hair);}
.pub .about .lab{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;}
.pub .about p{margin:0 0 8px;font-size:14px;line-height:1.72;color:var(--muted);text-wrap:pretty;}

@media(max-width:1200px){
  .pub .shell{grid-template-columns:1fr;gap:0;}
  .pub .rail{display:none;}
}
@media(max-width:900px){
  .pub{--pgut:22px;}
  .pub .bar{padding:15px 22px;}
  .pub .bar nav{display:none;}
  .pub .foot .in{padding:22px 22px;}
  .pub .hero{padding:46px 0 0;}
  .pub .hero .split{grid-template-columns:1fr;gap:24px;}
  .pub .sec{grid-template-columns:1fr;gap:18px;padding:36px 0 0;margin-top:36px;}
  .pub .strip{grid-template-columns:1fr;}
  .pub .strip .s{border-right:0;border-bottom:1px solid var(--hair);padding:22px 0;}
  .pub .strip .s:not(:first-child){padding-left:0;}
  .pub .strip .s:last-child{border-bottom:0;}
  .pub .mtitle{font-size:24px;margin:50px 0 0;}
  .pub .mods{grid-template-columns:1fr;}
  .pub .mods .m{border-right:0;border-bottom:1px solid var(--hair);padding:0 0 24px;margin-bottom:24px;}
  .pub .mods .m:not(:first-child){padding-left:0;}
  .pub .mods .m:last-child{border-bottom:0;margin-bottom:0;}
  .pub .pair{grid-template-columns:1fr;}
  .pub .pair .a,.pub .pair .b{padding:28px 24px;}
  .pub .about{grid-template-columns:1fr;gap:14px;}
}

@media print{
  .pub .bar,.pub .foot,.pub .rail,.pub .pdfs{display:none;}
  .pub .shell{display:block;padding:0;}
  .pub .hero{padding:0;}
  .pub .hero h1{font-size:32px;color:#000;}
  .pub .hero .split{grid-template-columns:1fr;gap:16px;}
  .pub .sec,.pub .about{grid-template-columns:150px 1fr;gap:28px;page-break-inside:avoid;}
  .pub .strip,.pub .mods,.pub .pair{grid-template-columns:1fr;}
  .pub .pair .a{background:#fff;color:#000;padding:16px 0;}
  .pub .pair .a h3,.pub .pair .a p{color:#000;}
  .pub .pair .b{background:#fff;padding:16px 0;}
}
