@font-face{font-family:'Source Serif 4';src:url('/fonts/SourceSerif4-roman.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url('/fonts/Jost-var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --abyss:#141B21;
  --storm:#1F2A33;
  --swell-a:#2C3C46;
  --swell-b:#3D5058;
  --fog:#EEF1F0;
  --card:#F8FAF9;
  --ink:#1F2A33;
  --muted:#5D6D75;
  --mist:#A7B6BC;
  --glass:#8FB3AD;
  --glass-lt:#BCD2CC;
  --glass-dk:#3A6560;
  --hair-d:rgba(238,241,240,.14);
  --hair-l:rgba(31,42,51,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Jost',system-ui,sans-serif;
  font-weight:400;
  background:var(--fog);
  color:var(--ink);
  line-height:1.65;
  font-size:1.0625rem;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block}
a{color:var(--glass-dk)}
a:focus-visible,button:focus-visible{outline:2px solid var(--glass);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--fog);color:var(--abyss);padding:.6rem 1rem;z-index:99;font-weight:500;text-decoration:none}
.skip:focus{left:.5rem;top:.5rem}
.wrap{max-width:70rem;margin:0 auto;padding:0 1.5rem}
.eb{
  font-weight:600;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--glass-dk);display:block;
}
h1,h2,h3{font-family:'Source Serif 4',serif;font-weight:600;letter-spacing:-.008em}

/* ---------- header ---------- */
.site-head{background:var(--abyss);border-bottom:1px solid var(--hair-d)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;padding-bottom:.9rem;position:relative}
.brand{display:flex;align-items:center;gap:.95rem;text-decoration:none;color:var(--fog)}
.brand img{width:auto;height:4.1rem;flex:none}
.brand-name{display:flex;flex-direction:column;line-height:1}
.bn-top{font-family:'Source Serif 4',serif;font-weight:600;font-size:1.45rem;letter-spacing:.015em;white-space:nowrap}
.bn-sub{font-family:'Jost',sans-serif;font-weight:600;font-size:.66rem;letter-spacing:.5em;text-transform:uppercase;color:var(--glass);margin-top:.32rem}
.head-nav{display:flex;align-items:center;gap:2rem}
.head-nav a{color:var(--mist);text-decoration:none;font-size:.85rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.head-nav a:hover{color:var(--fog)}
.head-phone{color:var(--glass) !important}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;border:1px solid var(--hair-d);border-radius:2px}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--storm)}
.menu-panel{
  position:absolute;top:calc(100% + 1px);right:0;left:0;z-index:60;
  background:var(--storm);border-bottom:1px solid var(--hair-d);
  padding:.6rem 1rem 1rem;display:flex;flex-direction:column;
}
.menu-panel a{color:var(--fog);text-decoration:none;font-size:1.02rem;padding:.8rem .5rem;border-bottom:1px solid var(--hair-d)}
.menu-panel a:last-child{border-bottom:0}
.menu-contact{display:flex;flex-direction:column;margin-top:.4rem}
.menu-contact a{color:var(--glass);font-weight:500;border-bottom:0}
@media(max-width:52em){
  .head-nav{display:none}
  .menu{display:block}
  .brand img{height:3.6rem}
  .bn-top{font-size:1.3rem}
}

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(60% 45% at 50% 0%, rgba(143,179,173,.10), transparent 70%),
    linear-gradient(180deg, var(--abyss) 0%, var(--storm) 55%, #24313B 100%);
  color:var(--fog);
  position:relative;overflow:hidden;
}
.hero .wrap{
  position:relative;z-index:2;text-align:center;
  padding-top:6.5rem;padding-bottom:11rem;
  max-width:54rem;
}
.hero .eb{color:var(--glass);margin-bottom:1.8rem}
.hero h1{
  font-size:clamp(2.6rem,6vw,4.4rem);
  line-height:1.12;margin-bottom:1.6rem;text-wrap:balance;
}
.hero h1 em{font-style:normal;color:var(--glass-lt)}
.hero-sub{color:var(--mist);font-size:1.1rem;font-weight:400;max-width:38rem;margin:0 auto 2.6rem}
.cta-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.btn{
  display:inline-block;text-decoration:none;border-radius:2px;
  padding:1rem 1.9rem;font-size:.82rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;line-height:1.2;
}
.btn-foam{background:var(--fog);color:var(--abyss)}
.btn-foam:hover{background:#fff}
.btn-ghost{color:var(--fog);border:1px solid rgba(238,241,240,.35);letter-spacing:.1em;text-transform:none;font-size:.95rem;font-weight:400;padding:.95rem 1.6rem}
.btn-ghost:hover{border-color:var(--glass);color:var(--glass-lt)}

/* the sea: layered drifting swells at the hero's foot */
.sea{position:absolute;left:0;right:0;bottom:-1px;z-index:1;pointer-events:none}
.sea svg{width:100%;height:clamp(70px,9vw,120px);display:block}
.sea .l1{fill:var(--swell-a);opacity:.75}
.sea .l2{fill:var(--swell-b);opacity:.55}
.sea .l3{fill:var(--fog)}
@media(prefers-reduced-motion:no-preference){
  .drift-1{animation:drift 64s linear infinite}
  .drift-2{animation:drift 38s linear infinite}
  @keyframes drift{to{transform:translateX(-720px)}}
}

/* ---------- stats row ---------- */
.stats .wrap{
  display:grid;grid-template-columns:repeat(3,1fr);
  padding-top:3rem;padding-bottom:3rem;
}
.stat{padding:0 2rem;border-left:1px solid var(--hair-l)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{font-family:'Source Serif 4',serif;font-weight:600;font-size:1.8rem;display:block;line-height:1.2;margin-bottom:.2rem}
.stat span{color:var(--muted);font-size:.97rem}
@media(max-width:44em){
  .stats .wrap{grid-template-columns:1fr;gap:1.6rem}
  .stat{border-left:0;padding:0}
}

/* ---------- sections ---------- */
.section{padding:5.5rem 0}
.section-hair{border-top:1px solid var(--hair-l)}
.section-head{max-width:40rem;margin-bottom:3rem}
.section-head .eb{margin-bottom:1.1rem}
h2{font-size:clamp(1.8rem,3.6vw,2.5rem);line-height:1.2;text-wrap:balance}
.section-head p{color:var(--muted);margin-top:1rem}

/* services */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card{
  background:var(--card);border:1px solid var(--hair-l);border-radius:2px;
  padding:2.3rem 2rem;display:flex;flex-direction:column;
}
.card h3{font-size:1.35rem;line-height:1.25;margin-bottom:.9rem}
.card h3 a{color:inherit;text-decoration:none}
.card h3 a:hover{color:var(--glass-dk)}
.card>p{color:var(--muted);font-size:1rem;margin-bottom:1.2rem}
.card ul{list-style:none;margin-bottom:1.4rem}
.card li{padding-left:1.4rem;position:relative;font-size:1rem;margin-bottom:.55rem}
.card li::before{content:"";position:absolute;left:0;top:.72em;width:.65rem;height:1px;background:var(--glass-dk)}
.card .price{
  margin-top:auto;border-top:1px solid var(--hair-l);padding-top:1.1rem;
  font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--glass-dk);
}
.card-link{display:inline-block;margin-top:1rem;color:var(--glass-dk);font-weight:600;font-size:.97rem;text-decoration:none}
.card-link:hover{text-decoration:underline}
@media(max-width:56em){.cards{grid-template-columns:1fr}}

/* process — dark passage */
.process{background:linear-gradient(180deg,var(--storm),var(--abyss));color:var(--fog)}
.process .section-head .eb{color:var(--glass)}
.process .section-head p{color:var(--mist)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.step{border-left:1px solid var(--hair-d);padding-left:1.7rem}
.step .num{
  font-weight:600;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--glass);display:block;margin-bottom:1rem;
}
.step h3{font-size:1.25rem;margin-bottom:.8rem}
.step p{color:var(--mist);font-size:1rem}
@media(max-width:56em){.steps{grid-template-columns:1fr;gap:2rem}}

/* about */
.about .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:4rem;align-items:start}
.about-body p{margin-bottom:1.1rem;max-width:36rem}
.about-body p:last-child{margin-bottom:0}
.about-aside{border-left:1px solid var(--hair-l);padding-left:2rem}
.about-aside .eb{margin-bottom:1.2rem}
.about-aside ul{list-style:none}
.about-aside li{margin-bottom:1.1rem;font-size:.97rem}
.about-aside li b{display:block;font-weight:600;font-family:'Source Serif 4',serif;font-size:1.05rem}
.about-aside li span{color:var(--muted);font-size:.96rem}
@media(max-width:56em){.about .wrap{grid-template-columns:1fr;gap:2.4rem}}

/* faq */
#faq .section-head{max-width:44rem;margin-left:auto;margin-right:auto;text-align:center}
.faq-list{max-width:46rem;margin:0 auto}
.faq-list details{border-bottom:1px solid var(--hair-l)}
.faq-list summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  font-family:'Source Serif 4',serif;font-weight:600;font-size:1.12rem;padding:1.3rem 0;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--glass-dk);flex:none;font-family:'Jost',sans-serif}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{color:var(--muted);padding-bottom:1.5rem;max-width:42rem}

/* cta band */
.cta-band{background:linear-gradient(180deg,#24313B,var(--abyss));color:var(--fog);position:relative;overflow:hidden}
.cta-band .sea{top:-1px;bottom:auto;transform:scaleY(-1)}
.cta-band .wrap{position:relative;z-index:2;padding-top:10rem;padding-bottom:6rem;text-align:center}
.cta-band h2{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:1.1rem}
.cta-band>.wrap>p{color:var(--mist);max-width:34rem;margin:0 auto 2.5rem}

/* footer */
.site-foot{background:var(--abyss);color:var(--mist);border-top:1px solid var(--hair-d)}
.site-foot .wrap{padding-top:2.4rem;padding-bottom:2.8rem;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;font-size:.92rem}
.site-foot a{color:var(--fog);text-decoration:none}
.site-foot a:hover{color:var(--glass)}
.foot-nap b{color:var(--fog);font-weight:600;font-family:'Source Serif 4',serif;letter-spacing:.02em;display:block;margin-bottom:.3rem}
.foot-meta{text-align:right}
@media(max-width:40em){.site-foot .wrap{flex-direction:column}.foot-meta{text-align:left}}

/* ======================================================
   SUBPAGE COMPONENTS — service pages, case study, city pages.
   Reuse the tokens and patterns above; add only what's new.
   ====================================================== */

/* lighter hero for interior pages (left-aligned, less tall) */
.subhero{
  background:
    radial-gradient(55% 40% at 20% 0%, rgba(143,179,173,.10), transparent 70%),
    linear-gradient(180deg, var(--abyss) 0%, var(--storm) 70%, #24313B 100%);
  color:var(--fog);position:relative;overflow:hidden;
}
.subhero .wrap{position:relative;z-index:2;padding-top:3.5rem;padding-bottom:8.5rem;max-width:52rem}
.subhero .eb{color:var(--glass);margin-bottom:1.2rem}
.subhero h1{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.14;margin-bottom:1.3rem;text-wrap:balance}
.subhero h1 em{font-style:normal;color:var(--glass-lt)}
.subhero-lede{color:var(--mist);font-size:1.12rem;max-width:40rem;margin-bottom:2.2rem}

/* breadcrumb */
.crumbs{font-size:.8rem;letter-spacing:.04em;margin-bottom:1.6rem;color:var(--mist)}
.crumbs a{color:var(--mist);text-decoration:none}
.crumbs a:hover{color:var(--fog)}
.crumbs span{color:var(--glass);margin:0 .5rem;opacity:.6}

/* prose blocks on interior pages */
.prose{max-width:42rem}
.prose p{margin-bottom:1.15rem;color:var(--ink)}
.prose p:last-child{margin-bottom:0}
.prose .muted{color:var(--muted)}

/* feature list (welded dash bullets, larger than card list) */
.features{list-style:none;max-width:44rem;margin-top:.5rem}
.features li{position:relative;padding-left:1.6rem;margin-bottom:1rem;font-size:1.05rem}
.features li::before{content:"";position:absolute;left:0;top:.75em;width:.8rem;height:2px;background:var(--glass-dk)}
.features li b{font-family:'Source Serif 4',serif;font-weight:600}

/* two-column split (content + aside) */
.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:3.5rem;align-items:start}
@media(max-width:56em){.split{grid-template-columns:1fr;gap:2.4rem}}

/* proof callout — the erstat credibility block */
.proof{background:var(--card);border:1px solid var(--hair-l);border-left:3px solid var(--glass-dk);border-radius:2px;padding:1.8rem 2rem}
.proof .eb{margin-bottom:.9rem}
.proof p{color:var(--muted);font-size:1rem;margin-bottom:1rem}
.proof a{font-weight:600;text-decoration:none;color:var(--glass-dk)}
.proof a:hover{text-decoration:underline}

/* metric row for the case study */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.5rem 0}
.metric{border-left:1px solid var(--hair-l);padding-left:1.4rem}
.metric b{font-family:'Source Serif 4',serif;font-weight:600;font-size:2rem;display:block;line-height:1.1;margin-bottom:.3rem}
.metric span{color:var(--muted);font-size:.95rem}
@media(max-width:44em){.metrics{grid-template-columns:1fr;gap:1.3rem}.metric{border-left:0;padding-left:0}}

/* intake questionnaire */
.intake{max-width:46rem;position:relative}
.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.5rem}
.intake label span,.intake legend{display:block;font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:.45rem}
.intake label span i,.intake legend i{font-style:normal;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}
.intake input:not([type=checkbox]),.intake textarea,.intake select{
  width:100%;font:inherit;color:var(--ink);background:var(--card);
  border:1px solid var(--hair-l);border-radius:2px;padding:.75rem .9rem;
}
.intake textarea{resize:vertical;min-height:6.5rem}
.intake :is(input,textarea,select):focus-visible{outline:2px solid var(--glass);outline-offset:1px;border-color:var(--glass-dk)}
.intake fieldset{border:0}
.f-full{grid-column:1/-1}
.checks{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem}
.check{display:flex;align-items:center;gap:.55rem;font-size:1rem}
.check input{accent-color:var(--glass-dk);width:1.05rem;height:1.05rem}
.intake .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.intake-foot{margin-top:1.9rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.intake-foot p{color:var(--muted);font-size:.95rem;margin:0}
.btn-deep{background:var(--abyss);color:var(--fog);border:0;cursor:pointer;font-family:inherit}
.btn-deep:hover{background:var(--storm)}
@media(max-width:44em){.intake-grid{grid-template-columns:1fr}}

/* work portfolio grid */
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.wcard{background:var(--card);border:1px solid var(--hair-l);border-radius:2px;overflow:hidden;display:flex;flex-direction:column}
.wthumb{display:block;border-bottom:1px solid var(--hair-l)}
.wthumb img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;transition:opacity .2s}
.wthumb:hover img{opacity:.9}
.wbody{padding:1.6rem 1.8rem 1.8rem;display:flex;flex-direction:column;flex:1}
.wbody .eb{margin-bottom:.55rem}
.wbody h2{font-size:1.45rem;margin-bottom:.6rem}
.wbody p{color:var(--muted);font-size:1rem;margin-bottom:1.2rem}
.wlinks{margin-top:auto;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}
.wlinks a{color:var(--glass-dk);font-weight:600;font-size:.97rem;text-decoration:none}
.wlinks a:hover{text-decoration:underline}
@media(max-width:56em){.work-grid{grid-template-columns:1fr;gap:1.6rem}}

/* city data table */
.table-scroll{overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;font-size:.97rem;min-width:34rem}
.data-table th{font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--glass-dk);text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--hair-l)}
.data-table td{padding:.65rem .9rem;border-bottom:1px solid var(--hair-l)}
.data-table td:not(:first-child),.data-table th:not(:first-child){text-align:right}
.data-table tbody tr:hover{background:var(--card)}

/* audit results */
.audit-group{margin-bottom:2rem}
.audit-group h3{font-size:1.15rem;margin-bottom:.8rem}
.audit-checks{list-style:none}
.audit-checks li{display:flex;gap:.8rem;align-items:baseline;padding:.45rem 0;font-size:1rem}
.audit-checks b{flex:none;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.15rem .55rem;border-radius:2px}
.audit-checks li.ok b{background:rgba(58,101,96,.14);color:var(--glass-dk)}
.audit-checks li.bad b{background:rgba(138,48,48,.12);color:#8a3030}
.audit-checks li.bad{color:#5d3535}

/* audit report */
.report-head{display:flex;gap:2.5rem;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--hair-l);border-radius:2px;padding:2.2rem}
.gauge{position:relative;width:9rem;height:9rem;flex:none}
.gauge svg{width:100%;height:100%}
.g-track{fill:none;stroke:var(--hair-l);stroke-width:9}
.g-arc{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .8s ease}
.g-arc.good{stroke:var(--glass-dk)}
.g-arc.mid{stroke:#8a6d1f}
.g-arc.bad{stroke:#8a3030}
.g-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.g-num b{font-family:'Source Serif 4',serif;font-weight:600;font-size:2.4rem}
.g-num span{color:var(--muted);font-size:.8rem;margin-top:.2rem}
.report-sum{flex:1;min-width:16rem}
.report-sum h2{margin:.35rem 0 .5rem}
.report-sum p{color:var(--muted)}
.report-counts{margin-top:.9rem;display:flex;gap:.6rem;flex-wrap:wrap}
.report-counts b{font-weight:600;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:2px}
.c-pass{background:rgba(58,101,96,.14);color:var(--glass-dk)}
.c-warn{background:rgba(138,109,31,.14);color:#8a6d1f}
.c-fail{background:rgba(138,48,48,.12);color:#8a3030}
.report-h3{font-size:1.5rem}
.fix-list{list-style:none;counter-reset:fix;max-width:44rem}
.fix-list li{counter-increment:fix;position:relative;padding:1rem 1.2rem 1rem 3.6rem;background:var(--card);border:1px solid var(--hair-l);border-radius:2px;margin-bottom:.7rem;font-size:1.02rem}
.fix-list li::before{content:counter(fix);position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);font-family:'Source Serif 4',serif;font-weight:600;font-size:1.3rem;color:#8a3030}
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.cat-card{background:var(--card);border:1px solid var(--hair-l);border-radius:2px;padding:1.6rem 1.8rem}
.cat-card h3{font-size:1.15rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.cat-tag{font-family:'Jost',sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.12em;padding:.25rem .6rem;border-radius:2px}
.cat-tag.good{background:rgba(58,101,96,.14);color:var(--glass-dk)}
.cat-tag.mid{background:rgba(138,109,31,.14);color:#8a6d1f}
.cat-tag.bad{background:rgba(138,48,48,.12);color:#8a3030}
.audit-checks li.mid b{background:rgba(138,109,31,.14);color:#8a6d1f}
.audit-checks li.mid{color:#5d5335}
.report-cta{margin-top:3rem;background:var(--card);border:1px solid var(--hair-l);border-radius:2px;padding:2rem}
.report-cta p{color:var(--muted);max-width:38rem;margin-bottom:1.4rem}
@media(max-width:56em){.cat-grid{grid-template-columns:1fr}.report-head{padding:1.6rem;gap:1.6rem}}

/* city hub list */
.city-list{list-style:none;max-width:44rem}
.city-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.8rem 0;border-bottom:1px solid var(--hair-l);flex-wrap:wrap}
.city-list a{text-decoration:none}
.city-list b{font-family:'Source Serif 4',serif;font-weight:600;font-size:1.15rem;color:var(--ink)}
.city-list a:hover b{color:var(--glass-dk)}
.city-list span{color:var(--muted);font-size:.95rem}

/* audit tool split layout */
.audit-split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:3.5rem;align-items:start}
.tool-card{background:var(--card);border:1px solid var(--hair-l);border-radius:2px;padding:2.2rem}
.tool-card .intake{max-width:none}
.tool-note{margin-top:1.4rem;color:var(--muted);font-size:.92rem}
.audit-rail .eb{margin-bottom:.2rem}
.rail-stats{display:flex;flex-direction:column;gap:1.1rem;margin-bottom:1.6rem}
.rail-stats p{border-left:1px solid var(--hair-l);padding-left:1.2rem}
.rail-stats b{font-family:'Source Serif 4',serif;font-weight:600;font-size:1.7rem;display:block;line-height:1.15}
.rail-stats span{color:var(--muted);font-size:.95rem}
.rail-sub{font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:.7rem}
.rail-fails{list-style:none;margin-bottom:1.4rem}
.rail-fails li{padding:.45rem 0;border-bottom:1px solid var(--hair-l);font-size:1rem;color:var(--muted)}
.rail-fails b{color:var(--ink);font-family:'Source Serif 4',serif;font-size:1.1rem;margin-right:.4rem}
.rail-link a{font-weight:600;text-decoration:none}
.rail-link a:hover{text-decoration:underline}
@media(max-width:56em){.audit-split{grid-template-columns:1fr;gap:2.5rem}}
