/* Shared public-site presentation. The protected opening homepage hero is excluded. */
.alignment-tick-minor,.alignment-tick-major{stroke:#d7bd8b;stroke-width:.8;opacity:.3}
.alignment-tick-major{opacity:.53;stroke-width:1}
.alignment-chainage{fill:#c9b489;font:8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;opacity:.7}
html[data-field-sheet] body{--paper:#f5f1e6;--ink:#152f3b;--blue:#28606a;--muted:#55686d;--line:#8d9c923b;background-color:#071e2c;background-image:linear-gradient(#a1b9bc05 1px,transparent 1px),linear-gradient(90deg,#a1b9bc05 1px,transparent 1px);background-size:38px 38px;color:var(--ink)}
html[data-field-sheet] body .site-header{background:#071e2cf5;border-color:#a7bdbb38;backdrop-filter:blur(16px)}
html[data-field-sheet] body .site-header nav a[aria-current=page]{color:#e9c689}
html[data-field-sheet] body .site-header nav a:first-child:not([aria-current=page]){color:#f7f7f2;font-weight:400}
html[data-field-sheet] body .site-header nav a:hover{color:#e9c689}
html[data-field-sheet] body .brand small{color:#abc2c5}
html[data-field-sheet] body main{position:relative;isolation:isolate;max-width:1240px;width:calc(100% - 176px);margin:112px auto 64px;padding:0}
html[data-field-sheet] body.journal-article main{max-width:1040px}
html[data-field-sheet] body main>.field-panel{position:relative;z-index:1;min-height:0;max-width:none;width:100%;margin:0 0 24px;padding:86px clamp(28px,4.4vw,64px) 58px;border:1px solid #aab7a74d;border-radius:9px;background:#f5f1e6;box-shadow:0 16px 42px #00000020;scroll-margin-top:96px;overflow:clip}
html[data-field-sheet] body main>.field-panel:after{content:'';position:absolute;top:13px;right:13px;width:12px;height:12px;background:linear-gradient(#8e9d9680,#8e9d9680) center/1px 12px no-repeat,linear-gradient(90deg,#8e9d9680,#8e9d9680) center/12px 1px no-repeat;pointer-events:none}
.field-stamp{position:absolute;top:25px;left:clamp(28px,4.4vw,64px);right:clamp(28px,4.4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid #8d9c923b;color:#62716b;font:9px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;pointer-events:none}
.field-stamp>span:first-child:before{content:'+';margin-right:12px;color:#9b793d}
html[data-field-sheet] body main>.field-panel>*{min-width:0}
.field-stamp>span:last-child{font-size:8px;letter-spacing:.12em;opacity:.8}
html[data-field-sheet] body main>.field-panel>.station{display:none}
html[data-field-sheet] body main>.field-intro{padding-top:86px;padding-bottom:54px;background:linear-gradient(90deg,#061c2bf5 0%,#061c2bda 45%,#061c2b5c 100%),linear-gradient(0deg,#071e2bf5,transparent 90%),url('assets/home/river-bridge-golden.webp') 62% 45%/cover;color:#f6f0df;border-color:#bda67559}
html[data-field-sheet] body.journal-article main>.field-intro,html[data-field-sheet] body.speaking-page main>.field-intro{background-image:linear-gradient(90deg,#061c2bf2,#061c2bd9 55%,#061c2b79),linear-gradient(0deg,#071e2bf2,transparent 95%),url('assets/home/wetland-roadway.webp')}
html[data-field-sheet] body .field-intro .field-stamp{color:#c9bd9f;border-color:#c5d4c730}
html[data-field-sheet] body .field-intro :is(h1,.df-display-copy){color:#faf2df}
html[data-field-sheet] body .field-intro h1{max-width:1000px;font-size:clamp(43px,5.1vw,76px);line-height:1.04;letter-spacing:-.045em;white-space:normal;overflow-wrap:normal}
html[data-field-sheet] body .field-intro :is(.lede,.ex-intro,.speaking-deck){color:#cfdddc;font-size:clamp(17px,1.6vw,21px);line-height:1.7}
html[data-field-sheet] body .field-intro :is(.eyebrow,.ex-kicker,.crumb,.text-link,.scroll-note){color:#e7c68d}
html[data-field-sheet] body .field-intro :is(.journal-byline,.speaking-image-caption,.df-meta-row span){color:#afc6c9}
html[data-field-sheet] body .field-intro .df-meta-row b{color:#e0e8df}
html[data-field-sheet] body .field-intro :is(.journal-article-nav a,.btn){color:#f0d3a1;border-color:#b1bfae69;background:#092532a3}
html[data-field-sheet] body .field-intro .journal-article-nav{border-color:#c5d4c738}
html[data-field-sheet] body .field-intro .btn.primary{background:#dfbd80;color:#102736;border-color:#dfbd80}
html[data-field-sheet] body .field-intro .project-development{background:#f7f0dff5;box-shadow:0 14px 40px #0002}
html[data-field-sheet] body .field-intro .project-development .text-link{color:#79520c}
html[data-field-sheet] body .section-head{margin-bottom:36px}
html[data-field-sheet] body .field-panel h2{font-size:clamp(30px,3.5vw,48px);line-height:1.12;letter-spacing:-.035em}
html[data-field-sheet] body .field-panel :is(.eyebrow,.ex-kicker){font-size:10px;letter-spacing:.13em}
html[data-field-sheet] body .field-panel p{overflow-wrap:break-word}
html[data-field-sheet] body .field-panel>.field-stamp~.crumb{margin-bottom:24px}
html[data-field-sheet] body .field-panel .btn{border-radius:3px}
html[data-field-sheet] body main>.speaking-engineers,html[data-field-sheet] body main>.about-communication{background:linear-gradient(130deg,#123b49,#092533);color:#f5f0df;border-color:#9dbcb34d}
html[data-field-sheet] body :is(.speaking-engineers,.about-communication) .field-stamp{color:#b9c9be;border-color:#b9c9be38}
html[data-field-sheet] body :is(.speaking-engineers,.about-communication) :is(.eyebrow,.speaking-pullquote,.text-link){color:#e4c28c}
html[data-field-sheet] body .speaking-engineers .speaking-practice-strip{color:#b7d0ce}
html[data-field-sheet] body .speaking-hero-copy{margin-bottom:32px}
html[data-field-sheet] body .speaking-build-card{border:1px solid #b7b79555;border-radius:5px;background:linear-gradient(135deg,#153d49,#071e2c)}
html[data-field-sheet] body .speaking-build-card em{color:#e3c18b}
html[data-field-sheet] body .about-page-intro .credential{color:#d1dedc;border-color:#b3c4bb55}
html[data-field-sheet] body .about-page-intro .credential dt{color:#b2c6c5}
html[data-field-sheet] body :is(.ex-architecture,.ex-exercise,.engineering-lab,.ex-foundation,.project-development){border-radius:5px}
html[data-field-sheet] body .ex-architecture{background:#e8ece3}
html[data-field-sheet] body .engineering-lab{background:#092b39;border-color:#627b7d}
html[data-field-sheet] body .engineering-lab .lab-center{stroke:#e1b56e}
html[data-field-sheet] body .ex-capabilities caption{text-align:left;padding:12px 0;font:11px/1.6 ui-monospace,monospace;letter-spacing:.05em;color:#536761}
html[data-field-sheet] body :is(.journal-article-related,.about-connect){background:linear-gradient(120deg,#e2e8da,#f5f1e6)}
html[data-field-sheet] body .journal-article-related .text-link{font-size:15px}
html[data-field-sheet] body .journal-article-figure{padding:12px;border:1px solid #9caaa04d;border-radius:4px;background:#e6ece4}
html[data-field-sheet] body .journal-article-figure figcaption{font:11px/1.7 ui-monospace,monospace}
html[data-field-sheet] body #project-list.editor-project-list{gap:18px;padding-top:86px!important}
html[data-field-sheet] body #project-list>.project-card{display:grid;grid-template-columns:220px minmax(0,1fr) 230px;grid-template-rows:auto auto 1fr;gap:12px 26px;padding:28px}
html[data-field-sheet] body #project-list>.project-card>.project-thumbnail{grid-column:1;grid-row:1/4;align-self:center;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;margin:0}
html[data-field-sheet] body #project-list>.project-card>h3{grid-column:2;grid-row:1;margin:0;font-size:29px}
html[data-field-sheet] body #project-list>.project-card>.project-development-tag{grid-column:2;grid-row:2;justify-self:start;margin:0;font-size:10px}
html[data-field-sheet] body #project-list>.project-card>p{grid-column:2;grid-row:3;margin:0;font-size:14px}
html[data-field-sheet] body #project-list>.project-card>.project-actions{grid-column:3;grid-row:1/4;align-self:center}
html[data-field-sheet] body .editor-project-list>.project-card{border:1px solid #b4c2b14a;border-radius:6px;background:linear-gradient(130deg,#123644,#092331);color:#f5efdf;box-shadow:0 12px 25px #0002}
html[data-field-sheet] body .editor-project-list>.project-card p{color:#bfced0}
html[data-field-sheet] body .editor-project-list>.project-card .project-title-link:hover{color:#e5c28c}
html[data-field-sheet] body .editor-project-list>.project-card .project-action{background:transparent;border-color:#a9b7a75c;color:#e7c88e;border-radius:3px}
html[data-field-sheet] body .editor-project-list>.project-card .project-action-primary{background:#d8b77c;border-color:#d8b77c;color:#102735}
html[data-field-sheet] body .editor-project-list>.project-card .project-thumbnail{background:#071c2b;border:1px solid #b5c1af50;border-radius:4px}
html[data-field-sheet] body #entries .entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0}
html[data-field-sheet] body #entries .entries article{display:flex;flex-direction:column;gap:12px;min-width:0;padding:26px 22px;border:1px solid #9aaea84d;border-radius:6px;background:linear-gradient(140deg,#153948,#092331);color:#f6f0e2}
html[data-field-sheet] body #entries .entries article[hidden]{display:none}
html[data-field-sheet] body #entries .entries article :is(time,span){font:9px/1.7 ui-monospace,monospace;color:#bbccca}
html[data-field-sheet] body #entries .entries article h3{font-size:24px;font-weight:500;line-height:1.25;letter-spacing:-.02em;margin:6px 0 0}
html[data-field-sheet] body #entries .entries article p{font-size:14px;line-height:1.75;color:#c3d1d2;margin:0 0 6px}
html[data-field-sheet] body #entries .entries article>.text-link{color:#ebc991;margin-top:auto;font-size:12px;padding-top:8px}
html[data-field-sheet] body .journal-tools :is(input,select){border-radius:4px;background:#fbf8ef}
.field-alignment{position:absolute;z-index:0;top:0;left:-70px;width:calc(100% + 100px);height:100%;pointer-events:none;overflow:visible}
.field-road{fill:none;stroke:#0d303f;stroke-width:17;stroke-linecap:round}
.field-center{fill:none;stroke:#b79b66;stroke-width:1;stroke-dasharray:7 11;opacity:.7}
html[data-field-sheet] body main>.df-transition{z-index:1;min-height:72svh;margin-bottom:24px;border-radius:9px;border:1px solid #9caea14d;background-color:#eeeede}
html[data-field-sheet] body .chapter-rail{display:none}
html[data-field-sheet] body footer{background:#061a27;color:#b6c9ca;border-color:#a7bdbb26;font-size:10px;padding-block:32px}
html[data-field-sheet] body footer :is(a,.back-to-top){color:#e4c38a}
html[data-field-sheet] body footer b{color:#ede9da;letter-spacing:.09em}
html[data-field-sheet] body :focus-visible{outline-color:#b07e32;outline-offset:5px}
@media(max-width:1100px){html[data-field-sheet] body #project-list>.project-card{grid-template-columns:180px minmax(0,1fr);gap:12px 22px}html[data-field-sheet] body #project-list>.project-card>.project-actions{grid-column:2;grid-row:4}html[data-field-sheet] body #entries .entries{grid-template-columns:1fr}html[data-field-sheet] body .field-stamp>span:last-child{display:none}html[data-field-sheet] body main{width:calc(100% - 132px)}}
@media(max-width:759px){
  html[data-field-sheet] body #project-list.editor-project-list{padding-top:70px!important}
  html[data-field-sheet] body #project-list>.project-card{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  html[data-field-sheet] body #project-list>.project-card>.project-thumbnail{width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover}
  html[data-field-sheet] body #project-list>.project-card>.project-development-tag{align-self:start}

  html[data-field-sheet] body main,html[data-field-sheet] body.journal-article main{width:auto;margin:88px 16px 32px 34px}
  html[data-field-sheet] body main>.field-panel{padding:70px 22px 36px;margin-bottom:18px;border-radius:6px}
  html[data-field-sheet] body main>.field-intro{padding-top:70px;padding-bottom:36px;background-position:62% center}
  .field-stamp{top:22px;left:22px;right:22px;font-size:8px;letter-spacing:.055em}
  .field-stamp>span:first-child:before{margin-right:8px}
  html[data-field-sheet] body .field-intro h1{font-size:clamp(34px,8.7vw,56px);line-height:1.04;overflow-wrap:anywhere}
  html[data-field-sheet] body .field-intro :is(.lede,.ex-intro,.speaking-deck){font-size:16px;line-height:1.7}
  html[data-field-sheet] body .field-panel h2{font-size:clamp(28px,7.5vw,38px)}
  html[data-field-sheet] body.journal-article .field-panel>p{font-size:16px;line-height:1.85}
  html[data-field-sheet] body .field-panel .project-development{padding:20px 16px}
  html[data-field-sheet] body .field-panel .project-development h2{font-size:23px}
  html[data-field-sheet] body .field-panel .project-development p{font-size:14px}
  html[data-field-sheet] body .field-panel .project-development dl{grid-template-columns:1fr}
  html[data-field-sheet] body .field-intro .journal-article-nav{gap:9px}
  html[data-field-sheet] body .field-intro .journal-article-nav a{font-size:12px}
  .field-alignment{left:-34px;width:calc(100% + 50px)}
  .field-road{stroke-width:8}.field-center{stroke-width:.8;stroke-dasharray:4 8}
  .alignment-chainage{font-size:7px;opacity:.62}
  .alignment-tick-minor{opacity:.24}.alignment-tick-major{opacity:.4}
  html[data-field-sheet] body .field-panel .speaking-hero-copy{margin-bottom:26px}
  html[data-field-sheet] body .field-panel .df-meta-row{grid-template-columns:1fr;gap:16px}
  html[data-field-sheet] body .field-intro .df-display-copy{font-size:28px}
  html[data-field-sheet] body main>.df-transition{min-height:70svh;margin-bottom:18px}
  html[data-field-sheet] body .field-panel .lab-controls{padding:18px}
  html[data-field-sheet] body .field-panel .lab-result{padding:18px}
  html[data-field-sheet] body .field-panel .ex-capabilities{font-size:12px}
  html[data-field-sheet] body .field-panel .ex-capabilities :is(th,td){padding:12px 4px;overflow-wrap:anywhere}
  html[data-field-sheet] body .field-panel .ex-capabilities th{font-size:9px}
  html[data-field-sheet] body .field-panel .ex-capabilities td:first-child{width:24%}
  html[data-field-sheet] body .field-panel .ex-capabilities caption{font-size:10px}
  html[data-field-sheet] body .field-panel .editor-project-list{gap:14px}
  html[data-field-sheet] body .editor-project-list>.project-card{padding:18px!important}
  html[data-field-sheet] body .editor-project-list>.project-card h3{font-size:26px!important;overflow-wrap:anywhere}
  html[data-field-sheet] body .site-header nav{background:#071e2cfb}
}
@media(max-width:480px){html[data-field-sheet] body .field-panel .petp-feature-grid{grid-template-columns:minmax(0,1fr)}html[data-field-sheet] body .field-panel .speaking-build{grid-template-columns:minmax(0,1fr)}}
@media print{html[data-field-sheet] body{background:white;color:#152f3b}.field-alignment,.field-stamp{display:none}html[data-field-sheet] body main{width:100%;margin:0}html[data-field-sheet] body main>.field-panel{box-shadow:none;border:0;padding:24px 0;margin:0}html[data-field-sheet] body main>.field-intro{background:#fff;color:#152f3b}html[data-field-sheet] body .field-intro :is(h1,p,a){color:#152f3b!important}html[data-field-sheet] body .field-panel:after{display:none}}
