
:root{
  --navy:#001c3b;
  --navy2:#003f88;
  --blue:#006dcc;
  --bright:#2492ff;
  --ink:#07172e;
  --muted:#4f6075;
  --line:#d9e3ef;
  --soft:#f6f9fc;
  --panel:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial, Helvetica, sans-serif;background:#fff;color:var(--ink);font-size:15px;line-height:1.45}
a{text-decoration:none;color:inherit}.page{min-height:100vh;display:flex;flex-direction:column}.wrap{width:min(1160px, calc(100% - 64px));margin:0 auto}.topbar{background:linear-gradient(90deg,#00336f 0%,#0065bd 55%,#004a95 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 4px 18px rgba(0,40,90,.22)}.brand-line{height:72px;display:flex;align-items:center;justify-content:space-between}.brand-logo{height:58px;width:auto;display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.20))}.menu-btn{display:none;background:rgba(255,255,255,.12);color:white;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:8px 10px;font-size:20px}.nav-line{height:42px;display:flex;align-items:center;justify-content:flex-end;gap:28px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.nav-line a{color:#f3f9ff;opacity:.95}.nav-line a:hover,.nav-line a.active{color:#aadaff;text-decoration:underline;text-underline-offset:7px}.cart{font-size:17px;line-height:1}.mobile-menu{display:none;background:#003f88;color:#fff;border-top:1px solid rgba(255,255,255,.14);padding:8px 24px}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.12);font-weight:700;text-transform:uppercase;font-size:12px}.hero{background:linear-gradient(90deg,rgba(0,24,55,.96),rgba(0,39,83,.83)),linear-gradient(120deg,#0a2b54,#071426 75%);color:white}.hero .wrap{min-height:460px;display:flex;align-items:center}.hero-text{max-width:720px;padding:64px 0}.hero h1{font-size:54px;line-height:1.07;margin:0 0 22px;font-weight:900;letter-spacing:-.035em}.hero h1 .blue{color:var(--bright);display:block}.hero p{max-width:620px;margin:0 0 36px;color:#edf6ff;font-size:18px;font-weight:650;line-height:1.55}.actions{display:flex;gap:16px;flex-wrap:wrap}.btn{appearance:none;border:1px solid #c8d6e8;border-radius:5px;background:#fff;color:var(--ink);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.02em;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer}.btn.primary{background:linear-gradient(90deg,#0062c4,#004fa5);border-color:#0062c4;color:#fff;box-shadow:0 8px 20px rgba(0,93,185,.22)}.btn.outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.72)}.btn.wide{min-width:260px}.section{padding:56px 0;background:#fff;flex:1}.section.soft{background:var(--soft)}.page-title{font-size:42px;letter-spacing:-.03em;line-height:1.05;margin:0 0 8px;color:#071d3b;text-transform:uppercase;font-weight:900}.lede{font-size:17px;color:#263a52;margin:0 0 34px}.lead{color:var(--muted);font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cards.two{grid-template-columns:repeat(2,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 16px rgba(0,30,75,.06);padding:28px;text-align:center}.card.left{text-align:left}.card h3{margin:8px 0 10px;font-size:18px;color:#071d3b}.card p{margin:0 0 14px;color:#485b70;font-size:14px}.icon{font-size:42px;color:#005eb8;display:block;margin:0 auto 14px}.learn{font-size:12px;text-transform:uppercase;font-weight:900;color:#0062c4}.feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:42px 0}.feature{text-align:center}.feature .icon{font-size:40px}.feature h3{font-size:16px;margin:8px 0 6px}.feature p{font-size:13px;color:#3f5065;margin:0}.callout{margin-top:34px;background:linear-gradient(90deg,#edf7ff,#f8fbff);border:1px solid #cfe4f7;border-radius:6px;padding:24px 32px;display:flex;align-items:center;gap:24px}.callout .icon{margin:0;font-size:48px}.split{display:grid;grid-template-columns:1fr .95fr;gap:48px;align-items:center}.photo-panel{border-radius:6px;min-height:330px;background:linear-gradient(135deg,#eee,#c9c9c9);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);overflow:hidden;display:flex;align-items:center;justify-content:center;color:#6b5b45;font-size:76px}.check-list{list-style:none;padding:0;margin:22px 0}.check-list li{margin:12px 0;padding-left:28px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:#0062c4;font-weight:900}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field.full{grid-column:1/-1}label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.req{color:#b50000}input,select,textarea{width:100%;border:1px solid #ccd8e6;border-radius:4px;padding:13px 14px;font:inherit;background:#fff}textarea{min-height:130px}.form-panel{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px;box-shadow:0 4px 18px rgba(0,30,75,.06)}.upload-card{border:1px solid var(--line);border-radius:6px;text-align:center;padding:34px;background:#fff}.upload-card .icon{font-size:54px;color:#0062c4}.notice{margin-top:28px;background:#edf7ff;border:1px solid #cfe3f6;border-radius:6px;padding:22px;display:flex;gap:18px;align-items:center}.notice .icon{font-size:42px;margin:0}.footer{background:#001c3b;color:#d9ecff;text-align:center;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px;margin-top:auto}.footer a{color:#fff;margin:0 10px}.taxonomy{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.pill{background:#eef6ff;border:1px solid #cde3f7;color:#005eb8;border-radius:999px;padding:8px 13px;font-weight:800;font-size:12px}.news-list,.decision-list{display:grid;gap:16px}.list-item{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px}.list-item h3{margin:0 0 8px}.price{font-size:28px;color:#0062c4;font-weight:900}.mobile-bottom{display:none}.status{margin-top:10px;font-weight:800}.about-grid{display:grid;grid-template-columns:320px 1fr;gap:38px;align-items:start}.headshot{border-radius:8px;background:#f3f8fd;border:1px solid var(--line);overflow:hidden;min-height:360px}.headshot img{width:100%;height:100%;object-fit:cover;display:block}.quote{border-left:4px solid #0062c4;padding-left:18px;font-size:20px;color:#183c66;font-weight:700}
@media(max-width:900px){.wrap{width:min(100% - 36px,1160px)}.brand-line{height:68px}.brand-logo{height:50px}.menu-btn{display:block}.nav-line{display:none}.hero .wrap{min-height:390px}.hero h1{font-size:41px}.cards,.cards.two,.cards.four,.feature-row,.split,.form-grid,.about-grid{grid-template-columns:1fr}.section{padding:38px 0}.page-title{font-size:34px}.callout{align-items:flex-start;flex-direction:column}.mobile-bottom{display:grid;position:fixed;left:0;right:0;bottom:0;background:#00254d;height:62px;grid-template-columns:repeat(5,1fr);z-index:20;border-top:1px solid rgba(255,255,255,.12)}.mobile-bottom a{display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:11px;color:#e9f5ff;gap:2px}body{padding-bottom:62px}.footer{padding-bottom:82px}}


.kicker{color:#64b5ff;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.12em;margin-bottom:8px}.bio-wrap{display:grid;grid-template-columns:320px 1fr;gap:38px;align-items:start}.bio-photo{height:430px;border-radius:8px;background:#f4f8fc;border:1px solid var(--line);overflow:hidden;box-shadow:0 8px 26px rgba(0,30,75,.09)}.bio-photo img{width:100%;height:100%;object-fit:contain;object-position:center top;display:block;background:#f7fbff;padding:10px 10px 0}.bio-title h1{font-size:46px;letter-spacing:-.03em;line-height:1.05;margin:0 0 8px;color:#071d3b;text-transform:uppercase;font-weight:900}.bio-title h3{color:#0062c4;margin:0 0 8px;font-size:22px}.bio-text p{font-size:17px;line-height:1.65;color:#26384c;margin:0 0 18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 16px rgba(0,30,75,.06);padding:28px}.panel h2{margin:0 0 14px;color:#071d3b;text-transform:uppercase;letter-spacing:-.01em}.section.soft{background:var(--soft)}@media(max-width:900px){.bio-wrap,.grid2{grid-template-columns:1fr}.bio-photo{height:340px}.bio-title h1{font-size:34px}}


/* Labor | AI Lab integrated platform enhancements */
.nav-line{justify-content:flex-start;gap:24px}.nav-line .cart{margin-left:auto;font-size:18px}.brand-logo{height:58px;width:auto;object-fit:contain}.footer{clear:both}.ll-panel{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 18px rgba(0,30,75,.06);padding:26px;margin-top:24px}.ll-grid3{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:24px}.ll-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ll-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ll-field{display:grid;gap:7px;font-weight:800;font-size:13px;color:#3b4c63}.ll-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 18px rgba(0,30,75,.06);padding:26px}.ll-card.center{text-align:center}.ll-card h3,.ll-panel h2{margin-top:0;color:#071d3b}.ll-card p,.ll-panel p{color:#4f6075}.ll-file-box{border:1px dashed #b8c8df;background:#f8fbff;border-radius:8px;padding:18px;margin-top:16px}.ll-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.ll-table{width:100%;border-collapse:collapse;margin-top:18px}.ll-table th,.ll-table td{border-bottom:1px solid var(--line);padding:12px;text-align:left}.ll-table th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#0062c4}.ll-tool-card{background:#f8fbff;border:1px solid var(--line);border-radius:8px;padding:18px}.ll-output-box{border:1px solid var(--line);border-radius:8px;background:#f8fbff;padding:16px;min-height:120px}.ll-note{background:#edf7ff;border:1px solid #cfe3f6;border-radius:8px;padding:18px;margin-top:18px}.ll-mini-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.ll-mini-nav a{font-weight:900;color:#0062c4;background:#eef6ff;border:1px solid #cde3f7;border-radius:999px;padding:8px 12px;font-size:12px;text-transform:uppercase}.workspace-shell{display:grid;grid-template-columns:260px 1fr;gap:24px}.workspace-sidebar{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;position:sticky;top:18px;height:max-content}.workspace-sidebar a{display:block;padding:12px 14px;border-radius:6px;font-weight:900;color:#071d3b}.workspace-sidebar a:hover,.workspace-sidebar a.active{background:#eef6ff;color:#0062c4}.workspace-main{min-width:0}.viewer-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.doc-viewer,.video-viewer{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;min-height:320px}.document-canvas{border:1px solid #ccd8e6;border-radius:8px;background:#fbfdff;min-height:230px;padding:20px;color:#263a52}.video-canvas{border-radius:8px;background:linear-gradient(135deg,#071426,#0c2346);min-height:230px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:54px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:12px}.calendar-grid div{border:1px solid var(--line);border-radius:6px;padding:8px;min-height:56px;background:#fff}.task-row{display:grid;grid-template-columns:1.2fr .7fr .7fr .7fr;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;background:#eef6ff;color:#0062c4}.hero.workspace-hero .wrap{min-height:360px}.hero.workspace-hero h1{font-size:48px}@media(max-width:1000px){.nav-line{gap:14px}.ll-grid3,.ll-grid2,.ll-grid4,.workspace-shell,.viewer-grid{grid-template-columns:1fr}.workspace-sidebar{position:relative}.task-row{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------------------------------------------------------------------------
   Two-party upload cards (Documents tab, Email tab).

   These were laid out only by an inline `grid-template-columns:1fr 1fr`, and
   `1fr` is `minmax(auto, 1fr)`: a grid item's automatic minimum size is its
   MIN-CONTENT width. The cards hold a width:100% table, file inputs and long
   filenames, so the first column refused to shrink below its content and
   pushed the second card off the right edge of the viewport.

   minmax(0, 1fr) plus min-width:0 on the children is the actual fix - it lets
   a column be narrower than its contents, so the two columns stay equal and
   inside the panel. Everything else here keeps the contents in their card
   rather than letting them re-inflate the grid.
   --------------------------------------------------------------------------- */
.ll-up2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
/* Without this a grid child still floors at min-content and overflows. */
.ll-up2 > *{min-width:0}
.ll-up2 .ll-card{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow-wrap:anywhere;
  word-break:break-word;
}
/* File pickers report a wide intrinsic width; contain them. */
.ll-up2 input[type=file]{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
/* Fixed layout stops one long filename from setting the table's width. */
.ll-up2 .ll-table{width:100%;max-width:100%;table-layout:fixed}
.ll-up2 .ll-table th,
.ll-up2 .ll-table td{overflow-wrap:anywhere;word-break:break-word}
.ll-up2 .ll-actions{flex-wrap:wrap}

/* Side by side needs real room; below that, stack rather than squeeze. */
@media(max-width:900px){
  .ll-up2{grid-template-columns:1fr}
}
