/* Pacific Coast Excavating — digpce.ca
   Palette: inlet-dark fjord, survey orange, concrete paper, basalt ink, steel. */
@font-face{font-family:Barlow;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/barlow-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Barlow;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/barlow-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:Barlow;font-weight:500;font-display:swap;src:url(/fonts/barlow-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Barlow;font-weight:600;font-display:swap;src:url(/fonts/barlow-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:800;font-display:swap;src:url(/fonts/barlow-condensed-latin-800-normal.woff2) format('woff2')}

:root{
  --fjord:#16262B; --fjord-2:#1F363D; --fjord-3:#2C4A53;
  --signal:#F26A1B; --signal-ink:#9A3A05;
  --paper:#F1F2EE; --stone:#E2E4DE; --ink:#1A2326; --steel:#56656B; --line:#C7CCC4;
  --on-dark:#E9EEEC; --on-dark-2:#A9B9BC;
  --display:'Barlow Condensed','Arial Narrow',sans-serif; --body:Barlow,system-ui,sans-serif;
  --wrap:1240px; --gutter:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body);font-feature-settings:'kern','liga'}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--signal-ink)}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px;top:0;background:var(--signal);color:#000;padding:10px 16px;z-index:100}
.skip:focus{left:16px}
h1,h2,h3{font-family:var(--display);line-height:1;letter-spacing:-.01em;margin:0 0 .5em;text-wrap:balance}
h1{font-weight:800;font-size:clamp(2.6rem,6.4vw,5.6rem)}
h2{font-weight:700;font-size:clamp(1.9rem,3.6vw,3rem)}
h3{font-weight:700;font-size:1.55rem;line-height:1.1}
p{margin:0 0 1em;max-width:68ch}
ul{max-width:68ch}

/* Header */
.site-head{position:sticky;top:0;z-index:50;background:var(--fjord);color:var(--on-dark);border-bottom:1px solid #0d181b}
.site-head .wrap{display:flex;align-items:center;gap:24px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand img{width:118px;height:auto}
.brand span{font:600 .95rem/1.1 var(--body);color:var(--on-dark-2);max-width:9.5em}
@media (max-width:1320px) and (min-width:1181px){.brand span{display:none}}
.nav{margin-left:auto;display:flex;gap:4px;align-items:center}
.nav a{color:var(--on-dark);text-decoration:none;font:600 1.12rem/1 var(--display);padding:10px 9px;border-radius:2px;letter-spacing:.01em;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{color:#fff;background:var(--fjord-2)}
.nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--signal)}
.call{flex:none;display:inline-flex;align-items:center;gap:8px;background:var(--signal);color:#111;text-decoration:none;font:700 1.2rem/1 var(--display);padding:12px 16px;border-radius:2px}
.call:hover{background:#ff8a45;color:#111}
.call svg{width:18px;height:18px}
.menu-btn{display:none}
@media (max-width:1180px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--fjord);flex-direction:column;align-items:stretch;padding:8px var(--gutter) 20px;border-bottom:1px solid #0d181b}
  .nav.open{display:flex}
  .nav a{padding:14px 6px;font-size:1.4rem;border-bottom:1px solid var(--fjord-2)}
  .menu-btn{display:inline-flex;margin-left:auto;background:none;border:1px solid var(--fjord-3);color:var(--on-dark);font:700 1.1rem/1 var(--display);padding:11px 14px;border-radius:2px;cursor:pointer}
  .brand span{display:none}
}
@media (max-width:480px){.call .num{display:none}.call{padding:12px}.brand img{width:96px}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font:700 1.3rem/1 var(--display);padding:16px 22px;border-radius:2px;text-decoration:none;border:2px solid transparent}
.btn-signal{background:var(--signal);color:#111}
.btn-signal:hover{background:#ff8a45;color:#111}
.btn-line{border-color:currentColor;color:inherit}
.btn-line:hover{background:rgba(255,255,255,.08);color:inherit}
.btn svg{width:20px;height:20px}

/* Home hero */
.hero{position:relative;min-height:min(92vh,860px);display:grid;align-items:end;color:#fff;background:var(--fjord);overflow:hidden}
.hero picture,.hero>img{position:absolute;inset:0}
.hero img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,38,43,0) 30%,rgba(22,38,43,.55) 62%,rgba(22,38,43,.94) 100%),linear-gradient(90deg,rgba(22,38,43,.6),rgba(22,38,43,0) 60%)}
.hero .wrap{position:relative;z-index:1;padding-bottom:clamp(36px,7vh,80px);padding-top:120px;width:100%}
.hero h1{max-width:13ch;margin-bottom:.35em;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero p{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:46ch;color:#E6ECEA}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-cap{position:absolute;right:var(--gutter);bottom:18px;z-index:1;font-size:.85rem;color:#C9D4D3;max-width:28ch;text-align:right}
@media (max-width:760px){.hero-cap{display:none}}

/* Spec sheet */
.spec{background:var(--fjord-2);color:var(--on-dark)}
.spec dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-left:1px solid var(--fjord-3)}
.spec dl>div{padding:22px 22px 24px;border-right:1px solid var(--fjord-3)}
.spec dt{font-size:.95rem;color:var(--on-dark-2);margin-bottom:6px}
.spec dd{margin:0;font:700 clamp(1.6rem,2.6vw,2.2rem)/1.05 var(--display);color:#fff}
@media (max-width:860px){.spec dl{grid-template-columns:1fr 1fr}.spec dl>div:nth-child(-n+2){border-bottom:1px solid var(--fjord-3)}}

/* Sections */
.section{padding:clamp(56px,9vw,120px) 0}
.section-tight{padding:clamp(40px,6vw,72px) 0}
.dark{background:var(--fjord);color:var(--on-dark)}
.dark a:hover{color:#ffb487}
.stone{background:var(--stone)}
.intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(28px,4vw,48px)}
.intro p{font-size:1.15rem;color:var(--steel)}
.dark .intro p{color:var(--on-dark-2)}
@media (max-width:860px){.intro{grid-template-columns:1fr}}

/* Service index (home + /services/) */
.svc-list{list-style:none;margin:0;padding:0;max-width:none;border-top:2px solid var(--ink)}
.svc-list li{border-bottom:1px solid var(--line)}
.svc-list a{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1.2fr);gap:28px;align-items:center;padding:18px 0;text-decoration:none}
.svc-list img{width:180px;height:120px;object-fit:cover;filter:saturate(.9)}
.svc-list h3{font-size:clamp(1.6rem,2.6vw,2.25rem);margin:0}
.svc-list p{margin:0;color:var(--steel)}
.svc-list a:hover h3{color:var(--signal-ink)}
.svc-list a:hover img{filter:none}
@media (max-width:760px){.svc-list a{grid-template-columns:96px 1fr;gap:16px}.svc-list img{width:96px;height:80px}.svc-list p{grid-column:1/-1}}

/* Map */
.map-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:900px){.map-wrap{grid-template-columns:1fr}}
.bcmap{width:100%;height:auto}
.bcmap .ocean{fill:#122126}
.bcmap .land{fill:#1d3238}
.bcmap .nb{fill:#1f353b;stroke:#2c464e;stroke-width:1}
.bcmap .bc{fill:#2B4750;stroke:#5E7E86;stroke-width:1.2}
.bcmap .lake{fill:#122126}
.bcmap .route{fill:none;stroke:var(--signal);stroke-width:2;stroke-dasharray:6 7;opacity:.75}
.bcmap .sea{fill:none;stroke:#8FB3BB;stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round}
.bcmap .pin circle{fill:var(--signal);stroke:#122126;stroke-width:3;transition:r .2s}
.bcmap .pin .halo{fill:var(--signal);opacity:.18;stroke:none}
.bcmap .home circle{fill:#fff}
.bcmap text{font:600 19px var(--body);fill:#E9EEEC;paint-order:stroke;stroke:#16262B;stroke-width:5px;stroke-linejoin:round}
.bcmap text.small{font-size:16px;fill:#A9B9BC;font-style:italic}
.bcmap .pin text{opacity:.95}
@media (prefers-reduced-motion:no-preference){
  .bcmap .route{stroke-dashoffset:400;animation:route 2.4s ease-out .3s forwards}
  @keyframes route{to{stroke-dashoffset:0}}
}
.map-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--fjord-3)}
.map-list li{border-bottom:1px solid var(--fjord-3)}
.map-list a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:14px 4px;text-decoration:none}
.map-list b{font:700 1.4rem/1.1 var(--display);color:#fff}
.map-list span{color:var(--on-dark-2);font-size:.95rem}
.map-list em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:var(--signal);font:600 1rem var(--display)}
.map-list a:hover b,.map-list a:focus-visible b{color:var(--signal)}
.map-wrap:has(a[data-pin]:hover) .pin circle{opacity:.35}
.map-wrap:has(a[data-pin=riversInlet]:hover) .pin-riversInlet circle,
.map-wrap:has(a[data-pin=paulLake]:hover) .pin-paulLake circle,
.map-wrap:has(a[data-pin=lytton]:hover) .pin-lytton circle,
.map-wrap:has(a[data-pin=lillooet]:hover) .pin-lillooet circle,
.map-wrap:has(a[data-pin=langley]:hover) .pin-langley circle,
.map-wrap:has(a[data-pin=vancouver]:hover) .pin-vancouver circle{opacity:1;r:13}

/* Feature (Rivers Inlet) */
.feature{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;aspect-ratio:4/3}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic picture:first-child,.mosaic>img:first-child{grid-row:1/3}
@media (max-width:900px){.feature{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:18px 0 26px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts dt{color:var(--steel)}
.facts dd{margin:0;font-weight:600}
.dark .facts{border-color:var(--fjord-3)}
.dark .facts dt{color:var(--on-dark-2)}

/* Tiles: projects/industries */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(18px,2.4vw,32px)}
.tile{text-decoration:none;display:flex;flex-direction:column;gap:12px}
.tile .ph{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--stone)}
.tile .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tile:hover .ph img{transform:scale(1.03)}
.tile h3{margin:0;font-size:1.7rem}
.tile p{margin:0;color:var(--steel);font-size:1rem}
.tile .where{font:600 1rem/1.2 var(--display);color:var(--signal-ink)}
.dark .tile p{color:var(--on-dark-2)}
.dark .tile .where{color:var(--signal)}
.tile:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

/* Industry links */
.who{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-left:1px solid var(--line)}
.who a{padding:22px 22px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;min-height:150px;display:flex;flex-direction:column;gap:8px}
.who b{font:700 1.65rem/1.05 var(--display)}
.who span{color:var(--steel);font-size:.98rem}
.who a:hover{background:#fff}
.who a:hover b{color:var(--signal-ink)}
@media (max-width:860px){.who{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.who{grid-template-columns:1fr}}

/* Quotes */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px)}
.quotes blockquote{margin:0}
.quotes p{font:500 clamp(1.25rem,1.8vw,1.5rem)/1.45 var(--body);max-width:none}
.quotes footer{font:700 1.3rem var(--display);color:var(--signal)}
.quotes blockquote::before{content:'';display:block;width:48px;height:4px;background:var(--signal);margin-bottom:22px}
@media (max-width:860px){.quotes{grid-template-columns:1fr}}

/* CTA band */
.cta{background:var(--signal);color:#111}
.cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:center;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.cta h2{margin:0 0 .25em;font-size:clamp(2.2rem,4.6vw,4rem)}
.cta p{margin:0;font-size:1.15rem}
.cta .lines{display:flex;flex-direction:column;gap:10px}
.cta a{font:800 clamp(1.7rem,3vw,2.6rem)/1 var(--display);text-decoration:none;color:#111;display:flex;align-items:center;gap:12px}
.cta a.mail{font-size:clamp(1.15rem,2vw,1.6rem);font-weight:700;overflow-wrap:anywhere}
.cta a:hover{color:#fff}
.cta svg{width:.8em;height:.8em;flex:none}
@media (max-width:860px){.cta .wrap{grid-template-columns:1fr}}

/* Page header (inner pages) */
.phead{position:relative;background:var(--fjord);color:#fff;min-height:clamp(320px,52vh,560px);display:grid;align-items:end;overflow:hidden}
.phead picture,.phead>img{position:absolute;inset:0}
.phead img{width:100%;height:100%;object-fit:cover}
.phead::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,38,43,.1) 20%,rgba(22,38,43,.88) 100%)}
.phead .wrap{position:relative;z-index:1;padding-top:96px;padding-bottom:clamp(28px,5vw,56px);width:100%}
.phead h1{font-size:clamp(2.4rem,5.4vw,4.6rem);max-width:18ch;margin-bottom:.3em}
.phead .lead{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:56ch;color:#E6ECEA;margin:0}
.phead.plain{min-height:0;background:var(--fjord)}
.phead.plain::after{display:none}
.crumbs{font-size:.92rem;color:#C9D4D3;margin-bottom:14px}
.crumbs a{color:#C9D4D3;text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs span[aria-hidden]{margin:0 8px;opacity:.6}

/* Article layout */
.article{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:960px){.article{grid-template-columns:1fr}}
.prose h2{margin-top:1.4em;font-size:clamp(1.8rem,3vw,2.4rem)}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.1em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--signal-ink)}
.prose .lede{font-size:1.25rem;line-height:1.5}
.covers{list-style:none;padding:0;margin:0 0 1.6em;columns:2;column-gap:32px;max-width:none}
.covers li{break-inside:avoid;padding:10px 0 10px 26px;border-top:1px solid var(--line);position:relative;margin:0}
.covers li::before{content:'';position:absolute;left:0;top:19px;width:12px;height:3px;background:var(--signal)}
@media (max-width:640px){.covers{columns:1}}
.aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}
.box{background:var(--fjord);color:var(--on-dark);padding:24px}
.box h2{font-size:1.9rem;color:#fff;margin-bottom:.3em}
.box p{color:var(--on-dark-2);font-size:1rem}
.box a.big{display:block;font:800 1.9rem/1.1 var(--display);color:var(--signal);text-decoration:none;margin-bottom:6px}
.box a.mail{color:#fff;font-weight:600;overflow-wrap:anywhere;font-size:.98rem}
.box2{border:1px solid var(--line);padding:20px 22px;background:#fff}
.box2 h2{font-size:1.4rem}
.box2 ul{list-style:none;padding:0;margin:0}
.box2 li{border-top:1px solid var(--stone)}
.box2 li a{display:block;padding:9px 0;text-decoration:none;font-weight:500}
.box2 li a:hover{color:var(--signal-ink)}
.needs{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:0 0 1.6em}
.needs div{border-top:2px solid var(--ink);padding:14px 0 18px}
.needs dt{font:700 1.45rem/1.1 var(--display);margin-bottom:6px}
.needs dd{margin:0;color:var(--steel)}
@media (max-width:640px){.needs{grid-template-columns:1fr}}
.places{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 1.6em;max-width:none}
.places li{border:1px solid var(--line);padding:6px 12px;background:#fff;font-weight:500;font-size:.95rem}
.glossary{margin:0}
.glossary div{display:grid;grid-template-columns:200px 1fr;gap:16px;border-top:1px solid var(--line);padding:14px 0}
.glossary dt{font:700 1.35rem/1.1 var(--display)}
.glossary dd{margin:0}
@media (max-width:640px){.glossary div{grid-template-columns:1fr;gap:4px}}
.quote-inline{margin:2em 0;padding:24px 0 6px;border-top:4px solid var(--signal)}
.quote-inline p{font:500 1.25rem/1.5 var(--body)}
.quote-inline footer{font:700 1.2rem var(--display);color:var(--signal-ink)}
.srcs a{overflow-wrap:anywhere}

/* Gallery */
.gallery{columns:3 280px;column-gap:10px}
.gallery button{display:block;width:100%;padding:0;margin:0 0 10px;border:0;background:none;cursor:zoom-in;break-inside:avoid}
.gallery img{width:100%;height:auto}
.gallery figure{margin:0}
dialog.lightbox{border:0;padding:0;background:transparent;max-width:min(96vw,1600px);max-height:94vh;color:#fff}
dialog.lightbox::backdrop{background:rgba(10,18,20,.92)}
dialog.lightbox img{max-width:min(96vw,1600px);max-height:84vh;width:auto;height:auto;margin:0 auto}
dialog.lightbox p{margin:10px auto 0;text-align:center;color:#D5DEDD;max-width:70ch}
dialog.lightbox .lb-close,dialog.lightbox .lb-prev,dialog.lightbox .lb-next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(22,38,43,.8);color:#fff;border:1px solid var(--fjord-3);font:700 1.3rem var(--display);padding:14px 16px;cursor:pointer}
dialog.lightbox .lb-prev{left:12px}
dialog.lightbox .lb-next{right:12px}
dialog.lightbox .lb-close{top:16px;right:16px;transform:none}
@media (prefers-reduced-motion:no-preference){dialog.lightbox[open] img{animation:lb .22s ease-out}@keyframes lb{from{opacity:0;transform:scale(.98)}}}

/* Small jobs */
.jobs{display:grid;gap:clamp(36px,5vw,64px)}
.job{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(18px,3vw,40px);align-items:start;border-top:2px solid var(--ink);padding-top:20px}
.job .row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.job .row img{aspect-ratio:4/3;object-fit:cover;width:100%}
@media (max-width:760px){.job{grid-template-columns:1fr}.job .row{grid-template-columns:1fr 1fr}}

/* Equipment */
.fleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px}
.fleet figure{margin:0}
.fleet img{aspect-ratio:4/3;object-fit:cover;width:100%}
.fleet figcaption{padding-top:10px;font-weight:500}
.fleet figcaption b{display:block;font:700 1.45rem/1.1 var(--display)}

/* Footer */
.site-foot{background:#0F1B1F;color:var(--on-dark-2);padding:64px 0 28px;font-size:.98rem}
.site-foot .grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}
.site-foot h2{font:700 1.25rem var(--display);color:#fff;margin-bottom:12px}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:0 0 6px}
.site-foot a{color:var(--on-dark);text-decoration:none}
.site-foot a:hover{color:var(--signal);text-decoration:underline}
.site-foot .legal{margin-top:48px;padding-top:20px;border-top:1px solid #22363c;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.9rem}
.site-foot .legal p{margin:0;max-width:none}
@media (max-width:960px){.site-foot .grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-foot .grid{grid-template-columns:1fr}}
.foot-brand img{width:150px;margin-bottom:16px}
.foot-brand a.ph{font:800 1.8rem var(--display);color:var(--signal)}

.center{text-align:center}
.mt{margin-top:clamp(28px,4vw,48px)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Sourced rules: citations, source notes and comparison tables */
.prose h3{margin-top:1.5em;font-size:1.6rem}
.cite{margin:1.2em 0 1.4em;padding:16px 20px 14px;background:#fff;border-left:4px solid var(--fjord-3);max-width:72ch}
.cite blockquote{margin:0}
.cite p{margin:0 0 .5em}
.cite figcaption,.src{font-size:.9rem;color:var(--steel)}
.cite figcaption a,.src a{color:var(--steel);overflow-wrap:anywhere}
.cite figcaption a:hover,.src a:hover{color:var(--signal-ink)}
.rules{list-style:none;padding:0;margin:0 0 1.4em;max-width:72ch}
.rules li{padding:12px 0;border-top:1px solid var(--line);margin:0}
.rules .src{display:block;margin-top:4px}
.checked{background:var(--stone);padding:12px 16px;font-size:.95rem;max-width:72ch}
.tbl{margin:1.4em 0 1.8em;overflow-x:auto}
.tbl table{border-collapse:collapse;width:100%;font-size:.95rem;background:#fff}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.tbl thead th{font:700 1.1rem var(--display);background:var(--fjord);color:#fff}
.tbl tbody th{font-weight:600;min-width:9em}
.tbl a{overflow-wrap:anywhere}
@media (max-width:760px){
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl table,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:100%}
  .tbl table{background:none}
  .tbl tr{background:#fff;border-top:3px solid var(--fjord);margin-bottom:14px}
  .tbl tbody th{font:700 1.35rem var(--display);border:0;padding:12px 14px 4px}
  .tbl td{border:0;padding:4px 14px 10px}
  .tbl td::before{content:attr(data-label);display:block;font-size:.8rem;font-weight:600;color:var(--steel)}
}
.foot-places{margin-top:40px;padding-top:22px;border-top:1px solid #22363c}
.foot-places p{max-width:none;line-height:1.9;margin:0}
.faq{border-top:2px solid var(--ink);margin-bottom:1.4em;max-width:72ch}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:14px 36px 14px 0;font:700 1.3rem/1.2 var(--display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:6px;top:10px;font:700 1.6rem/1 var(--display);color:var(--signal-ink)}
.faq details[open] summary::after{content:'\2212'}
.faq summary:hover{color:var(--signal-ink)}
.faq details p{margin:0 0 16px}
