
img{max-width:100%}header nav{flex-wrap:wrap}header nav a{padding:7px 0}.skip-link{position:absolute;left:12px;top:-80px;z-index:100;background:#fff;color:#202b29;padding:14px}.skip-link:focus{top:12px}.tdn-related{margin:38px auto;padding:26px 0;border-top:1px solid #d8d9cd;max-width:900px}.tdn-related h2{font:normal 27px Georgia,serif}.tdn-related ul{padding-left:22px;line-height:1.8}.tdn-related li{margin:10px 0}.tdn-footer-links{display:flex;gap:18px;flex-wrap:wrap}.tdn-social{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.tdn-social a,.tdn-clear{border:1px solid #68716a;padding:12px 16px;text-decoration:none;background:transparent;color:inherit;cursor:pointer}.tdn-quick{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 24px;border-top:1px solid #d8d9cd;padding-top:18px;font-size:14px}.tdn-quick a{line-height:1.6}.tdn-archive{padding:45px 0}.tdn-archive h1,.tdn-contact h1{font:normal clamp(36px,5vw,58px)/1.15 Georgia,serif}.tdn-archive p,.tdn-contact p{line-height:1.8}.tdn-controls{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:16px;padding:24px;background:#e9e8dc;margin:28px 0}.tdn-controls label{display:block;font-size:13px;font-weight:bold}.tdn-controls input,.tdn-controls select{display:block;width:100%;font:inherit;border:1px solid #68716a;background:#fff;color:#202b29;padding:13px;margin-top:9px;min-width:0}.tdn-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tdn-result{border-top:3px solid #b33227;padding:22px 0}.tdn-result h2{font:normal 27px/1.25 Georgia,serif;margin:14px 0}.tdn-result h2 a{text-underline-offset:4px}.tdn-result small{color:#68716a;line-height:1.7}.tdn-contact{max-width:820px;margin:45px auto}.tdn-contact h2{font:normal 29px Georgia,serif;margin-top:35px}.tdn-contact li{line-height:1.8;margin:10px 0}footer{flex-wrap:wrap}a,button,input,select{touch-action:manipulation}input:focus-visible,select:focus-visible{outline:3px solid #c76620;outline-offset:3px}.story-preview{grid-template-columns:minmax(180px,300px) 1fr;gap:30px;align-items:center}.story-preview img{max-height:280px;object-fit:contain;background:#eeece4}.story-preview h3{font-size:29px}.story-preview .button{padding:12px 16px}.story-preview p{margin:12px 0}.story-preview>a[style]{min-height:230px!important}.official-logo{max-width:100%}
@media(max-width:800px){.tdn-controls,.tdn-results{grid-template-columns:1fr}.story-preview{grid-template-columns:1fr}.story-preview img{max-height:340px}.tdn-archive{padding-top:25px}header nav{justify-content:flex-start;gap:8px 18px}.tdn-controls{padding:18px}.hero h1{font-size:clamp(40px,11vw,54px)}.tdn-quick{gap:12px}footer{line-height:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Shared TDN dark palette. */
:root{color-scheme:dark;--paper:#101923;--ink:#f1f3f5;--muted:#b7c3cf;--red:#ff9b8d;--line:#3b4b5c;--surface:#1c2a39;--blue:#9fcdf5}
body{background:var(--paper);color:var(--ink)}
header{border-bottom-color:var(--line)}
.official-logo{background:#fff;border-radius:4px}
.feature,.tdn-controls,.notice,.planning,.callout,#requestPanel{background:var(--surface);border-color:var(--line)}
.feature:before{color:#34475b}.feature .label,.feature p{color:var(--muted)}
.button,.primary{background:#b33227;color:#fff;border-color:#b33227}.button:hover,.primary:hover{background:#922a22}
.podcast{background:#182b3b;color:var(--ink);border:1px solid var(--line)}
.podcast .eyebrow{color:var(--red)}.podcast p{color:var(--muted)}.podcast-archive{border-color:var(--line)}
.filters button[aria-pressed=true]{background:#b33227;border-color:#b33227;color:#fff}
.tdn-related,.tdn-quick{border-color:var(--line)}.tdn-result small{color:var(--muted)}
.tdn-controls input,.tdn-controls select,input,select,textarea{background:#111d29;color:var(--ink);border-color:#64778a}
input::placeholder,textarea::placeholder{color:#aab8c6;opacity:1}
.story-preview img{background:var(--surface)}
.skip-link{background:var(--ink);color:var(--paper)}
.layout~footer,body:has(.layout) header{background:var(--paper)}
body:has(.layout) .brand img{background:#fff;border-radius:4px}
body:has(.layout) button,body:has(.layout) .outline{background:var(--surface);color:var(--ink)}
body:has(.layout) .primary,body:has(.layout) .stages button[aria-pressed=true]{background:#b33227;color:white;border-color:#b33227}
.stage-detail,.context,body:has(.layout) details,#results article{background:var(--surface)}
.stage-detail .ask{color:var(--blue)}.searchbar{background:#223c55;color:var(--ink)}
.searchbar>div{background:#111d29;color:var(--blue)}
th{background:#243c52;color:var(--ink)}td{border-color:var(--line)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#ffd080}
@media print{body{background:#fff;color:#172b3c} :root{--paper:#fff;--ink:#172b3c;--muted:#465563;--red:#a12c24;--line:#bbc4cc;--surface:#eef1f4;--blue:#123e67}}

/* San Juanico Bridge homepage cover, using the supplied photograph. */
.tdn-home .bridge-masthead{position:relative;isolation:isolate;min-height:320px;margin-top:18px;padding:24px;align-items:flex-start;border:1px solid var(--line);background:linear-gradient(180deg,rgba(8,17,27,.68) 0%,rgba(8,17,27,.12) 48%,rgba(8,17,27,.48) 100%),url("media/san-juanico-bridge-cover.webp") center 48%/cover no-repeat}
.bridge-masthead nav{margin-top:35px;gap:22px;padding:12px 15px;background:rgba(8,17,27,.82);border-radius:4px;color:#fff}
.bridge-masthead .official-logo{width:280px;height:105px;box-shadow:0 3px 18px #09111b55}
@media(max-width:1000px){.tdn-home .bridge-masthead{min-height:330px;padding:18px;flex-direction:column;justify-content:space-between;background-position:center,center 48%}.bridge-masthead nav{margin:70px 0 0;justify-content:flex-start;gap:8px 18px;width:100%;padding:10px 12px}.bridge-masthead .official-logo{width:250px;height:94px}}
@media print{.tdn-home .bridge-masthead{min-height:0;background:none;padding:0;border:0}.bridge-masthead nav{background:none;color:#172b3c}}
