/* Shared readable reference tables */
main .table-wrap{max-width:100%;overflow-x:auto;margin:1.25rem 0;border:1px solid #9cabb6;border-radius:6px;background:#fff}
main table{width:100%;border-collapse:collapse;table-layout:auto;margin:1.25rem 0;background:#fff;color:#183342;font-size:1rem;line-height:1.55}
main .table-wrap table{margin:0}
main table th,main table td{border:1px solid #b5c2cb;padding:.75rem .9rem;text-align:left;vertical-align:top;overflow-wrap:normal;word-break:normal}
main table th{background:#214b60;color:white;font-weight:700}
main table tbody tr:nth-child(odd)>td,main table>tr:nth-child(even)>td{background:#fff}
main table tbody tr:nth-child(even)>td,main table>tr:nth-child(odd)>td{background:#eaf0f4}
main table th:first-child,main table td:first-child{min-width:8.5rem}
main table a{overflow-wrap:anywhere}
main .table-wrap:focus{outline:3px solid #d86a25;outline-offset:3px}
.reference-chapters{display:flex!important;position:static!important;flex-wrap:wrap;gap:.4rem 1rem;margin:1rem 0 2rem;padding:1rem;background:#edf1f3;border:1px solid #b5c2cb}
.reference-chapters a{padding:.2rem}
.field-guide{max-width:950px;margin:auto;padding:2rem 0}
.field-guide section{margin:2.5rem 0;scroll-margin-top:7rem}
.field-guide h2{font-size:2.1rem}
.field-guide li{margin:.5rem 0}
@media(max-width:700px){main .table-wrap table{min-width:620px}main table th,main table td{padding:.6rem .7rem}.field-guide{padding:1.2rem 0}.field-guide h2{font-size:1.75rem}}
@media print{main .table-wrap{overflow:visible}main .table-wrap table{min-width:0}main table{font-size:9pt}main tr{break-inside:avoid}main thead{display:table-header-group}}

/* R144E full-pass contrast, caption structure, footer, and flag watermark */
.r135-photo-card figcaption,
.r135-photo-card .r135-caption{
  padding:4.8rem 1.05rem 1.05rem!important;
  background:linear-gradient(to top,rgba(4,12,18,.98) 0%,rgba(4,12,18,.92) 58%,rgba(4,12,18,.08) 100%)!important;
  color:#fff!important;
  text-shadow:0 1px 4px rgba(0,0,0,.95)!important;
}
.r135-photo-card figcaption strong,.r135-photo-card .r135-caption strong{display:block!important;color:#ffd8ba!important;line-height:1.25!important}
.r135-photo-card figcaption span,.r135-photo-card .r135-caption span{display:block!important;margin-top:.32rem!important;color:#fff!important;line-height:1.5!important}
.footer,.personal .footer{background-color:#172733!important;background-image:none!important;color:#f7fafb!important}
.footer h2,.footer h3,.footer p,.footer li,.footer-meta{color:#f7fafb!important}
.footer a{color:#ffe1c8!important;text-decoration-color:rgba(255,225,200,.72)!important}
.footer .social-badge{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.52)!important;color:#fff!important}
.site-footer,.k6rcs-footer{background-color:#102b3a!important;background-image:none!important;color:#f7fafb!important}
.site-footer h2,.site-footer h3,.site-footer p,.site-footer li,.site-footer .legal{color:#f7fafb!important}
.site-footer a{color:#ffe1c8!important;text-decoration-color:rgba(255,225,200,.72)!important}
.flag-watermark{position:relative!important;overflow:hidden!important;isolation:isolate;background:#fff!important}
.flag-watermark::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.09;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 360'%3E%3Cpath fill='%231b3f63' d='M88 20h18v320H88zM106 42c160-72 280 70 446 0v220c-166 70-286-72-446 0z'/%3E%3Cpath fill='none' stroke='%23fff' stroke-opacity='.28' stroke-width='9' d='M118 82c150-48 274 66 422 4M116 128c154-44 278 66 426 2M114 174c158-42 282 64 430 0M112 220c162-40 286 62 434-2'/%3E%3Crect x='106' y='42' width='154' height='112' rx='2' fill='%230f2f50'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:112% 108%;
  background-size:min(560px,105%) auto;
}
.flag-watermark>*{position:relative;z-index:1}
.flag-watermark h3{color:#172f48!important}
.flag-watermark p{color:#15242d!important}
/* R144E universal caption separation */
figcaption>strong{display:block!important}
figcaption>strong+span{display:block!important;margin-top:.3rem!important;line-height:1.48!important}

/* R144E WCAG contrast consolidation */
:root{--r144e-accent-accessible:#7a3200;--r144e-link-accessible:#68300d;--r144e-meta-accessible:#3b4b54}
main .section:not(.dark) h3,
main .section:not(.dark) h4{color:var(--ink,#203038)!important}
main .section:not(.dark) .eyebrow,
main .section:not(.dark) .meta,
main .section:not(.dark) .tiny{color:var(--r144e-meta-accessible)!important}
main .section:not(.dark) a:not(.button):not(.nav-practice){color:var(--r144e-link-accessible)!important;text-decoration-color:currentColor!important}
main .hero a,
main .dark a,
main .r144d-practice-feature a{color:#fff!important}
.button.primary,
button.button.primary,
a.nav-cta{background:var(--r144e-accent-accessible)!important;border-color:var(--r144e-accent-accessible)!important;color:#fff!important}
.button.secondary{color:var(--r144e-link-accessible)!important;border-color:var(--r144e-link-accessible)!important;background:#fff!important}
.skip,.skip-link{color:var(--r144e-link-accessible)!important;background:#fff!important}
.mark{color:#fff!important;background:var(--r144e-accent-accessible)!important}
th{color:#fff!important;background:var(--r144e-accent-accessible)!important}
.photo:not(.documentary-photo):not(.r135-photo-card) figcaption{color:#fff!important;background:linear-gradient(transparent,rgba(5,13,18,.97))!important;text-shadow:0 1px 5px rgba(0,0,0,.95)!important}
.photo:not(.documentary-photo):not(.r135-photo-card) figcaption strong,
.photo:not(.documentary-photo):not(.r135-photo-card) figcaption span{color:#fff!important}

/* R144E nested-card and navigation contrast */
header nav a,
.site-header nav a,
.header-inner nav a{color:var(--ink,#203038)!important}
header nav a[aria-current="page"],
header nav a.nav-practice:hover,
header nav a.nav-practice[aria-current="page"]{background:var(--r144e-accent-accessible)!important;color:#fff!important;border-color:var(--r144e-accent-accessible)!important}
.brand-domain,time{color:var(--r144e-link-accessible)!important}
.section.dark .card,
.section.dark .resource-card{background:#fbf8f2!important;color:var(--ink,#203038)!important}
.section.dark .card h3,
.section.dark .card h4,
.section.dark .card p,
.section.dark .card li,
.section.dark .card strong,
.section.dark .resource-card h3,
.section.dark .resource-card h4,
.section.dark .resource-card p,
.section.dark .resource-card li{color:var(--ink,#203038)!important}
.section.dark .card .eyebrow,
.section.dark .resource-card .eyebrow{color:var(--r144e-meta-accessible)!important}
.section.dark .card a,
.section.dark .resource-card a,
.section.dark .link-list a{color:var(--r144e-link-accessible)!important}
.section.dark .resource-link,
.section.dark .link-list a{background:#fff!important;border-color:#b6c4ca!important}
.section.dark .resource-link strong,
.section.dark .resource-link span{color:var(--ink,#203038)!important}
.pool-summary strong{color:var(--r144e-link-accessible)!important}
.trivia-use-case h2,
.trivia-use-case h3,
.trivia-use-case h4,
.trivia-use-case p,
.trivia-use-case strong{color:#f7fafb!important}

/* R144E final contrast locks */
header nav a.nav-cta,
.site-header nav a.nav-cta,
.header-inner nav a.nav-cta{color:#fff!important}
.brand strong{color:inherit!important}
.button.camel{background:#173f57!important;border-color:#173f57!important;color:#fff!important}
main .section:not(.dark) .lead,
main .section:not(.dark) strong{color:var(--ink,#203038)!important}
main .section.trivia-use-case h2,
main .section.trivia-use-case h3,
main .section.trivia-use-case h4,
main .section.trivia-use-case p,
main .section.trivia-use-case strong{color:#f7fafb!important}
.notice{background:#edf3f5!important;color:var(--ink,#203038)!important;border-color:#9fb2ba!important}
.notice p,.notice strong,.notice a{color:var(--ink,#203038)!important}
.photo:not(.documentary-photo):not(.r135-photo-card) figcaption strong,
.photo:not(.documentary-photo):not(.r135-photo-card) figcaption span,
.r135-photo-card figcaption strong,
.r135-photo-card figcaption span,
.r144d-practice-feature strong{color:#fff!important}

/* R144E compact-hero and inset contrast */
main .eyebrow{color:var(--r144e-meta-accessible)!important}
main .hero .eyebrow,
main .section.dark .eyebrow,
figure figcaption .eyebrow{color:#fff!important}
main .hero-compact .lead{color:var(--ink,#203038)!important}
main .section.dark h2,
main .section.dark h3,
main .section.dark h4{color:#fff!important}
.source-item h3,
.source-item h4{color:var(--ink,#203038)!important}
.source-item a{color:var(--r144e-link-accessible)!important}
a.button:not(.primary):not(.secondary):not(.camel){background:#fff!important;color:var(--r144e-link-accessible)!important;border-color:var(--r144e-link-accessible)!important}
sub,sup{color:inherit!important}

/* R144E split-hero and caption eyebrow contrast */
main .hero-grid .hero-copy .eyebrow,
main .hero-compact .eyebrow,
main .section .section-heading .eyebrow{color:var(--r144e-meta-accessible)!important}
main .section:not(.dark) figure figcaption .eyebrow{color:#fff!important}
.brand-ribbon strong{color:#fff!important}
main .section:not(.dark) sub,
main .section:not(.dark) sup{color:var(--ink,#203038)!important}

/* R144E ElectStone specificity locks */
body main .section:not(.dark) .section-heading p.eyebrow{color:var(--r144e-meta-accessible)!important}
body main .section:not(.dark) .brand-ribbon strong{color:#fff!important}

/* R144E final eyebrow specificity locks */
body main section.section.dark p.eyebrow{color:#fff!important}
body main section[class~="section"]:not(.dark) div[class~="section-heading"] p.eyebrow{color:var(--r144e-meta-accessible)!important}
body main .r140-photo-break .r140-photo-copy p.eyebrow{color:#fff!important}
body main .brand-ribbon strong{color:#fff!important}

/* R144F: mirrored flag-and-pole silhouette derived from the supplied photograph. */
.flag-watermark::before{
  background-image:url("/assets/img/r144f/american-flag-pole-silhouette-flipped-r144f.png")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  opacity:.12!important;
}
@media (max-width:640px){
  .flag-watermark::before{
    background-position:center bottom!important;
    background-size:92% auto!important;
    opacity:.10!important;
  }
}


/* R144H: layout, readability and full-frame regression guards. */
.personal .footer-grid>div,
.personal .footer-grid>nav{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
.personal .footer-grid>div>a,
.personal .footer-grid>nav>a{
  display:block!important;
  width:fit-content!important;
  margin:.32rem 0!important;
}
.r140-social-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),520px))!important;
  justify-content:start!important;
  align-items:start!important;
}
.r140-social-card{width:100%!important;max-width:520px!important}
.r140-social-card img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
.r140-photo-break{overflow:hidden!important}
.r140-photo-break>img{object-fit:contain!important;object-position:center!important;background:#172733!important}
@media (min-width:761px){
  .site-header .header-inner,
  .site-header .header-row{
    min-height:82px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .site-header .nav-toggle{display:none!important}
  .site-header nav,
  .site-header .nav{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    width:auto!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .site-header nav ul{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important}
}
@media (max-width:760px){
  .site-header .nav-toggle{display:block!important}
  .site-header nav:not(.open),.site-header .nav:not(.open){display:none!important}
}


/* R144I full-properties rewrite: shared readability, contrast, image and responsive rules. */
:root{
  --r144i-ink:#172a35;
  --r144i-muted:#455963;
  --r144i-paper:#fbfaf7;
  --r144i-panel:#ffffff;
  --r144i-line:#b8c5cb;
  --r144i-dark:#122b39;
  --r144i-dark-2:#183b4d;
  --r144i-link:#075a82;
  --r144i-focus:#c84f13;
}
html{overflow-x:hidden!important}
body{color:var(--r144i-ink)!important;overflow-wrap:anywhere!important;text-rendering:optimizeLegibility}
main :where(p,li,dd,figcaption){line-height:1.62;text-wrap:pretty}
main :where(.prose,.section-heading,.card,.notice,.source-item,.archive-copy,.r140-copy) p{max-width:78ch}
main :where(ul,ol){padding-inline-start:1.35rem}
main :where(li+li){margin-top:.32rem}
main :where(h1,h2,h3,h4){text-wrap:balance;overflow-wrap:normal}
main :where(a:not(.button):not([class*="card"])){text-underline-offset:.17em;text-decoration-thickness:.07em}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--r144i-focus)!important;outline-offset:3px!important}

/* Light sections always get dark copy; dark sections always get light copy. */
main :where(.section,.section.alt,.section.cream,.card,.notice,.source-item,.contact-box):not(.dark){color:var(--r144i-ink)}
main :where(.section,.section.alt,.section.cream,.card,.notice,.source-item,.contact-box):not(.dark) :where(p,li,dd,span){color:inherit}
main :where(.dark,.hero.photo-hero,.photo-hero,.lead-section.photo-hero) :where(h1,h2,h3,h4,p,li,strong,.lead,.eyebrow){color:#fff!important}
.footer,.site-footer,.k6rcs-footer{background:var(--r144i-dark)!important;color:#f7fafb!important}
.footer :where(h2,h3,p,li),.site-footer :where(h2,h3,p,li),.k6rcs-footer :where(h2,h3,p,li){color:#f7fafb!important}
.footer a,.site-footer a,.k6rcs-footer a{color:#ffe1c8!important;text-decoration-color:currentColor!important}

/* Documentary material is shown whole unless a specifically named crop class is approved. */
:where(img.portrait-source,img.frame-preserve,.documentary-photo img,.literal-photo img,.r135-photo-card img,.r62-photo-card img,.r140-photo-break>img){object-fit:contain!important;object-position:center!important;background:#edf1f2}
figure{max-width:100%}
figure img{max-width:100%;height:auto}
figcaption{overflow-wrap:anywhere}
figcaption>strong{display:block!important}
figcaption>strong+span{display:block!important;margin-top:.32rem!important}

/* Cards and tables stay readable instead of collapsing into jargon walls. */
:where(.card,.notice,.source-item,.resource-card,.contact-box){min-width:0}
:where(.table-wrap,.reference-table-wrap){overflow-x:auto;max-width:100%;border:1px solid var(--r144i-line);background:#fff}
:where(table){background:#fff;color:var(--r144i-ink)}
:where(th){background:#dce7ec!important;color:#172a35!important}
:where(td){color:#172a35!important;border-color:#c7d1d6!important}
:where(tbody tr:nth-child(even)){background:#f1f5f6}
code,kbd,samp{white-space:normal;overflow-wrap:anywhere}

/* Social products remain downloadable at full resolution but compact on the page. */
.r140-social-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),520px))!important;justify-content:start!important;align-items:start!important}
.r140-social-card{width:100%!important;max-width:520px!important}
.r140-social-card img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}

/* Footer directories are columns, never run-on lines. */
.footer-grid>div,.footer-grid>nav{min-width:0}
.personal .footer-grid>div,.personal .footer-grid>nav,.footer .footer-grid>div,.footer .footer-grid>nav{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.personal .footer-grid>div>a,.personal .footer-grid>nav>a,.footer .footer-grid>div>a,.footer .footer-grid>nav>a{display:block!important;width:fit-content!important;margin:.3rem 0!important}

/* Desktop navigation is horizontal; compact navigation is explicit and controlled. */
@media (min-width:761px){
  .site-header :where(.header-inner,.header-row){min-height:82px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important}
  .site-header .nav-toggle{display:none!important}
  .site-header :where(nav,.nav){position:static!important;inset:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;width:auto!important;max-width:100%!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
  .site-header nav ul{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;margin:0!important}
}
@media (max-width:760px){
  .site-header .nav-toggle{display:block!important}
  .site-header nav:not(.open),.site-header .nav:not(.open){display:none!important}
  .site-header nav.open,.site-header .nav.open{display:block!important;max-height:calc(100vh - 76px);overflow:auto}
  .grid-2,.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr!important}
}

/* The supplied flag silhouette cannot escape its card. */
.flag-watermark{position:relative!important;overflow:hidden!important;isolation:isolate!important}
.flag-watermark::before{inset:0!important;max-width:100%!important;max-height:100%!important;background-repeat:no-repeat!important;background-size:contain!important;pointer-events:none!important}
