/* Presentation pages on a project page (assets/js/project-presentation.js). */
.project-presentation-pages{background:var(--paper,#f5f2e9);padding:clamp(40px,6vw,88px) 0}
.pres-pages{display:grid;gap:14px;margin-top:22px}
.pres-page{border:1px solid var(--line,#d9e0e1);background:var(--white,#fff)}
.pres-page>summary{display:flex;align-items:center;gap:18px;padding:22px clamp(18px,3vw,32px);cursor:pointer;list-style:none;color:var(--navy,#003f57)}
.pres-page>summary::-webkit-details-marker{display:none}
.pres-page>summary:hover .pres-page-title{color:var(--teal-dark,#00766f)}
.pres-page>summary:focus-visible{outline:2px solid var(--teal-dark,#00766f);outline-offset:-2px}
.pres-page-title{flex:1;font-size:clamp(1.15rem,2vw,1.6rem);font-weight:400;line-height:1.25;transition:color .2s}
.pres-page-source{flex:none;padding:4px 10px;border:1px solid var(--line,#d9e0e1);color:var(--ink-soft,#668793);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}
.pres-page-toggle{position:relative;flex:none;width:34px;height:34px;border:1px solid var(--line,#d9e0e1);border-radius:50%;transition:background .2s,transform .25s}
.pres-page-toggle::before,.pres-page-toggle::after{content:"";position:absolute;top:50%;left:50%;width:12px;height:1.5px;background:var(--navy,#003f57);transform:translate(-50%,-50%)}
.pres-page-toggle::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s}
.pres-page[open] .pres-page-toggle{background:var(--navy,#003f57)}
.pres-page[open] .pres-page-toggle::before,.pres-page[open] .pres-page-toggle::after{background:var(--gold,#fdda72)}
.pres-page[open] .pres-page-toggle::after{transform:translate(-50%,-50%) rotate(0)}
.pres-page-body{display:grid;gap:22px;padding:6px clamp(18px,3vw,32px) clamp(22px,3vw,34px);border-top:1px solid var(--line,#d9e0e1);padding-top:clamp(20px,2.4vw,28px);color:#123b4b}
.pres-page-body>p{margin:0;line-height:1.65}

/* columns of a slide; panels are the tinted boxes of the slide */
.pres-columns,.pres-flow{display:grid;gap:22px}
.pres-columns.is-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.pres-column{display:grid;gap:16px;align-content:start;min-width:0}
.pres-column.is-panel{padding:22px 24px;background:#f1f5f6;border-left:3px solid var(--gold,#c9a44a)}
.pres-heading{margin:0;color:var(--navy,#003f57);font-size:1.05rem;font-weight:500;line-height:1.35}
.pres-text{margin:0;line-height:1.65;font-size:.88rem}
.pres-text.is-muted{color:var(--ink-soft,#668793);font-size:.8rem}
.pres-text.is-strong{font-weight:500;color:var(--navy,#003f57)}
.pres-note{display:flex;gap:12px;align-items:flex-start;margin:0;padding:12px 16px;background:#eaf4f1;color:#0b5e58;font-size:.82rem;line-height:1.55}
.pres-note span{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:#0b5e58;color:#fff;font:600 .7rem/1 Georgia,serif;font-style:italic}

/* numbered steps */
.pres-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:none}
.pres-steps li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;font-size:.9rem;line-height:1.55}
.pres-steps b,.pres-cards b{display:grid;place-items:center;width:36px;height:36px;background:var(--gold,#c9a44a);color:#14284b;font-weight:600;font-size:.85rem}
.pres-steps li span{padding-top:6px}
.pres-steps strong{font-weight:600;color:var(--navy,#003f57)}

/* requirement cards */
.pres-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px}
.pres-cards article{display:grid;gap:10px;align-content:start;padding:20px;background:#f1f5f6;border-top:3px solid var(--gold,#c9a44a)}
.pres-cards h5{margin:4px 0 0;color:var(--navy,#003f57);font-size:1rem;font-weight:500}
.pres-cards small{margin-top:-6px;color:var(--ink-soft,#668793);font-size:.74rem}
.pres-cards p{margin:0;font-size:.84rem;line-height:1.55;color:#24505f}

/* big figures */
.pres-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;border:1px solid var(--line,#d9e0e1)}
.pres-metrics div{padding:18px 20px;border-right:1px solid var(--line,#d9e0e1)}
.pres-metrics div:last-child{border-right:0}
.pres-metrics dt{color:var(--navy,#003f57);font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:300;line-height:1.1}
.pres-metrics dd{margin:6px 0 0;color:var(--ink-soft,#668793);font-size:.72rem}

/* tables */
.pres-table{overflow-x:auto;border:1px solid var(--line,#d9e0e1)}
.pres-table:focus-visible{outline:2px solid var(--teal-dark,#00766f)}
.pres-table table{width:100%;min-width:560px;border-collapse:collapse;font-size:.82rem}
.pres-table th{padding:12px 14px;background:#14284b;color:#fff;font-weight:500;text-align:left;vertical-align:bottom;font-size:.72rem;letter-spacing:.02em}
.pres-table td{padding:11px 14px;border-top:1px solid #e4eaeb;vertical-align:top;line-height:1.45}
.pres-table tbody tr:nth-child(even) td{background:#f7f9f9}
.pres-table td.is-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.pres-table th:first-child,.pres-table td:first-child{width:1%;white-space:nowrap}
.pres-table td:first-child{color:var(--ink-soft,#668793)}
.pres-table tr.is-total td{background:#fff6d9!important;border-top:2px solid var(--gold,#c9a44a);color:#14284b;font-weight:600}

/* charts kept as pictures */
.pres-figure{margin:0;padding:16px;border:1px solid var(--line,#d9e0e1);background:#fff;overflow-x:auto}
.pres-figure img{display:block;width:100%;min-width:620px;height:auto}

/* hero: download the presentation */
.project-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px}
.project-download{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 22px 0 18px;background:var(--gold,#fdda72);color:#001e2b;font-size:.82rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s}
.project-download:hover{background:#ffe38c;transform:translateY(-1px)}
.project-download>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#001e2b;color:var(--gold,#fdda72);font-size:.85rem}
.project-download small{font-size:.66rem;font-weight:400;opacity:.7}
.project-download-open{color:#fff;font-size:.78rem;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(255,255,255,.45)}
.project-download-open:hover{text-decoration-color:currentColor}

@media(max-width:760px){
  .pres-page>summary{flex-wrap:wrap;gap:10px 14px;padding:18px}
  .pres-page-title{flex-basis:calc(100% - 50px)}
  .pres-page-source{order:3}
  .pres-columns.is-split{grid-template-columns:1fr}
  .pres-column.is-panel{padding:18px}
  .pres-metrics div{border-right:0;border-bottom:1px solid var(--line,#d9e0e1)}
  .project-download{width:100%;justify-content:center}
}
