:root{
  --paper:#F2EDE1;
  --paper2:#E8E0CE;
  --ink:#181509;
  --ink-soft:#3A3627;
  --pine:#1F4D3A;
  --pine-deep:#123027;
  --line:rgba(24,21,9,0.16);
  --line-soft:rgba(24,21,9,0.09);
  --stamp:#B5432E;
  --max:1180px;
  --serif:'Fraunces', serif;
  --sans:'IBM Plex Sans', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;} }
body{font-family:var(--sans); background:var(--paper); color:var(--ink); line-height:1.5; overflow-x:hidden; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; border:none; background:none; cursor:pointer; color:inherit;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
h1,h2,h3,h4{font-family:var(--serif); font-weight:600; letter-spacing:-0.01em; color:var(--ink);}
.tag{font-family:var(--mono); font-size:12.5px; letter-spacing:0.02em; color:var(--pine);}
::selection{background:var(--pine); color:var(--paper);}
:focus-visible{outline:2px solid var(--pine); outline-offset:3px;}

.btn{display:inline-flex; align-items:center; gap:8px; padding:13px 24px; font-size:14.5px; font-weight:600; cursor:pointer; white-space:nowrap; transition:transform .3s cubic-bezier(.2,.8,.2,1), background .25s ease, color .25s ease;}
.btn-fill{background:var(--ink); color:var(--paper); border-radius:3px;}
.btn-fill:hover{background:var(--pine-deep); transform:translateY(-2px);}
.btn-line{border:1px solid var(--line); border-radius:3px; color:var(--ink);}
.btn-line:hover{border-color:var(--ink); transform:translateY(-2px);}
.btn-line.on-ink{border-color:rgba(242,237,225,.3); color:var(--paper);}
.btn-line.on-ink:hover{border-color:var(--paper);}

/* ===== nav ===== */
header{position:fixed; top:0; left:0; right:0; z-index:200; padding:20px 0; transition:padding .3s ease, background .3s ease, box-shadow .3s ease; border-bottom:1px solid transparent;}
header.scrolled{padding:12px 0; background:rgba(242,237,225,.92); backdrop-filter:blur(10px); border-bottom-color:var(--line);}
.nav-row{display:flex; align-items:center; justify-content:space-between;}
.logo{display:flex; align-items:center; gap:10px; font-family:var(--serif); font-weight:700; font-size:19px;}
.logo-mark{width:30px; height:auto; flex-shrink:0; display:block;}
nav.primary{display:flex; align-items:center; gap:2px;}
nav.primary a.nav-link{display:block; padding:9px 15px; font-size:14px; font-weight:500;}
nav.primary a.nav-link:hover{color:var(--pine);}
.nav-actions{display:flex; align-items:center; gap:10px;}
.mobile-toggle{display:none; width:40px; height:40px; align-items:center; justify-content:center;}
.mobile-toggle span{display:block; width:20px; height:1.6px; background:var(--ink); position:relative;}
.mobile-toggle span::before,.mobile-toggle span::after{content:""; position:absolute; left:0; width:20px; height:1.6px; background:var(--ink); transition:transform .3s ease, top .3s ease;}
.mobile-toggle span::before{top:-6px;} .mobile-toggle span::after{top:6px;}
.mobile-toggle.active span{background:transparent;}
.mobile-toggle.active span::before{top:0; transform:rotate(45deg);}
.mobile-toggle.active span::after{top:0; transform:rotate(-45deg);}
.mobile-panel{position:fixed; inset:0; background:var(--ink); color:var(--paper); z-index:190; display:flex; flex-direction:column; padding:110px 32px 40px; transform:translateY(-100%); transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.mobile-panel.open{transform:translateY(0);}
.mobile-panel a{font-family:var(--serif); font-size:28px; font-weight:600; padding:13px 0; border-bottom:1px solid rgba(242,237,225,.12);}
.mobile-panel .btn{margin-top:26px; align-self:flex-start;}

/* ===== hero: the manifest ===== */
.hero{padding:150px 0 0; background:var(--paper);}
.hero-top{display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:end; padding-bottom:50px;}
.hero-top .tag{display:block; margin-bottom:18px;}
.hero h1{font-size:clamp(38px,4.6vw,64px); line-height:1.04; letter-spacing:-0.015em;}
.hero-top p{font-size:16.5px; color:var(--ink-soft); max-width:380px; line-height:1.6; padding-bottom:6px;}
.hero-ctas{display:flex; gap:12px; margin-top:30px; flex-wrap:wrap;}

.manifest{border-top:2px solid var(--ink); border-bottom:1px solid var(--line);}
.manifest-row{display:grid; grid-template-columns:70px 1.4fr 1fr 1fr 110px; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line-soft); font-size:14px;}
.manifest-row.head{font-family:var(--mono); font-size:11.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em; padding:12px 0;}
.manifest-row .ref{font-family:var(--mono); color:var(--pine); font-size:13px;}
.manifest-row .primary-col{font-family:var(--serif); font-weight:600; font-size:15.5px;}
.manifest-row .sub-col{color:var(--ink-soft); font-size:13.5px;}
.status-pill{font-family:var(--mono); font-size:11px; padding:5px 10px; border:1px solid var(--pine); color:var(--pine); border-radius:2px; justify-self:start; letter-spacing:.02em;}
.status-pill.live::before{content:"● "; }
.wrap.manifest-wrap{padding:0 32px;}

/* ===== sections ===== */
.section{padding:110px 0;}
.section-ink{background:var(--ink); color:var(--paper);}
.section-ink .tag{color:#7FBF9B;}
.head-row{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:54px; flex-wrap:wrap;}
.head-row h2{font-size:clamp(28px,3vw,42px); max-width:600px; line-height:1.1;}
.head-row p{max-width:340px; color:var(--ink-soft); font-size:15px; line-height:1.6;}
.section-ink .head-row p{color:#C7C3B3;}
.rule-top{border-top:2px solid var(--ink); padding-top:14px;}
.section-ink .rule-top{border-top-color:var(--paper);}

/* ===== services ledger ===== */
.svc-shell{border-top:2px solid var(--ink);}
.svc-row{display:grid; grid-template-columns:70px 1fr 240px; gap:20px; align-items:center; padding:24px 0; border-bottom:1px solid var(--line); cursor:pointer; transition:background .2s ease;}
.svc-row:hover{background:rgba(24,21,9,0.03);}
.svc-row.active{background:var(--ink); color:var(--paper); margin:0 -32px; padding-left:32px; padding-right:32px; border-color:transparent;}
.svc-row .idx{font-family:var(--mono); font-size:13px; color:var(--pine);}
.svc-row.active .idx{color:#7FBF9B;}
.svc-row h3{font-size:22px; font-weight:600;}
.svc-row .arrow{justify-self:end; font-family:var(--mono); font-size:13px; opacity:0; transform:translateX(-6px); transition:all .25s ease;}
.svc-row.active .arrow{opacity:1; transform:translateX(0); color:#7FBF9B;}
.svc-detail{display:none; padding:34px 0 46px; animation:fadein .45s ease;}
.svc-detail.active{display:grid; grid-template-columns:1fr 320px; gap:40px;}
@keyframes fadein{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}
.svc-detail p{color:var(--ink-soft); font-size:15px; line-height:1.7; max-width:520px;}
.svc-detail ul{margin-top:18px; display:flex; flex-direction:column; gap:8px;}
.svc-detail ul li{font-size:14px; padding-left:16px; position:relative;}
.svc-detail ul li::before{content:"—"; position:absolute; left:0; color:var(--pine);}
.svc-figures{border-left:1px solid var(--line); padding-left:32px;}
.svc-figures .fig{padding:14px 0; border-bottom:1px solid var(--line-soft);}
.svc-figures .fig:first-child{padding-top:0;}
.svc-figures .fig b{display:block; font-family:var(--serif); font-size:26px; font-weight:700; color:var(--pine);}
.svc-figures .fig span{font-size:12px; color:var(--ink-soft); font-family:var(--mono);}

/* ===== ledger stats (why us) ===== */
.ledger-stats{border-top:1px solid rgba(242,237,225,.25);}
.lstat-row{display:grid; grid-template-columns:120px 1fr 160px; gap:20px; align-items:baseline; padding:26px 0; border-bottom:1px solid rgba(242,237,225,.14);}
.lstat-row .num{font-family:var(--serif); font-size:36px; font-weight:700; color:var(--paper);}
.lstat-row .label{font-size:15px; color:#C7C3B3;}
.lstat-row .ref{font-family:var(--mono); font-size:12px; color:#7FBF9B; text-align:right;}
.diff-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(242,237,225,.14); margin-top:50px; border:1px solid rgba(242,237,225,.14);}
.diff-card{background:var(--ink); padding:28px 24px;}
.diff-card .tag{display:block; margin-bottom:14px;}
.diff-card h4{font-size:16px; color:var(--paper); margin-bottom:8px;}
.diff-card p{font-size:13.5px; color:#C7C3B3; line-height:1.55;}

/* ===== process ===== */
.process-list{border-top:2px solid var(--ink);}
.proc-row{display:grid; grid-template-columns:90px 1fr 2fr; gap:24px; padding:30px 0; border-bottom:1px solid var(--line); align-items:start; position:relative;}
.proc-row .idx{font-family:var(--serif); font-size:34px; font-weight:700; color:var(--line); transition:color .4s ease;}
.proc-row.in .idx{color:var(--pine);}
.proc-row h4{font-size:19px; margin-bottom:6px;}
.proc-row p{font-size:14.5px; color:var(--ink-soft); line-height:1.6; max-width:440px;}
.proc-bar{height:3px; background:var(--line); position:relative; margin-top:6px;}
.proc-bar-fill{position:absolute; top:0; left:0; height:100%; background:var(--pine); width:0%; transition:width .8s ease;}

/* ===== industries ===== */
.ind-shell{display:grid; grid-template-columns:280px 1fr; border:1px solid var(--line); border-top:2px solid var(--ink);}
.ind-list{border-right:1px solid var(--line);}
.ind-btn{width:100%; text-align:left; padding:18px 22px; font-family:var(--serif); font-size:16px; font-weight:600; border-bottom:1px solid var(--line-soft); display:flex; justify-content:space-between; color:var(--ink-soft);}
.ind-btn:last-child{border-bottom:none;}
.ind-btn.active{color:var(--ink); background:rgba(31,77,58,0.06);}
.ind-btn .ref{font-family:var(--mono); font-size:11px; color:var(--pine);}
.ind-detail{padding:40px 44px;}
.ind-panel{display:none; animation:fadein .45s ease;}
.ind-panel.active{display:block;}
.ind-panel h3{font-size:24px; margin-bottom:12px;}
.ind-panel p{color:var(--ink-soft); font-size:14.5px; line-height:1.65; max-width:460px; margin-bottom:22px;}
.ind-chips{display:flex; flex-wrap:wrap; gap:10px;}
.ind-chips span{font-family:var(--mono); font-size:12px; padding:7px 12px; border:1px solid var(--line); color:var(--ink-soft);}

/* ===== global ledger ===== */
.region-table{border-top:2px solid var(--ink);}
.region-row{display:grid; grid-template-columns:60px 1.3fr 1.6fr 100px; gap:18px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line);}
.region-row .ref{font-family:var(--mono); font-size:12px; color:var(--pine);}
.region-row h4{font-size:18px;}
.region-row .role{font-size:13.5px; color:var(--ink-soft);}
.region-row .tz{font-family:var(--mono); font-size:13px; text-align:right;}

/* ===== technology flow ===== */
.flow{display:flex; align-items:center; gap:0; flex-wrap:wrap; justify-content:center; margin-top:10px;}
.flow-node{border:1px solid rgba(242,237,225,.25); padding:20px 22px; font-size:13.5px; font-weight:600; text-align:center; min-width:150px; font-family:var(--mono); color:var(--paper);}
.flow-node .sub{display:block; font-weight:400; font-size:11.5px; color:#7FBF9B; margin-top:6px;}
.flow-arrow{width:40px; height:1px; background:rgba(242,237,225,.3); position:relative; margin:0 2px;}
.flow-arrow::after{content:"›"; position:absolute; right:-8px; top:-11px; color:#7FBF9B; font-size:16px;}
@media (max-width:900px){.flow-arrow{width:1px; height:26px; margin:2px 0;} .flow-arrow::after{right:-6px; top:auto; bottom:-4px; transform:rotate(90deg);} .flow{flex-direction:column;}}

/* ===== security ===== */
.sec-grid{display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--ink); border-left:1px solid var(--line);}
.sec-card{border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 26px;}
.sec-card h4{font-size:15.5px; margin-bottom:10px;}
.sec-card p{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}
.badge-row{display:flex; gap:12px; margin-top:40px; flex-wrap:wrap;}
.badge{border:1px dashed var(--line); padding:12px 18px; font-family:var(--mono); font-size:11.5px; color:var(--ink-soft);}

/* ===== case studies ===== */
.case-list{border-top:2px solid var(--paper);}
.case-row{display:grid; grid-template-columns:70px 1.6fr 1fr 90px; gap:20px; align-items:center; padding:26px 0; border-bottom:1px solid rgba(242,237,225,.16); cursor:pointer; transition:background .2s ease;}
.case-row:hover{background:rgba(242,237,225,.05);}
.case-row .ref{font-family:var(--mono); font-size:12.5px; color:#7FBF9B;}
.case-row h4{color:var(--paper); font-size:19px;}
.case-row .desc{color:#C7C3B3; font-size:13.5px; margin-top:4px;}
.case-row .metric{font-family:var(--mono); font-size:13px; color:#7FBF9B; text-align:right;}
.case-row .open{font-family:var(--mono); font-size:12px; color:var(--paper); text-align:right;}

.modal-overlay{position:fixed; inset:0; background:rgba(24,21,9,.7); backdrop-filter:blur(3px); z-index:300; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s;}
.modal-overlay.open{opacity:1; visibility:visible;}
.modal{background:var(--paper); max-width:560px; width:100%; padding:40px; max-height:85vh; overflow-y:auto; border-top:3px solid var(--pine); transform:scale(.95); transition:transform .3s cubic-bezier(.2,.8,.2,1);}
.modal-overlay.open .modal{transform:scale(1);}
.modal-close{float:right; font-family:var(--mono); font-size:20px; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line);}
.modal h3{font-size:23px; margin:16px 0 4px; clear:both;}
.modal .stage{margin-top:18px; border-top:1px solid var(--line-soft); padding-top:14px;}
.modal .stage b{display:block; font-family:var(--mono); font-size:11.5px; color:var(--pine); margin-bottom:6px; text-transform:uppercase; letter-spacing:.03em;}
.modal .stage p{font-size:14px; color:var(--ink-soft); line-height:1.6;}

/* ===== testimonials ===== */
.testi-wrap{max-width:720px; margin:0 auto; text-align:center;}
.testi-slide{display:none; animation:fadein .45s ease;}
.testi-slide.active{display:block;}
.testi-slide p.quote{font-family:var(--serif); font-size:clamp(19px,2.2vw,26px); font-weight:500; line-height:1.45;}
.testi-who{margin-top:24px; display:flex; align-items:center; justify-content:center; gap:12px;}
.testi-avatar{width:38px; height:38px; border:1px solid var(--ink); font-family:var(--mono); font-size:13px; display:flex; align-items:center; justify-content:center;}
.testi-name{font-size:14px; font-weight:600;}
.testi-role{font-size:12.5px; color:var(--ink-soft); font-family:var(--mono);}
.testi-nav{display:flex; justify-content:center; gap:14px; margin-top:32px; align-items:center;}
.testi-arrow{width:36px; height:36px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; transition:all .2s ease;}
.testi-arrow:hover{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.testi-dots{display:flex; gap:7px;}
.testi-dot{width:6px; height:6px; background:var(--line); transition:all .3s ease;}
.testi-dot.active{background:var(--pine); width:18px;}

/* ===== careers ===== */
.careers-shell{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
.job-row{display:flex; justify-content:space-between; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); gap:14px;}
.job-row:first-child{border-top:2px solid var(--ink);}
.job-title{font-family:var(--serif); font-size:16.5px; font-weight:600;}
.job-meta{font-family:var(--mono); font-size:12px; color:var(--ink-soft); margin-top:4px;}
.job-apply{font-family:var(--mono); font-size:12.5px; color:var(--pine); flex-shrink:0;}
.perk-list{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:32px;}
.perk{font-size:13.5px; color:var(--ink-soft); padding-left:16px; position:relative;}
.perk::before{content:"—"; position:absolute; left:0; color:var(--pine);}

/* ===== contact ===== */
.contact-shell{display:grid; grid-template-columns:.95fr 1.05fr; gap:60px;}
.field{margin-bottom:18px;}
.field label{display:block; font-family:var(--mono); font-size:12px; margin-bottom:8px; color:var(--ink-soft);}
.field input, .field select, .field textarea{width:100%; padding:12px 14px; border:1px solid var(--line); font-family:inherit; font-size:14.5px; background:var(--paper); color:var(--ink); border-radius:2px; transition:border-color .2s ease;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--pine); outline:none;}
.field.error input, .field.error select{border-color:var(--stamp);}
.field .err-msg{display:none; font-size:12px; color:var(--stamp); margin-top:6px;}
.field.error .err-msg{display:block;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-status{margin-top:16px; font-size:13.5px; padding:12px 16px; display:none; border:1px solid var(--line);}
.form-status.show{display:block;}
.form-status.ok{border-color:var(--pine); color:var(--pine);}
.contact-side{border:1px solid var(--line); border-top:2px solid var(--ink); padding:40px;}
.contact-side h3{font-size:22px; margin-bottom:14px;}
.contact-side p{font-size:14px; color:var(--ink-soft); line-height:1.65; margin-bottom:26px;}
.contact-row{display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-top:1px solid var(--line-soft);}
.contact-row .lbl{font-family:var(--mono); font-size:11.5px; color:var(--ink-soft);}
.contact-row .val{font-size:14px; font-weight:600; text-align:right;}

/* ===== footer ===== */
footer{background:var(--ink); color:var(--paper); padding:70px 0 26px;}
.foot-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(242,237,225,.16);}
.foot-brand p{font-size:13.5px; color:#C7C3B3; margin-top:16px; max-width:280px; line-height:1.6;}
.foot-social{display:flex; gap:10px; margin-top:22px;}
.foot-social a{width:34px; height:34px; border:1px solid rgba(242,237,225,.25); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:12px;}
.foot-social a:hover{background:var(--paper); color:var(--ink);}
.foot-col h5{font-family:var(--mono); font-size:11.5px; color:#7FBF9B; margin-bottom:16px;}
.foot-col a{display:block; font-size:14px; color:#C7C3B3; padding:5px 0;}
.foot-col a:hover{color:var(--paper);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-family:var(--mono); font-size:12px; color:#8B876F; flex-wrap:wrap; gap:10px;}

.reveal{opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);}
.reveal.in{opacity:1; transform:translateY(0);}

@media (max-width:1000px){
  .hero-top{grid-template-columns:1fr;}
  .manifest-row{grid-template-columns:50px 1.4fr 1fr 90px; }
  .manifest-row .sub-col:nth-child(4){display:none;}
  .manifest-row.head > *:nth-child(4){display:none;}
  .diff-grid{grid-template-columns:1fr 1fr;}
  .svc-detail.active{grid-template-columns:1fr;}
  .svc-figures{border-left:none; border-top:1px solid var(--line); padding-left:0; padding-top:20px;}
  .ind-shell{grid-template-columns:1fr;}
  .ind-list{border-right:none; border-bottom:1px solid var(--line);}
  .sec-grid{grid-template-columns:1fr 1fr;}
  .careers-shell, .contact-shell{grid-template-columns:1fr;}
  .case-row{grid-template-columns:40px 1fr; }
  .case-row .metric, .case-row .open{display:none;}
}
@media (max-width:720px){
  nav.primary, .nav-actions .btn-line{display:none;}
  .mobile-toggle{display:flex;}
  .wrap{padding:0 20px;}
  .svc-row.active{margin:0 -20px; padding-left:20px; padding-right:20px;}
  .svc-row{grid-template-columns:36px 1fr; gap:12px;}
  .svc-row .arrow{display:none;}
  .section{padding:70px 0;}
  .hero{padding:120px 0 0;}
  .manifest-row{grid-template-columns:40px 1fr 70px;}
  .manifest-row .sub-col{display:none;}
  .manifest-row.head > *:nth-child(3){display:none;}
  .diff-grid, .lstat-row, .row2, .perk-list{grid-template-columns:1fr;}
  .lstat-row{grid-template-columns:1fr; gap:6px;}
  .lstat-row .ref{text-align:left;}
  .proc-row{grid-template-columns:50px 1fr; row-gap:6px;}
  .proc-row > div:nth-child(2), .proc-row > div:nth-child(3){grid-column:2;}
  .region-row{grid-template-columns:30px 1fr; row-gap:4px;}
  .region-row .role, .region-row .tz{grid-column:2;}
  .sec-grid{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr 1fr; gap:28px 20px;}
  .head-row{flex-direction:column; align-items:flex-start;}
}
@media (max-width:400px){
  .nav-actions .btn-fill{display:none;}
}

/* ===== sub-page additions (services / industries / about / careers / contact pages) ===== */
.breadcrumb{font-family:var(--mono); font-size:12px; color:var(--ink-soft); padding:150px 0 0; display:flex; gap:8px; flex-wrap:wrap;}
.breadcrumb a{color:var(--pine);}
.breadcrumb a:hover{text-decoration:underline;}
.page-hero{padding:26px 0 90px; border-bottom:2px solid var(--ink);}
.page-hero .tag{display:block; margin-bottom:16px;}
.page-hero h1{font-size:clamp(32px,4.2vw,54px); line-height:1.05; letter-spacing:-0.015em; max-width:760px;}
.page-hero p.lede{margin-top:22px; font-size:16.5px; color:var(--ink-soft); max-width:560px; line-height:1.65;}
.page-hero .hero-ctas{display:flex; gap:12px; margin-top:30px; flex-wrap:wrap;}

.content-block{max-width:720px;}
.content-block p{font-size:15.5px; color:var(--ink-soft); line-height:1.75; margin-bottom:20px;}
.content-block h2{font-size:26px; margin:44px 0 16px;}
.content-block ul{margin:0 0 24px; display:flex; flex-direction:column; gap:10px;}
.content-block ul li{font-size:15px; padding-left:18px; position:relative; color:var(--ink-soft);}
.content-block ul li::before{content:"—"; position:absolute; left:0; color:var(--pine);}

.two-col{display:grid; grid-template-columns:1fr 320px; gap:56px; align-items:start;}
.side-figures{border-left:1px solid var(--line); padding-left:32px; position:sticky; top:110px;}
.side-figures .fig{padding:16px 0; border-bottom:1px solid var(--line-soft);}
.side-figures .fig:first-child{padding-top:0;}
.side-figures .fig b{display:block; font-family:var(--serif); font-size:28px; font-weight:700; color:var(--pine);}
.side-figures .fig span{font-size:12px; color:var(--ink-soft); font-family:var(--mono);}
.side-cta{margin-top:28px; padding-top:24px; border-top:1px solid var(--line);}

.related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:20px;}
.related-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.related-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.related-card{background:var(--paper); padding:26px 24px; transition:background .2s ease;}
.related-card:hover{background:var(--paper2);}
.related-card .ref{font-family:var(--mono); font-size:11.5px; color:var(--pine);}
.related-card h4{font-size:16.5px; margin:10px 0 8px;}
.related-card p{font-size:13.5px; color:var(--ink-soft); line-height:1.55; margin:0;}

.value-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:10px;}
.value-card{background:var(--paper); padding:28px 26px;}
.value-card .idx{font-family:var(--mono); font-size:12px; color:var(--pine); display:block; margin-bottom:12px;}
.value-card h4{font-size:17px; margin-bottom:8px;}
.value-card p{font-size:14px; color:var(--ink-soft); line-height:1.6;}

@media (max-width:1000px){
  .two-col{grid-template-columns:1fr;}
  .side-figures{border-left:none; padding-left:0; position:static; border-top:1px solid var(--line); padding-top:24px;}
  .related-grid, .related-grid.cols-2, .related-grid.cols-3{grid-template-columns:1fr 1fr;}
  .value-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .breadcrumb{padding:120px 0 0;}
  .page-hero{padding:20px 0 60px;}
  .related-grid, .related-grid.cols-2, .related-grid.cols-3{grid-template-columns:1fr;}
}
