/* Patent Translations Inc. — shared stylesheet (draft) */
:root{
  --paper:#F2F3EF; --paper-2:#E8EBE4; --card:#FFFFFF;
  --ink:#14181A; --ink-2:#3C4347; --ink-3:#6C7570;
  --rule:#CDD3CB; --rule-fine:#DBE0D8; --rule-strong:#14181A;
  --green:#1E4F3B; --green-2:#2C6B50; --green-3:#3A8763; --green-soft:#E1EDE6;
  --slate:#345A72; --linecol:#E4E6E0;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:"Segoe UI",Frutiger,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--serif); font-size:18px; line-height:1.56; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;}
a{color:var(--green);}
.wrap{max-width:1220px; margin:0 auto; padding:0 52px;}

/* utility bar */
.util{background:var(--ink); color:#C4CEC7;}
.util .wrap{display:flex; justify-content:space-between; align-items:center; padding:7px 52px; font-family:var(--sans); font-size:12px; letter-spacing:.04em;}
.util b{color:#fff; font-weight:600;}

/* masthead */
header.mast{background:var(--paper); border-bottom:2px solid var(--rule-strong); position:sticky; top:0; z-index:20;}
.mast .wrap{display:flex; align-items:center; justify-content:space-between; padding:16px 52px;}
.wordmark{font-size:19px; font-weight:600; letter-spacing:.01em; text-decoration:none; color:var(--ink);}
.wordmark span{color:var(--ink-3); font-family:var(--sans); font-size:11px; letter-spacing:.15em; text-transform:uppercase; display:block; margin-top:2px; font-weight:400;}
nav ul{list-style:none; margin:0; padding:0; display:flex; gap:24px; align-items:center;}
nav a{font-family:var(--sans); font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); text-decoration:none; padding-bottom:3px; border-bottom:1px solid transparent;}
nav a:hover,nav a.here{color:var(--green); border-bottom-color:var(--green);}
.nav-cta{background:var(--green); color:#fff !important; padding:10px 16px; border-radius:2px; border-bottom:none !important;}
.nav-cta:hover{background:var(--green-2);}

/* breadcrumb */
.crumb{font-family:var(--sans); font-size:12.5px; color:var(--ink-3); padding:18px 0 0;}
.crumb a{color:var(--ink-3); text-decoration:none;} .crumb a:hover{color:var(--green);}
.crumb b{color:var(--ink-2); font-weight:600;}

/* buttons */
.btn{font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.04em; text-decoration:none; padding:13px 22px; border-radius:2px; display:inline-block;}
.btn-primary{background:var(--green); color:#fff;} .btn-primary:hover{background:var(--green-2);}
.btn-ghost{color:var(--green); border:1px solid var(--rule); background:var(--card);} .btn-ghost:hover{border-color:var(--green);}
.btn-white{background:#fff; color:var(--green);} .btn-white:hover{background:#DDE9E1;}

/* landing hero */
.hero{border-bottom:1px solid var(--rule);}
.hero .wrap{display:grid; grid-template-columns:1fr 340px; column-gap:44px; row-gap:0; align-items:start;}
.hero-head{grid-column:1; grid-row:1; padding-top:70px;}
.hero-body{grid-column:1; grid-row:2; padding-bottom:62px; position:relative;}
.hero-side{grid-column:2; grid-row:1 / span 2; padding:70px 0 62px; display:flex; flex-direction:column; justify-content:center;}
.hero-body .standfirst{margin-top:0;}
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--green); margin:0 0 26px;}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--green);}
h1{font-weight:400; font-size:56px; line-height:1.04; letter-spacing:-.018em; margin:0; max-width:16ch;}
h1 em{font-style:italic; color:var(--green);}
.standfirst{margin:28px 0 0; max-width:48ch; font-size:20px; line-height:1.5; color:var(--ink-2);}
.hero-actions{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; align-items:center;}
.ask{margin-top:20px; font-family:var(--sans); font-size:13px; color:var(--ink-3);}
.ask b{color:var(--ink-2); font-weight:600;}

/* small reference tag pinned to the far-left page margin, aligned with the body it annotates.
   Lives inside a position:relative body block; floats out to ~24px from the viewport edge on
   wide screens, and tucks back to the content edge when there is no outer margin. (.margin-tag) */
.margin-tag{position:absolute; top:0; width:112px; z-index:2;
  left:calc(-1 * max(0px, (100vw - 1220px)/2 + 28px));}
.margin-tag .feature-vol .vol{box-shadow:0 3px 9px rgba(0,0,0,.12);}
.margin-tag .feature-vol .spine{width:32px; padding:0; justify-content:center;}
.margin-tag .feature-vol .spine .no{font-size:14px;}
.margin-tag .feature-vol .face{padding:10px 12px;}
.margin-tag .feature-vol .face h3{font-size:13px; line-height:1.24; margin:0;}

/* record section: heading, then body; the body positions its own margin tag */
.rec-body{position:relative; min-width:0;}

/* below the width where the outer margin can hold the tag, drop it inline above the text */
@media (max-width:1380px){
  .margin-tag{position:static; width:auto; max-width:280px; left:auto; margin:0 0 12px;}
}

/* reference-volume feature (from the library) */
.feature-vol{cursor:pointer; text-decoration:none; color:inherit; display:block; position:relative; transition:transform .18s ease;}
.feature-vol::before{content:""; position:absolute; top:6px; bottom:6px; left:-8px; width:8px; background:#C9CFC6; border-radius:2px;}
.feature-vol::after{content:""; position:absolute; top:6px; bottom:6px; left:-15px; width:6px; background:#DCE0D8; border-radius:2px;}
.feature-vol .vol{position:relative; display:flex; border-radius:2px; overflow:hidden; box-shadow:0 5px 14px rgba(0,0,0,.16);}
.feature-vol:hover{transform:translateX(3px);}
.feature-vol .spine{background:linear-gradient(180deg,#245A43,#173D2C); color:#CFE0D6; width:52px; flex:none; display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:14px 0; border-right:2px solid rgba(255,255,255,.12);}
.feature-vol .spine .r{font-family:var(--sans); font-size:9.5px; letter-spacing:.2em; writing-mode:vertical-rl; transform:rotate(180deg); color:#A9C6B5;}
.feature-vol .spine .no{font-family:var(--serif); font-size:17px; color:#fff;}
.feature-vol .face{background:linear-gradient(160deg,#F3EFE4,#E9E3D2); padding:18px 18px 16px; flex:1; min-width:0;}
.feature-vol .face .k{font-family:var(--sans); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:#9A8F71; margin-bottom:10px;}
.feature-vol .face h3{font-family:var(--serif); font-weight:400; font-size:18px; line-height:1.22; margin:0 0 12px; color:#2A2A22;}
.feature-vol .face .go{font-family:var(--sans); font-size:11.5px; font-weight:600; color:var(--green-2);}
.feature-vol:hover .face .go{color:var(--green);}
.plate-wrap{position:relative; border:1px solid var(--rule); overflow:hidden; aspect-ratio:4/5; background:var(--paper-2); margin:0;}
.plate-wrap img{width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(.12) contrast(1.02);}
.plate-wrap .ph{position:absolute; left:0; bottom:0; font-family:var(--sans); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:rgba(20,24,26,.62); padding:6px 11px;}
.side-meta{margin-top:16px; font-family:var(--sans); font-size:12.5px; line-height:1.5; color:var(--ink-3);}
.side-meta b{color:var(--ink); font-weight:600; display:block; font-size:13.5px; margin-bottom:3px;}

/* credential band */
.band{background:var(--green); color:#EAF1EC;}
.band .wrap{display:grid; grid-template-columns:repeat(4,1fr); padding:0 52px;}
.stat{padding:30px 26px 28px; border-left:1px solid rgba(255,255,255,.16);}
.stat:first-child{border-left:none; padding-left:0;}
.stat .n{font-size:27px; line-height:1.05; color:#fff; letter-spacing:-.01em;}
.stat .l{font-family:var(--sans); font-size:12px; line-height:1.5; color:#B9CEC1; margin-top:11px;}

/* published-in strip */
.authstrip{border-bottom:1px solid var(--rule); background:var(--card);}
.authstrip .wrap{display:flex; align-items:center; gap:34px; padding:20px 52px; flex-wrap:wrap;}
.authstrip .lab{font-family:var(--sans); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--ink-3); white-space:nowrap;}
.authstrip .venues{display:flex; gap:28px; flex-wrap:wrap; align-items:center;}
.authstrip .venues a{font-size:16px; font-weight:600; color:var(--ink); white-space:nowrap; position:relative; text-decoration:none; border-bottom:1px solid transparent; transition:border-color .15s, color .15s;}
.authstrip .venues a:hover{color:var(--green); border-bottom-color:var(--green);}
.authstrip .venues a + a::before{content:"\00B7"; position:absolute; left:-15px; color:var(--rule); font-weight:400;}

/* section scaffold */
section.blk{padding:76px 0 0;}
.marker{display:flex; align-items:baseline; gap:16px; border-top:2px solid var(--rule-strong); padding-top:14px; margin-bottom:12px;}
.marker .no{font-family:var(--sans); font-size:13px; font-weight:700; color:var(--green-2);}
.marker .lab{font-family:var(--sans); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3);}
.marker .note{margin-left:auto; font-family:var(--sans); font-size:12.5px; color:var(--ink-3);}
h2.big{font-weight:400; font-size:37px; line-height:1.1; letter-spacing:-.012em; margin:0; max-width:24ch;}
.intro{max-width:56ch; color:var(--ink-2); font-size:20px; line-height:1.5; margin:16px 0 40px;}

/* landing services list */
.svc-list{border:1px solid var(--rule-strong);}
.svc-item{display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:26px 30px; border-bottom:1px solid var(--rule-fine); background:var(--card); text-decoration:none; transition:background .15s;}
.svc-item:last-child{border-bottom:none;}
.svc-item:hover{background:var(--paper);}
.svc-item .st{font-size:23px; color:var(--ink); margin:0 0 6px;}
.svc-item .sd{font-family:var(--sans); font-size:15px; color:var(--ink-2); margin:0; max-width:70ch; line-height:1.5;}
.svc-item .more{font-family:var(--sans); font-size:12.5px; font-weight:600; letter-spacing:.04em; color:var(--green); white-space:nowrap;}
.svc-item:hover .more{color:var(--green-2);}

/* banner image */
.banner{border:1px solid var(--rule-strong); overflow:hidden; margin-bottom:40px; position:relative; background:var(--ink);}
.banner img{width:100%; height:230px; object-fit:cover; display:block; filter:grayscale(.2) brightness(.94);}
.banner figcaption{position:absolute; left:0; bottom:0; font-family:var(--sans); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:#EAF1EC; background:linear-gradient(90deg,rgba(20,24,26,.82),rgba(20,24,26,0)); padding:12px 20px; width:70%;}

/* record exhibit */
.exhibit{border:1px solid var(--rule-strong); background:var(--card);}
.ex-head{background:var(--ink); color:#fff; font-family:var(--sans); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; padding:15px 44px; display:flex; justify-content:space-between; gap:16px;}
.ex-head span:last-child{color:var(--green-3);}
.ex-body{padding:34px 44px 38px;}
.ex-body .src{background:var(--paper); border-left:3px solid var(--green); padding:16px 20px; margin-bottom:24px;}
.ex-body .src .lbl{font-family:var(--sans); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); display:block; margin-bottom:6px;}
.ex-body .src .jp{font-size:16px; line-height:1.7; color:var(--ink-3); font-style:italic;}
.rend{display:grid; grid-template-columns:180px 1fr; gap:24px; padding:15px 0; border-top:1px solid var(--rule-fine);}
.rend .who{font-family:var(--sans); font-size:13px; font-weight:600; color:var(--ink-2); padding-top:2px;}
.rend .who em{display:block; font-style:normal; font-weight:400; font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--ink-3); margin-top:4px;}
.rend p{margin:0; font-size:16px; line-height:1.55; color:var(--ink-2);}
.rend strong{color:var(--slate); font-weight:600;}
.rend.win{background:var(--green); margin:6px 0; padding:16px 20px; border-radius:3px;}
.rend.win .who{color:#fff;} .rend.win .who em{color:#B9CEC1;} .rend.win p{color:#EAF1EC;}
.holding{margin-top:8px; background:var(--green); color:#EAF1EC; border-radius:3px; padding:24px; display:grid; grid-template-columns:180px 1fr; gap:24px;}
.holding .who{font-family:var(--sans); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#A9C6B5;}
.holding p{margin:0; font-size:21px; line-height:1.42; color:#fff;}
.holding cite{font-style:normal; display:block; font-family:var(--sans); font-size:12px; color:#B9CEC1; margin-top:12px;}

/* credentials band (landing) */
.creds{margin-top:84px; background:var(--paper-2); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);}
.creds .wrap{padding:60px 52px; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.creds .marker{border-top:none; padding-top:0; margin-bottom:18px;}
.creds p{color:var(--ink-2); margin:0 0 16px; max-width:52ch;}
.creds .fig{margin:0; border:1px solid var(--rule); overflow:hidden;}
.creds .fig img{width:100%; height:100%; min-height:280px; object-fit:cover; display:block; filter:grayscale(.15) contrast(1.02);}

/* sign band */
.signband{margin:0; position:relative; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); overflow:hidden; background:var(--ink);}
.signband img{width:100%; height:270px; object-fit:cover; display:block; filter:grayscale(.15) brightness(.9);}
.signband figcaption{position:absolute; inset:0; display:flex; align-items:center; padding:0 52px;}
.signband figcaption span{font-family:var(--serif); font-size:25px; line-height:1.34; color:#fff; max-width:34ch; text-shadow:0 1px 20px rgba(0,0,0,.5);}

/* single CTA */
.cta{background:var(--green); color:#EAF1EC;}
.cta .wrap{padding:74px 52px 66px;}
.cta h2{font-weight:400; font-size:38px; line-height:1.1; margin:0 0 16px; max-width:22ch; color:#fff;}
.cta .lead{font-size:18px; color:#CBDBD1; max-width:62ch; margin:0 0 14px;}
.cta .fine{font-size:15px; color:#9FBCAB; max-width:62ch; margin:0 0 34px;}
.cta-actions{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
.cta-ask{font-family:var(--sans); font-size:14px; color:#BFD6C8;}
.cta-ask b{color:#fff; font-weight:600;}

/* interior page header */
.page-head{border-bottom:1px solid var(--rule); background:var(--card);}
.page-head .wrap{padding:14px 52px 44px;}
.page-head .kicker{font-family:var(--sans); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin:22px 0 16px;}
.page-head h1{font-size:48px; max-width:20ch;}
.page-head .standfirst{max-width:60ch;}

/* interior two-column layout */
.layout{max-width:1120px; margin:0 auto; padding:44px 40px 0; display:grid; grid-template-columns:1fr 300px; gap:52px; align-items:start;}
.main{min-width:0;}
.art-body{font-size:19px;}
.art-body p{margin:0 0 22px; max-width:66ch;}
.art-body h2{font-weight:400; font-size:26px; line-height:1.2; margin:40px 0 14px; scroll-margin-top:90px;}
.art-body h3{font-weight:400; font-size:23px; line-height:1.25; margin:34px 0 12px; scroll-margin-top:90px;}
.art-body img{max-width:100%; height:auto; display:block; margin:0 0 24px;}
.art-body ul{margin:0 0 22px; padding-left:22px; max-width:66ch;} .art-body li{margin:7px 0;}
.art-body .pullquote{font-size:26px; line-height:1.34; color:var(--ink); border-left:3px solid var(--green); padding-left:22px; margin:32px 0; max-width:none;}
.art-body .pullquote span{color:var(--green);}
/* numbered "we can help when" list: bold lead line + description per item */
.help-list{margin:14px 0 26px; padding-left:26px; max-width:66ch;}
.help-list > li{margin:0 0 20px; padding-left:6px;}
.help-list > li:last-child{margin-bottom:0;}
.help-list > li::marker{font-family:var(--sans); font-weight:700; color:var(--green-2);}
.help-item .lead{font-weight:600; color:var(--ink); margin:0 0 5px;}
.help-item p{margin:0;}
.ph-note{font-family:var(--sans); font-size:12px; color:var(--ink-3); background:var(--paper-2); border:1px solid var(--rule); padding:8px 12px; border-radius:3px; display:inline-block; margin-bottom:24px;}
.meta{font-family:var(--sans); font-size:13px; color:var(--ink-3); margin-top:16px; display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.meta .who{color:var(--ink-2); font-weight:600;}
.meta .dot{width:3px; height:3px; border-radius:50%; background:var(--rule); display:inline-block;}

/* sidebar */
.sidebar{position:sticky; top:88px; display:flex; flex-direction:column; gap:20px;}
.side-box{border:1px solid var(--rule); border-radius:4px; background:var(--card); padding:18px 20px;}
.side-box .h{font-family:var(--sans); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--green-2); margin:0 0 13px; padding-bottom:11px; border-bottom:1px solid var(--rule-fine);}
.side-box ul{list-style:none; margin:0; padding:0;}
.side-box li{margin:0 0 12px; line-height:1.3;} .side-box li:last-child{margin-bottom:0;}
.side-box a{font-size:15px; text-decoration:none; display:block;} .side-box a:hover{color:var(--green-2);}
.side-box .k{font-family:var(--sans); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); display:block; margin-bottom:3px;}
.onpage ul{list-style:none;margin:0;padding:0;} .onpage li{margin:0;}
.onpage a{font-family:var(--sans); font-size:14px; color:var(--ink-2); text-decoration:none; display:block; padding:6px 0 6px 13px; border-left:2px solid var(--rule); line-height:1.3;}
.onpage a:hover{color:var(--green); border-color:var(--green-2);}
.onpage a.active{color:var(--green); border-color:var(--green); font-weight:600;}
.doc-lines{font-family:var(--sans); font-size:13px; color:var(--ink-2); line-height:1.5;} .doc-lines b{color:var(--ink);}
.doc-dl{display:inline-block; margin-top:14px; background:var(--green); color:#fff; font-family:var(--sans); font-weight:600; font-size:12.5px; padding:10px 15px; border-radius:2px; text-decoration:none;}
.side-cta{background:var(--green); color:#EAF1EC; border-radius:4px; padding:20px;}
.side-cta h3{font-family:var(--serif); font-weight:400; font-size:19px; margin:0 0 8px; color:#fff;}
.side-cta p{margin:0 0 14px; font-family:var(--sans); font-size:13px; color:#C7D7CD; line-height:1.5;}
.side-cta a{display:inline-block; background:#fff; color:var(--green); font-family:var(--sans); font-weight:600; font-size:12.5px; padding:10px 15px; border-radius:2px; text-decoration:none;}
.side-cta .ask2{font-family:var(--sans); font-size:12px; color:#BFD6C8; margin-top:12px;}

/* references box — same palette and type family as the reference-volume tags,
   sized down to a plain list of links (green spine nod + cream face) */
.side-refs{border:1px solid var(--rule); border-left:4px solid var(--green); border-radius:3px; overflow:hidden; background:linear-gradient(160deg,#F3EFE4,#E9E3D2);}
.side-refs .h{font-family:var(--sans); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--green-2); margin:0; padding:15px 18px 11px;}
.side-refs ul{list-style:none; margin:0; padding:0 18px 8px;}
.side-refs li{margin:0; border-top:1px solid rgba(20,24,26,.09);}
.side-refs li:first-child{border-top:none;}
.side-refs a{font-family:var(--serif); font-size:15.5px; line-height:1.28; color:#2A2A22; text-decoration:none; display:block; padding:11px 0;}
.side-refs a:hover{color:var(--green);}

/* interior intro: heading/blurb beside a placeholder figure */
.intro-row{display:grid; grid-template-columns:1fr 340px; gap:44px; align-items:stretch;}
.intro-row .kicker{margin-top:0;}
.intro-row .standfirst{margin-bottom:0;}
.intro-plate{position:relative; border:1px solid var(--rule); overflow:hidden; margin:0; background:var(--paper-2); min-height:250px;}
.intro-plate img{width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(.12) contrast(1.02);}
.intro-plate .ph{position:absolute; left:0; bottom:0; font-family:var(--sans); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:rgba(20,24,26,.62); padding:6px 11px;}
@media (max-width:1000px){ .intro-row{grid-template-columns:1fr; gap:22px;} .intro-plate{min-height:200px;} }

/* pdf presentation */
.pdfdoc{margin:6px 0 0; border:1px solid var(--rule-strong); border-radius:5px; overflow:hidden; background:var(--card);}
.pdf-bar{background:var(--ink); color:#fff; display:flex; align-items:center; gap:16px; padding:12px 18px; font-family:var(--sans); font-size:12.5px;}
.pdf-bar .fn{font-weight:600;} .pdf-bar .pg{color:#A7B4AE;}
.pdf-bar .dl{margin-left:auto; background:var(--green); color:#fff; text-decoration:none; padding:8px 14px; border-radius:2px; font-weight:600; font-size:12px;}
.pdf-stage{background:#E4E7E1; padding:24px; display:flex; justify-content:center;}
.pdf-page{background:#fff; width:100%; max-width:560px; box-shadow:0 6px 24px rgba(0,0,0,.14); padding:42px 46px; border:1px solid #E0E2DC;}
.pp-title{font-size:21px; line-height:1.2; margin-bottom:6px;}
.pp-sub{font-family:var(--sans); font-size:12px; color:var(--ink-3); margin-bottom:24px;}
.pp-lines{height:140px; background:repeating-linear-gradient(to bottom, var(--linecol) 0 6px, transparent 6px 17px); margin-bottom:18px;}
.pp-lines.short{height:56px; width:82%;}
.pdf-frame{width:100%; height:82vh; min-height:520px; border:0; display:block; background:#E4E7E1;}

/* footer */
footer{background:#16231D; color:#8CA093; margin-top:70px;}
footer .wrap{display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding:44px 52px 56px;}
footer p,footer ul{margin:0; font-family:var(--sans); font-size:12.5px; line-height:1.8;}
footer ul{list-style:none; padding:0;}
footer a{color:#B7C7BC; text-decoration:none;} footer a:hover{color:#fff;}
footer .fh{color:#fff; font-weight:600; letter-spacing:.04em; margin-bottom:8px;}

@media (max-width:1000px){
  .util,.mast .wrap,.hero .wrap,.band .wrap,.authstrip .wrap,.wrap,.creds .wrap,.cta .wrap,.page-head .wrap,footer .wrap{padding-left:22px; padding-right:22px;}
  .hero .wrap{grid-template-columns:1fr; column-gap:0; row-gap:22px;}
  .hero-head,.hero-body,.hero-side{grid-column:1; grid-row:auto;}
  .hero-head{padding-top:26px;}
  .hero-body{padding-bottom:6px;}
  .hero-side{padding:0 0 18px;}
  .margin-tag{position:static; width:auto; max-width:260px; left:auto; margin:0 0 8px;}
  .band .wrap{grid-template-columns:1fr 1fr;}
  .stat{border-left:none; padding-left:0;}
  .creds .wrap{grid-template-columns:1fr; gap:30px;}
  .layout{grid-template-columns:1fr; padding-left:22px; padding-right:22px;}
  .sidebar{position:static; flex-direction:row; flex-wrap:wrap;}
  .side-box,.side-cta{flex:1; min-width:220px;}
  .svc-item{grid-template-columns:1fr; gap:10px;}
  h1{font-size:38px;} .page-head h1{font-size:34px;}
  nav ul{display:none;}
  .rend,.holding{grid-template-columns:1fr; gap:6px;}
  footer .wrap{grid-template-columns:1fr 1fr;}
}

/* ===================== FLUID RAIL SYSTEM (whole-page) ===================== */
.pagewrap{max-width:1472px; margin:0 auto; padding:0 40px;}
.util .pagewrap{display:flex; align-items:center; justify-content:center; padding:7px 40px;}
.mast .pagewrap{display:flex; align-items:center; justify-content:space-between; padding:16px 40px;}

.rw{max-width:1472px; margin-inline:auto; padding:0 40px; display:grid; column-gap:44px; justify-content:start;
    grid-template-columns:248px minmax(300px, 1100px);}
.rw-rail{grid-column:1; min-width:0;}
.rw-main{grid-column:2; min-width:0;}
.rw.rows{grid-template-rows:auto auto; align-items:start;}
.rw.rows > .rw-head{grid-column:2; grid-row:1;}
.rw.rows > .rw-rail{grid-column:1; grid-row:2;}
.rw.rows > .rw-body{grid-column:2; grid-row:2; min-width:0;}
.rw-body > :first-child{margin-top:0;}

/* hero: rail | text | portrait */
.hero-rw{grid-template-columns:248px minmax(300px,680px) minmax(220px,360px); grid-template-rows:auto auto;}
.hero-rw > .rw-head{grid-column:2; grid-row:1; padding-top:70px;}
.hero-rw > .rw-rail{grid-column:1; grid-row:2;}
.hero-rw > .rw-body{grid-column:2; grid-row:2; padding-bottom:62px;}
.hero-rw > .rw-side{grid-column:3; grid-row:1 / span 2; padding:70px 0 62px; display:flex; flex-direction:column; justify-content:center;}
.hero-rw .standfirst{margin-top:0;}

/* section internals, aligned to the content column */
.stats4{display:grid; grid-template-columns:repeat(4,1fr);}
.authvenues{display:flex; align-items:center; gap:34px; flex-wrap:wrap; padding:20px 0;}
.creds-in{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding:60px 0;}
.ctapad{padding:74px 0 66px;}
.foot-cols{display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding:44px 0 56px;}
.signband figcaption{padding:0 !important;}
.signband figcaption .rw{width:100%;}

/* landscape margin-note tag (Reference spine kept, wider than tall) */
.mtag{width:238px;}
.mtag .feature-vol .vol{box-shadow:0 3px 9px rgba(0,0,0,.12);}
.mtag .feature-vol .spine{width:34px; padding:9px 0; justify-content:space-between; align-items:center;}
.mtag .feature-vol .spine .r{writing-mode:vertical-rl; transform:rotate(180deg); font-size:7.5px; letter-spacing:.1em; color:#A9C6B5;}
.mtag .feature-vol .spine .no{font-size:13px;}
.mtag .feature-vol .face{padding:9px 14px; display:flex; align-items:center;}
.mtag .feature-vol .face h3{font-size:13px; line-height:1.26; margin:0;}

@media (max-width:940px){
  .pagewrap{padding-left:22px; padding-right:22px;}
  .rw{grid-template-columns:1fr; column-gap:0; padding:0 22px;}
  .rw-rail,.rw-main,.rw.rows > .rw-head,.rw.rows > .rw-rail,.rw.rows > .rw-body,
  .hero-rw > .rw-head,.hero-rw > .rw-rail,.hero-rw > .rw-body,.hero-rw > .rw-side{grid-column:1; grid-row:auto;}
  .hero-rw > .rw-head{padding-top:26px;}
  .hero-rw > .rw-body{padding-bottom:6px;}
  .hero-rw > .rw-side{padding:6px 0 18px;}
  .stats4{grid-template-columns:1fr 1fr;}
  .creds-in{grid-template-columns:1fr; gap:28px; padding:36px 0;}
  .foot-cols{grid-template-columns:1fr 1fr;}
  .mtag{width:100%; max-width:300px; margin-bottom:8px;}
}

/* record: heading uses the full content width; Martin Cross row bold, not inverted */
#record h2.big{max-width:none;}
.rend.mc p{font-weight:700; color:var(--ink);}

/* ===================== archive portal (publication pages) ============== */
/* the current site frames a past publication like an exhibit seen through it */
.exhibit{max-width:1020px; margin:0 auto; padding:26px 40px 0;}
.exhibit .back{font-family:var(--sans); font-size:12.5px; color:var(--ink-3); text-decoration:none; display:inline-block; margin-bottom:16px;}
.exhibit .back:hover{color:var(--green);}
.portal{border:1px solid #0b1310; border-radius:8px; overflow:hidden; background:#0f1714; box-shadow:0 24px 64px rgba(0,0,0,.30);}
.portal .chrome{display:flex; align-items:center; gap:13px; padding:12px 18px; background:linear-gradient(180deg,#1d2c24,#14201b); border-bottom:1px solid rgba(255,255,255,.07);}
.portal .mono{width:24px; height:24px; border-radius:4px; background:var(--green-3); color:#fff; font-family:var(--sans); font-weight:700; font-size:12px; display:flex; align-items:center; justify-content:center; flex:none;}
.portal .prov{font-family:var(--sans); min-width:0; line-height:1.25;}
.portal .prov .lab{color:#8FB0A0; font-size:10px; letter-spacing:.18em; text-transform:uppercase; display:block; margin-bottom:2px;}
.portal .prov .src{color:#fff; font-size:13px; font-weight:600;}
.portal .act{margin-left:auto; font-family:var(--sans); font-size:12px; font-weight:600; color:#fff; background:var(--green); padding:8px 13px; border-radius:3px; text-decoration:none; white-space:nowrap;}
.portal .act:hover{background:var(--green-2);}
.portal .stage{display:flex; justify-content:center; padding:22px; background:repeating-linear-gradient(45deg,#0f1714,#0f1714 12px,#111a16 12px,#111a16 24px);}
.portal .pdf-frame{width:100%; height:84vh; min-height:600px; border:0; display:block; background:#E4E7E1; border-radius:2px; box-shadow:0 10px 34px rgba(0,0,0,.45);}
.portal .placeholder{width:100%; background:#E4E7E1; border-radius:2px; box-shadow:0 10px 34px rgba(0,0,0,.35); min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:40px;}
.portal .placeholder .pi{font-family:var(--sans); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--green-2);}
.portal .placeholder .pt2{font-family:var(--serif); font-size:20px; color:var(--ink-2); max-width:34ch; line-height:1.4;}
.portal .foot{display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:11px 18px; background:linear-gradient(180deg,#14201b,#101a15); border-top:1px solid rgba(255,255,255,.07); font-family:var(--sans); font-size:11.5px; color:#8FB0A0;}
.portal .foot .cite{color:#C4D6CB;}
.exhibit .fallback{font-family:var(--sans); font-size:13px; color:var(--ink-3); margin:14px 0 0;}
.exhibit .fallback a{color:var(--green);}
/* reproduced text document (for pieces shown as text rather than PDF) */
.archive-doc{background:#FBFAF4; width:100%; max-width:700px; border:1px solid #E6E2D4; border-radius:2px; box-shadow:0 12px 40px rgba(0,0,0,.42); padding:52px 58px 46px;}
.archive-doc .masthead{border-bottom:2px solid #23302a; padding-bottom:18px; margin-bottom:26px;}
.archive-doc .masthead .lab{font-family:var(--sans); font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:#7c8a80; margin:0 0 12px;}
.archive-doc .masthead h2{font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.18; margin:0 0 12px; color:#1b241f;}
.archive-doc .masthead .byline{font-family:var(--sans); font-size:12px; color:#6b746e; letter-spacing:.03em;}
.archive-doc .doc-body{font-family:var(--serif); font-size:16px; line-height:1.62; color:#22282a;}
.archive-doc .doc-body p{margin:0 0 15px;}
.archive-doc .doc-body h3{font-family:var(--serif); font-weight:600; font-size:17px; line-height:1.3; margin:26px 0 10px; color:#1b241f;}
.archive-doc .doc-body img{max-width:100%; height:auto; display:block; margin:0 0 20px; border:1px solid #E6E2D4;}
@media(max-width:800px){
  .exhibit{padding-left:22px; padding-right:22px;}
  .portal .stage{padding:12px;}
  .archive-doc{padding:32px 24px;}
}

/* ===================== quote request form ============================== */
.qwrap{max-width:940px; margin:0 auto; padding:36px 40px 0;}
.qform fieldset{border:1px solid var(--rule); border-radius:6px; padding:20px 24px 26px; margin:0 0 22px; background:var(--card);}
.qform legend{font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--green-2); padding:0 8px;}
.qgrid{display:grid; grid-template-columns:1fr 1fr; gap:16px 20px;}
.qfield{display:flex; flex-direction:column; gap:6px; min-width:0;}
.qfield.full{grid-column:1 / -1;}
.qfield label{font-family:var(--sans); font-size:13px; font-weight:600; color:var(--ink-2);}
.qfield .req{color:var(--green-2);}
.qfield input,.qfield select,.qfield textarea{font-family:var(--sans); font-size:15px; color:var(--ink); background:var(--paper); border:1px solid var(--rule); border-radius:4px; padding:10px 12px; width:100%;}
.qfield textarea{min-height:92px; resize:vertical;}
.qfield input:focus,.qfield select:focus,.qfield textarea:focus{outline:none; border-color:var(--green-3); box-shadow:0 0 0 3px var(--green-soft);}
.quse{display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; margin-top:2px;}
.quse label{display:flex; align-items:center; gap:9px; font-family:var(--sans); font-size:14px; color:var(--ink-2); font-weight:400; cursor:pointer;}
.quse input{width:auto; accent-color:var(--green);}
.qhp{position:absolute !important; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden;}
.qactions{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:4px;}
.qnote{font-family:var(--sans); font-size:12.5px; color:var(--ink-3); max-width:62ch; line-height:1.55; margin:0 0 24px;}
.qerr{font-family:var(--sans); font-size:13px; color:#7a2222; background:#f6e6e2; border:1px solid #e3c4bc; border-radius:4px; padding:10px 14px; margin:0 0 20px; display:none;}
/* warning red, defined once so it can be changed in one place */
:root{
  --warn:      #DC3545;
  --warn-dark: #B02A37;
  --warn-tint: #FDEDEE;
  --warn-edge: #F1B9BE;
}

/* the warning panel at the top of a section */
.qwarn{font-family:var(--sans); font-size:13.5px; line-height:1.55; color:var(--warn-dark);
       background:var(--warn-tint); border:1px solid var(--warn-edge); border-left:4px solid var(--warn);
       border-radius:4px; padding:12px 16px; margin:0 0 18px;}
.qwarn[hidden]{display:none;}
.qwarn p{margin:0;}
.qwarn p + p{margin-top:6px;}

/* a field the panel is complaining about */
.qfield.is-bad input,
.qfield.is-bad select,
.qfield.is-bad textarea{border-color:var(--warn); background:var(--warn-tint);}
.qfield.is-bad input:focus,
.qfield.is-bad select:focus,
.qfield.is-bad textarea:focus{border-color:var(--warn); box-shadow:0 0 0 3px rgba(220,53,69,.20);}
.qfield.is-bad > label{color:var(--warn-dark);}

/* twelve column grid, so a field is sized to what it actually holds */
.qgrid12{display:grid; grid-template-columns:repeat(12,1fr); gap:16px 20px;}
.qgrid12 .c4{grid-column:span 4;}
.qgrid12 .c6{grid-column:span 6;}
.qgrid12 .c8{grid-column:span 8;}
.qgrid12 .c12{grid-column:1 / -1;}
@media(max-width:700px){ .qgrid12 > *{grid-column:1 / -1;} }

/* the address box: three lines is what people actually write */
.qfield textarea.addr{min-height:76px;}

/* title radio row */
.qradios{display:flex; gap:22px; flex-wrap:wrap; margin-top:2px;}
.qradios label{display:flex; align-items:center; gap:8px; font-family:var(--sans); font-size:14px; font-weight:400; color:var(--ink-2); cursor:pointer;}
.qradios input{width:auto; accent-color:var(--green);}

/* the parenthetical beside PCT filing */
.quse label.full{grid-column:1 / -1; align-items:flex-start;}
.qaside{color:var(--ink-3); font-size:13px;}

/* chosen files, listed and removable */
.qfiles{list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:8px;}
.qfiles[hidden]{display:none;}
.qfile{display:flex; align-items:center; gap:12px; padding:9px 12px; border:1px solid var(--rule); border-radius:4px; background:var(--paper);}
.qfile-badge{flex:0 0 auto; min-width:44px; text-align:center; font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.06em; color:#fff; background:var(--green-2); border-radius:3px; padding:4px 6px;}
.qfile-name{flex:1 1 auto; font-family:var(--sans); font-size:14px; color:var(--ink); overflow-wrap:anywhere;}
.qfile-size{flex:0 0 auto; font-family:var(--sans); font-size:12.5px; color:var(--ink-3);}
.qfile-x{flex:0 0 auto; width:26px; height:26px; line-height:1; font-size:19px; color:var(--ink-3); background:none; border:1px solid var(--rule); border-radius:4px; cursor:pointer; padding:0;}
.qfile-x:hover{color:#7a2222; border-color:#e3c4bc; background:#f6e6e2;}
.qfield .qhint{font-family:var(--sans); font-size:12px; color:var(--ink-3); line-height:1.5;}
.qfield input[type=file]{padding:9px 12px; background:var(--paper); cursor:pointer; font-size:13.5px;}
@media(max-width:700px){ .qwrap{padding-left:22px; padding-right:22px;} .qgrid,.quse{grid-template-columns:1fr;} }

/* ===================== notes: sidebar navigation ======================= */
/* The year-dated notes are one continuous series, so each note page carries
   an index of the others. The list and the newer/older pair are written by
   tools/build-notes.php from tools/notes.json. Do not hand-edit them.      */

/* on a note page the title runs the full width of the header band rather
   than the 20ch default, which left it bunched against the left edge */
.page-head.note-head h1,
.page-head.pub-head h1{max-width:none;}

/* two columns, total width matched to .wrap so the header band above lines
   up with the content below */
.notes-layout{max-width:1220px; margin:0 auto; padding:26px 52px 0;
  display:grid; grid-template-columns:270px 1fr; gap:46px; align-items:start;}
.notes-layout > .exhibit{max-width:none; margin:0; padding:0;}

.notes-nav{position:sticky; top:88px;}
.nn-box{border:1px solid var(--rule); border-radius:4px; background:var(--card); overflow:hidden;}
.nn-head{padding:17px 20px 15px; border-bottom:1px solid var(--rule-fine);}
.nn-head .h{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--green-2); margin:0;}

.nn-list{max-height:calc(100vh - 260px); overflow-y:auto; padding:9px 0;}
.nn-list ul{list-style:none; margin:0; padding:0;}
.nn-list li{margin:0;}
.nn-list a{display:flex; gap:11px; align-items:baseline; padding:7px 14px 7px 11px;
  border-left:2px solid var(--rule); text-decoration:none; color:var(--ink-2);
  font-family:var(--sans); font-size:13.5px; line-height:1.34;}
.nn-list a .yr{flex:none; width:27px; font-size:10.5px; letter-spacing:.05em; color:var(--ink-3);}
.nn-list a:hover{color:var(--green); border-left-color:var(--green-2); background:var(--paper-2);}
.nn-list a.here{color:var(--green); border-left-color:var(--green); font-weight:600; background:var(--green-soft);}
.nn-list a.here .yr{color:var(--green-2);}

.nn-all{display:block; padding:13px 20px; border-top:1px solid var(--rule-fine);
  font-family:var(--sans); font-size:12.5px; font-weight:600; color:var(--green); text-decoration:none;}
.nn-all:hover{color:var(--green-2); background:var(--paper-2);}

.nn-pn{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0 0;}
.nn-pn a{border:1px solid var(--rule); border-radius:4px; background:var(--card);
  padding:14px 17px; text-decoration:none; display:block;}
.nn-pn a:hover{border-color:var(--green-2);}
.nn-pn .ttl{font-family:var(--serif); font-size:16.5px; line-height:1.25; color:var(--ink);}
.nn-pn a:hover .ttl{color:var(--green-2);}
.nn-pn .older{text-align:right;}
.nn-pn .older:only-child{grid-column:2;}

@media(max-width:1000px){
  .notes-layout{grid-template-columns:1fr; gap:30px; padding-left:22px; padding-right:22px;}
  .notes-nav{position:static; order:2;}
  .notes-layout > .exhibit{order:1;}
  .nn-list{max-height:none;}
  .nn-pn{grid-template-columns:1fr;}
  .nn-pn .older{text-align:left;}
}
