/*
 Art direction: dependable, organized, modern freight operations.
 Palette: HTT Blue + selective HTT Orange + light operational surfaces.
 Typography: Satoshi for clear, professional business UI.
 Density: balanced on public/portal views; operationally compact on desktop admin views.
*/
@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,500,600,700&display=swap');

:root {
  --htt-blue: #0B4FA3;
  --htt-blue-dark: #12304C;
  --htt-orange: #D9822B;
  --htt-red: #C73B32;
  --htt-green: #2E7D4F;
  --htt-gold: #B7791F;
  --color-bg: #F5F7FA;
  --color-surface: #FFFFFF;
  --color-surface-offset: #EAF0F6;
  --color-text: #172B3A;
  --color-text-muted: #5F7181;
  --color-border: #D7E0E8;
  --font-body: 'Satoshi', Arial, sans-serif;
  --text-xs: clamp(.75rem, .7rem + .25vw, .875rem);
  --text-sm: clamp(.875rem, .8rem + .35vw, 1rem);
  --text-base: clamp(1rem, .95rem + .25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + .75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
  --space-12: 3rem; --space-16: 4rem;
  --radius-sm: .375rem; --radius-md: .5rem; --radius-lg: .75rem;
  --shadow-sm: 0 1px 2px rgba(18, 48, 76, .07);
  --shadow-md: 0 8px 24px rgba(18, 48, 76, .10);
  --transition: 180ms cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-height: 100dvh; margin: 0; font-family: var(--font-body); font-size: var(--text-base); line-height: 1.55; color: var(--color-text); background: var(--color-bg); }
a, button, input, select, textarea { font: inherit; }
a { color: var(--htt-blue); }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(217, 130, 43, .55); outline-offset: 2px; }

.setup-page { display: grid; min-height: 100dvh; padding: var(--space-4); place-items: center; background: linear-gradient(145deg, var(--htt-blue-dark), var(--htt-blue)); }
.setup-card { width: min(100%, 42rem); padding: clamp(var(--space-6), 6vw, var(--space-12)); background: var(--color-surface); border: 1px solid rgba(255,255,255,.45); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.setup-card h1 { margin: 0 0 var(--space-4); font-size: var(--text-xl); line-height: 1.15; }
.setup-card p { margin: 0; color: var(--color-text-muted); }
.eyebrow { margin-bottom: var(--space-3) !important; color: var(--htt-orange) !important; font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* Phase D2: shared application shells and access screens. */
.skip-link { position: fixed; top: -4rem; left: var(--space-4); z-index: 3000; padding: var(--space-3) var(--space-4); color: #fff; background: var(--htt-blue-dark); border-radius: var(--radius-sm); }
.skip-link:focus { top: var(--space-4); color: #fff; }
.htt-public-body, .htt-app-body { background: var(--color-bg); }
.htt-public-header, .htt-topbar, .htt-admin-header { background: var(--htt-blue); color: #fff; }
.htt-public-nav { display: flex; min-height: 5.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); }
.htt-brand img { object-fit: contain; object-position: left center; }
.htt-brand-small img { width: 9.625rem; }
.htt-nav-actions, .htt-topbar-actions, .htt-header-actions { display: flex; align-items: center; gap: var(--space-3); }
.htt-nav-link { padding: var(--space-3); color: rgba(255,255,255,.88); font-size: var(--text-sm); font-weight: 600; text-decoration: none; }
.htt-nav-link:hover { color: #fff; }
.btn { min-height: 2.75rem; padding: .625rem 1rem; border-radius: var(--radius-md); font-weight: 700; }
.htt-btn-primary { color: #fff; background: var(--htt-blue); border: 1px solid var(--htt-blue); }
.htt-btn-primary:hover { color: #fff; background: #083D7D; border-color: #083D7D; }
.htt-btn-light { color: var(--htt-blue-dark); background: #fff; border: 1px solid #fff; }
.htt-btn-light:hover { color: var(--htt-blue-dark); background: #EAF0F6; }
.htt-btn-outline { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.55); }
.htt-btn-outline:hover { color: var(--htt-blue-dark); background: #fff; }
.htt-public-footer { padding: var(--space-6) 0; color: rgba(255,255,255,.75); background: var(--htt-blue-dark); font-size: var(--text-sm); }

.htt-login-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .78fr); min-height: calc(100dvh - 5.25rem - 4.5rem); }
.htt-login-panel { display: grid; align-content: center; width: min(100%, 34rem); padding: clamp(var(--space-8), 7vw, var(--space-16)); margin: 0 auto; }
.htt-login-panel h1 { margin: 0 0 var(--space-3); font-size: var(--text-xl); font-weight: 700; }
.htt-login-intro { margin: 0 0 var(--space-8); color: var(--color-text-muted); }
.htt-kicker, .htt-sidebar-caption { margin: 0 0 var(--space-2); color: var(--htt-orange); font-size: var(--text-xs); font-weight: 700; letter-spacing: .1em; }
.htt-login-form { display: grid; gap: var(--space-5); }
.htt-login-form label { display: block; margin-bottom: var(--space-2); font-size: var(--text-sm); font-weight: 700; }
.htt-login-form input, .htt-search input { width: 100%; min-height: 3rem; padding: var(--space-3); color: var(--color-text); background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.htt-login-form input:focus, .htt-search input:focus { border-color: var(--htt-blue); outline: 3px solid rgba(11,79,163,.18); }
.htt-login-links { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-6); font-size: var(--text-sm); }
.htt-login-links a { font-weight: 700; }
.htt-login-aside { display: grid; align-content: center; gap: var(--space-5); padding: clamp(var(--space-8), 6vw, var(--space-16)); color: #fff; background: linear-gradient(155deg, var(--htt-blue-dark), var(--htt-blue)); }
.htt-login-aside img { max-width: 15rem; height: auto; filter: brightness(0) invert(1); }
.htt-login-aside p { max-width: 24ch; margin: 0; color: rgba(255,255,255,.84); font-size: var(--text-lg); font-weight: 600; }

.htt-topbar { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-2) clamp(var(--space-4), 4vw, var(--space-10)); }
.htt-topbar img { filter: brightness(0) invert(1); }
.htt-portal-label { font-size: var(--text-sm); font-weight: 700; }
.htt-user-name { font-size: var(--text-sm); font-weight: 600; }
.htt-portal-main { width: min(100% - 2rem, 78rem); padding: clamp(var(--space-6), 5vw, var(--space-12)) 0; margin: 0 auto; }

.htt-admin-shell { display: grid; grid-template-columns: 16.25rem minmax(0, 1fr); min-height: 100dvh; }
.htt-sidebar { display: flex; position: sticky; top: 0; height: 100dvh; flex-direction: column; padding: var(--space-6) var(--space-4); color: #fff; background: var(--htt-blue); }
.htt-brand-sidebar { padding: 0 var(--space-2) var(--space-8); }
.htt-brand-sidebar img { filter: brightness(0) invert(1); }
.htt-sidebar-caption { padding: 0 var(--space-3); color: rgba(255,255,255,.57); }
.htt-sidebar-nav { display: grid; gap: var(--space-1); }
.htt-sidebar-link { display: block; width: 100%; padding: var(--space-3); color: rgba(255,255,255,.83); text-align: left; text-decoration: none; border: 0; border-radius: var(--radius-md); background: transparent; font-size: var(--text-sm); font-weight: 600; }
.htt-sidebar-link:hover, .htt-sidebar-link.is-active { color: #fff; background: rgba(255,255,255,.16); }
.htt-sidebar-bottom { display: grid; gap: var(--space-2); padding: var(--space-4) var(--space-3) 0; margin-top: auto; border-top: 1px solid rgba(255,255,255,.18); }
.htt-signout { padding: var(--space-2) 0; }
.htt-admin-content { min-width: 0; }
.htt-admin-header { display: flex; position: sticky; top: 0; z-index: 20; min-height: 4.5rem; align-items: center; gap: var(--space-4); padding: var(--space-2) clamp(var(--space-4), 4vw, var(--space-8)); box-shadow: 0 1px 0 rgba(255,255,255,.14); }
.htt-search { width: min(100%, 32rem); }
.htt-search input { min-height: 2.75rem; border-color: transparent; }
.htt-admin-main { padding: clamp(var(--space-6), 4vw, var(--space-10)); }
.htt-mobile-menu { min-height: 2.75rem; padding: 0 var(--space-3); color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: var(--radius-md); background: transparent; font-size: var(--text-sm); font-weight: 700; }

@media (max-width: 767.98px) { .htt-nav-actions .htt-nav-link { display: none; } .htt-login-page { grid-template-columns: 1fr; min-height: auto; } .htt-login-aside { display: none; } .htt-login-panel { min-height: calc(100dvh - 9.75rem); } .htt-portal-label { display: none; } }
@media (max-width: 991.98px) { .htt-admin-shell { grid-template-columns: 1fr; } .htt-sidebar { display: none; } .htt-admin-header { justify-content: space-between; } .htt-search { flex: 1; } }

/* Phase D3: dashboard and loads. */
.htt-page-head { display: flex; align-items: start; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); }
.htt-page-head h1 { margin: 0 0 var(--space-2); font-size: clamp(1.75rem, 1.35rem + 1.5vw, 2.4rem); }
.htt-page-head p { margin: 0; color: var(--color-text-muted); }
.htt-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-bottom: var(--space-6); }
.htt-stat-card, .htt-panel { border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.htt-stat-card { padding: var(--space-5); }
.htt-stat-card span { display: block; color: var(--color-text-muted); font-size: var(--text-sm); font-weight: 700; }
.htt-stat-card strong { display: block; margin-top: var(--space-3); font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.6rem); line-height: 1; }
.htt-panel { padding: var(--space-5); margin-bottom: var(--space-5); }
.htt-panel-head { display: flex; align-items: start; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.htt-panel-head h2, .htt-section-title { margin: 0; font-size: 1.15rem; font-weight: 700; }
.htt-panel-head p { margin: var(--space-1) 0 0; color: var(--color-text-muted); }
.htt-table { min-width: 100%; font-size: var(--text-sm); }
.htt-table th, .htt-table td { padding: .9rem .85rem; vertical-align: top; border-bottom: 1px solid #E7EDF3; }
.htt-table th { color: var(--color-text-muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.htt-pill { display: inline-flex; align-items: center; padding: .42rem .72rem; border-radius: 999px; font-size: .78rem; font-weight: 800; letter-spacing: .01em; }
.htt-pill.soft-blue, .htt-stat-card.soft-blue { color: #0B4FA3; background: #EAF2FF; }
.htt-pill.soft-gold, .htt-stat-card.soft-gold { color: #8A5A0A; background: #FFF3D9; }
.htt-pill.soft-green, .htt-stat-card.soft-green { color: #2B6C45; background: #E8F6EE; }
.htt-pill.soft-dark, .htt-stat-card.soft-dark { color: #12304C; background: #E6EEF6; }
.htt-pill.soft-red, .htt-stat-card.soft-red { color: #A5312A; background: #FCE8E6; }
.htt-inline-filters { display: grid; grid-template-columns: minmax(16rem, 1fr) 14rem auto; gap: var(--space-3); }
.htt-inline-filters input, .htt-inline-filters select, .htt-form-grid input, .htt-form-grid select, .htt-form-grid textarea { width: 100%; min-height: 3rem; padding: .78rem .9rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; }
.htt-inline-filters select, .htt-form-grid select { appearance: none; }
.htt-form-panel { padding: var(--space-6); }
.htt-form-grid { display: grid; gap: var(--space-4); }
.htt-form-grid.two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.htt-form-grid label { display: block; margin-bottom: var(--space-2); font-size: var(--text-sm); font-weight: 700; }
.htt-form-actions { display: flex; justify-content: end; grid-column: 1 / -1; }
.htt-form-actions.dual { justify-content: space-between; }
.htt-btn-outline-dark { color: var(--htt-blue-dark); background: #fff; border: 1px solid var(--color-border); }
.htt-btn-outline-dark:hover { background: #EEF4FA; }
.htt-detail-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); gap: var(--space-5); }
.htt-definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin: 0; }
.htt-definition-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.htt-definition-grid dt { margin-bottom: .35rem; color: var(--color-text-muted); font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.htt-definition-grid dd { margin: 0; font-weight: 600; }
.htt-activity-list { display: grid; gap: var(--space-3); padding: 0; margin: 0; list-style: none; }
.htt-activity-list li { display: grid; gap: .2rem; padding-bottom: var(--space-3); border-bottom: 1px solid #E7EDF3; }
.htt-activity-list small { color: var(--color-text-muted); }
.two-up-inline { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.htt-item-row { display: grid; grid-template-columns: 2fr .7fr .9fr .8fr 1.4fr; gap: var(--space-3); margin-bottom: var(--space-3); }

@media (max-width: 1199.98px) { .htt-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991.98px) { .htt-page-head, .htt-panel-head, .htt-detail-grid, .htt-form-grid.two-up, .two-up-inline, .htt-definition-grid, .htt-inline-filters, .htt-item-row { grid-template-columns: 1fr !important; } .htt-page-head, .htt-panel-head { display: grid; } }
/* Phase D4: shared entity records. */
.full { grid-column: 1 / -1; }
@media (max-width: 991.98px) { .full { grid-column: auto; } }

.htt-table-tools { display: flex; justify-content: flex-end; margin-bottom: 1rem; }
.htt-table-filter { width: min(100%, 19rem); }

.htt-billing-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0 0 1.5rem; }
.htt-metric-card.is-attention { background:#fff6e9; }
@media (max-width: 767.98px){ .htt-billing-summary{grid-template-columns:1fr;} }

.htt-search-page { display:flex; gap:.75rem; margin:0 0 1.5rem; max-width:52rem; }
.htt-search-page input { flex:1; }
.htt-search-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.htt-count { font-size:.78em; color:#5e7087; font-weight:600; }
.htt-result-list { list-style:none; margin:1rem 0 0; padding:0; }
.htt-result-list li { border-top:1px solid #e3eaf1; }
.htt-result-list a { display:block; color:inherit; padding:1rem 0; text-decoration:none; }
.htt-result-list strong,.htt-result-list span { display:block; }
.htt-result-list span { color:#63748a; font-size:.9rem; margin-top:.18rem; }
@media(max-width:767.98px){.htt-search-page{flex-direction:column;}.htt-search-result-grid{grid-template-columns:1fr;}}
/* Phase D6 operational polish: responsive navigation, action-oriented empty states, and clearer statuses. */
.htt-empty-state { align-items:center; display:flex; flex-direction:column; justify-content:center; min-height:15rem; padding:2.25rem 1.25rem; text-align:center; }
.htt-empty-state h3 { font-size:1.125rem; margin:0 0 .35rem; }
.htt-empty-state p { color:var(--color-text-muted); margin:0 0 1rem; max-width:32rem; }
.htt-empty-state--table { padding:2rem 1rem; }
.htt-status-key { align-items:center; color:var(--color-text-muted); display:flex; flex-wrap:wrap; font-size:.84rem; gap:.75rem 1rem; margin:0 0 1rem; }
.htt-status-key span { align-items:center; display:inline-flex; gap:.35rem; }
.htt-status-key i { border-radius:999px; display:inline-block; height:.55rem; width:.55rem; }
.htt-status-key .is-moving { background:#0B4FA3; }.htt-status-key .is-attention { background:#D9822B; }.htt-status-key .is-complete { background:#2E7D4F; }
.htt-mobile-menu { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); border-radius:var(--radius-md); color:#fff; min-height:44px; padding:.5rem .8rem; }
@media (max-width:991.98px) {
  .htt-sidebar { transform:translateX(-105%); transition:transform var(--transition); z-index:1030; }
  .htt-sidebar.is-open { box-shadow:0 12px 40px rgba(8,33,60,.32); transform:translateX(0); }
  .htt-sidebar::after { background:rgba(13,36,59,.38); content:''; height:100vh; left:100%; opacity:0; pointer-events:none; position:fixed; top:0; width:100vw; }
  .htt-sidebar.is-open::after { opacity:1; pointer-events:auto; }
  .htt-admin-content { margin-left:0; }
  .htt-admin-header { position:sticky; top:0; z-index:1020; }
  .htt-search { flex:1; min-width:0; }
  .htt-search input { min-width:0; width:100%; }
}
@media (max-width:575.98px) {
  .htt-admin-header { gap:.55rem; padding:.7rem .8rem; }
  .htt-header-actions .btn { font-size:.8rem; min-height:40px; padding:.45rem .65rem; }
  .htt-page-head { align-items:flex-start; gap:1rem; }
  .htt-page-head > div:last-child, .htt-page-head > a, .htt-page-head > form { width:100%; }
  .htt-page-head .btn { width:100%; }
  .htt-table td, .htt-table th { white-space:nowrap; }
}

.htt-customer-header { align-items:center; background:var(--htt-blue); display:flex; justify-content:space-between; min-height:4.5rem; padding:.65rem clamp(1rem,4vw,4rem); }
.htt-customer-header .htt-brand img { filter:brightness(0) invert(1); max-height:2.2rem; object-fit:contain; object-position:left; }
.htt-customer-header nav { align-items:center; display:flex; gap:1rem; } .htt-customer-header nav > a,.htt-text-button{color:#fff;font-size:.9rem;text-decoration:none;} .htt-text-button{background:transparent;border:0;padding:.5rem;}
.htt-portal-main { margin:0 auto; max-width:1240px; padding:clamp(1rem,3vw,2.5rem); }
@media(max-width:767.98px){.htt-customer-header{align-items:flex-start;gap:.75rem;flex-direction:column}.htt-customer-header nav{gap:.5rem;flex-wrap:wrap}.htt-customer-header nav>a:not(.btn){display:none;}}
.htt-count-badge { background:#E7F0FA; border:1px solid #C5DBF1; border-radius:999px; color:var(--htt-blue); font-size:.86rem; font-weight:700; padding:.38rem .7rem; white-space:nowrap; }

.htt-request-state{background:#F5F8FC;border:1px solid #D7E4F0;border-radius:var(--radius-md);padding:1rem}.status-gray{background:#EEF1F4;color:#465767}

.htt-board-control{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.htt-board-control h2{margin-bottom:.35rem}@media(max-width:575.98px){.htt-board-control{align-items:stretch;flex-direction:column}.htt-board-control .btn{width:100%}}

/* D9 public front end: navy anchors, orange action, warm open surfaces. */
.htt-public{background:#F7F8FA;color:#172B4D}.htt-public-header{background:#0F315A;color:#fff;padding:1rem 0;position:relative;z-index:2}.htt-brand{align-items:center;color:#fff;display:inline-flex;font-size:1rem;font-weight:800;gap:.65rem;line-height:1.05;text-decoration:none}.htt-brand small{display:block;font-size:.68rem;font-weight:600;letter-spacing:.14em;margin-top:.2rem;text-transform:uppercase}.htt-brand-mark{align-items:center;background:#F26A2E;border-radius:.45rem;color:#fff;display:inline-flex;font-size:.75rem;height:2.2rem;justify-content:center;letter-spacing:.06em;width:2.2rem}.htt-public-header nav a,.htt-public-login,.htt-public-footer a{color:inherit;text-decoration:none}.htt-public-header nav a:hover,.htt-public-login:hover,.htt-public-footer a:hover{text-decoration:underline}.htt-public-login{font-size:.9rem}.htt-btn-accent{background:#F26A2E;border-color:#F26A2E;color:#fff;font-weight:700;padding:.7rem 1.05rem}.htt-btn-accent:hover,.htt-btn-accent:focus{background:#D9521B;border-color:#D9521B;color:#fff}.htt-hero{background:#0F315A;color:#fff;overflow:hidden;padding:5.75rem 0 5rem}.htt-hero-eyebrow,.htt-kicker{color:#E7642A;font-size:.72rem;font-weight:800;letter-spacing:.14em;margin-bottom:.85rem;text-transform:uppercase}.htt-hero h1{font-size:clamp(2.5rem,5vw,4.65rem);font-weight:800;letter-spacing:-.045em;line-height:1.02;max-width:11ch}.htt-hero-copy{color:#D4DEEB;font-size:1.15rem;line-height:1.7;margin:1.4rem 0 1.8rem;max-width:57ch}.htt-btn-ghost-light{border:1px solid rgba(255,255,255,.46);color:#fff;font-weight:700;padding:.7rem 1.05rem}.htt-btn-ghost-light:hover{background:#fff;color:#0F315A}.htt-hero-trust{display:flex;flex-wrap:wrap;gap:.8rem 1.25rem;margin-top:2.25rem}.htt-hero-trust span{color:#C9D5E5;font-size:.82rem}.htt-hero-trust span:before{color:#F26A2E;content:'●';font-size:.65rem;margin-right:.42rem}.htt-hero-panel{background:#fff;border-radius:1rem;box-shadow:0 1.5rem 3.5rem rgba(2,18,42,.28);color:#172B4D;padding:1.8rem}.htt-hero-panel h2{font-size:1.65rem;font-weight:800;line-height:1.12;margin-bottom:1.4rem}.htt-route-card{align-items:center;background:#EAF1F8;border-radius:.75rem;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:1.3rem;padding:1rem}.htt-route-card small{color:#5B6E83;display:block;font-size:.65rem;font-weight:800;letter-spacing:.08em}.htt-route-card strong{display:block;font-size:.82rem;margin-top:.25rem}.htt-hero-panel ul{margin:0;padding-left:1.2rem}.htt-hero-panel li{font-size:.9rem;margin-bottom:.6rem}.htt-public-section{padding:5rem 0}.htt-public-title{font-size:clamp(1.9rem,3vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.08}.htt-public-lead{color:#536273;font-size:1.1rem;line-height:1.7}.htt-service-card{background:#fff;border:1px solid #E0E6ED;border-radius:.85rem;height:100%;padding:1.6rem}.htt-service-card span{color:#E7642A;font-size:.78rem;font-weight:800;letter-spacing:.1em}.htt-service-card h3{font-size:1.22rem;font-weight:800;margin:1.6rem 0 .7rem}.htt-service-card p{color:#536273;font-size:.95rem;line-height:1.65;margin:0}.htt-process{background:#EAF1F8;padding:5rem 0}.htt-process ol{counter-reset:steps;list-style:none;margin:0;padding:0}.htt-process li{border-top:1px solid #C7D5E4;display:grid;gap:1rem;grid-template-columns:2.2rem 1fr 1.5fr;padding:1.4rem 0}.htt-process li:before{color:#E7642A;content:'0' counter(steps);counter-increment:steps;font-size:.78rem;font-weight:800;letter-spacing:.08em;padding-top:.17rem}.htt-process strong{font-size:1.03rem}.htt-process span{color:#536273}.htt-public-cta{background:#173F70;color:#fff;padding:3.5rem 0}.htt-public-cta .container-xl{align-items:center;display:flex;gap:2rem;justify-content:space-between}.htt-public-cta h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;letter-spacing:-.035em;margin:0;max-width:20ch}.htt-public-footer{background:#0B2442;color:#D4DEEB;padding:2.25rem 0}.htt-public-footer strong{color:#fff}.htt-public-footer p{font-size:.9rem;margin-top:.35rem}.htt-request-hero{background:#0F315A;color:#fff;padding:4.25rem 0}.htt-request-hero h1{font-size:clamp(2.25rem,4vw,3.5rem);font-weight:800;letter-spacing:-.04em}.htt-request-hero p{color:#D4DEEB;max-width:50ch}.htt-request-body{padding:4rem 0 5rem}.htt-public-form{background:#fff;border:1px solid #E0E6ED;border-radius:.85rem;padding:1.7rem}.htt-public-form label{display:block;font-size:.88rem;font-weight:750;margin-bottom:.38rem}.htt-public-form label span{color:#E7642A}.htt-public-form input,.htt-public-form select,.htt-public-form textarea{border:1px solid #BFCBDC;border-radius:.45rem;padding:.68rem .75rem;width:100%}.htt-public-form input:focus,.htt-public-form select:focus,.htt-public-form textarea:focus{border-color:#0F5A9D;box-shadow:0 0 0 .2rem rgba(15,90,157,.13);outline:0}.htt-request-aside{background:#EAF1F8;border-radius:.85rem;padding:1.7rem}.htt-request-aside h2{font-size:1.25rem;font-weight:800}.htt-request-aside li{margin-bottom:.85rem}.htt-request-aside a{color:#0F5A9D;font-weight:800}@media(max-width:767.98px){.htt-hero{padding:4rem 0}.htt-hero h1{max-width:13ch}.htt-public-section,.htt-process{padding:3.5rem 0}.htt-process li{grid-template-columns:2rem 1fr}.htt-process li span{grid-column:2}.htt-public-cta .container-xl{align-items:flex-start;flex-direction:column}.htt-public-cta .btn{width:100%}.htt-request-body{padding:2.5rem 0 3.5rem}}

.htt-mobile-menu{border:1px solid rgba(255,255,255,.45);border-radius:.38rem;color:#fff;font-size:.82rem;font-weight:800;min-height:2.5rem;padding:.35rem .7rem}.htt-mobile-nav{background:#0B294D;border-top:1px solid rgba(255,255,255,.12);display:none;padding:.65rem 1rem}.htt-mobile-nav.is-open{display:grid}.htt-mobile-nav a{border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:.94rem;padding:.82rem .25rem;text-decoration:none}.htt-mobile-nav a:last-child{border-bottom:0}.htt-service-detail{border-top:1px solid #D7E0EA;display:grid;gap:1.5rem;grid-template-columns:3.5rem minmax(0,1fr);padding:2rem 0}.htt-service-detail:last-child{border-bottom:1px solid #D7E0EA}.htt-service-detail>span{color:#E7642A;font-size:.8rem;font-weight:850;letter-spacing:.1em;padding-top:.35rem}.htt-service-detail h2{font-size:clamp(1.35rem,2vw,1.85rem);font-weight:800;letter-spacing:-.025em;margin:0 0 .65rem}.htt-service-detail p{color:#536273;font-size:1.02rem;line-height:1.72;margin:0;max-width:68ch}@media(max-width:575.98px){.htt-public-header{padding:.75rem 0}.htt-brand{font-size:.9rem}.htt-public-login{font-size:.78rem}.htt-service-detail{gap:1rem;grid-template-columns:2.5rem minmax(0,1fr);padding:1.5rem 0}.htt-service-detail p{font-size:.95rem}}

.htt-contact-card{background:#fff;border:1px solid #DDE5EE;border-radius:.9rem;display:flex;flex-direction:column;height:100%;padding:1.65rem}.htt-contact-card h2{font-size:1.4rem;font-weight:800;letter-spacing:-.025em;margin:.9rem 0 .7rem}.htt-contact-card p:not(.htt-kicker){color:#536273;flex:1;line-height:1.65}.htt-contact-card--blue{background:#173F70;border-color:#173F70;color:#fff}.htt-contact-card--blue p:not(.htt-kicker){color:#D3DFEC}.htt-contact-card--blue .htt-kicker{color:#FFA06E}
.htt-error-page{align-items:center;background:#F5F8FC;color:#172B4D;display:flex;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;justify-content:center;min-height:100vh;padding:1.5rem}.htt-error-page main{background:#fff;border:1px solid #DDE5EE;border-radius:1rem;box-shadow:0 1rem 2.5rem rgba(15,49,90,.1);max-width:38rem;padding:2.5rem}.htt-error-page h1{font-size:clamp(1.9rem,4vw,3rem);font-weight:800;letter-spacing:-.04em;line-height:1.08;margin:.5rem 0 1rem}.htt-error-page p:not(.htt-kicker){color:#536273;line-height:1.7;margin-bottom:1.5rem}.htt-error-link{background:#0F315A;border-radius:.45rem;color:#fff;display:inline-block;font-weight:750;padding:.72rem 1rem;text-decoration:none}.htt-error-link:hover{background:#173F70;color:#fff}

/* Application review: consistent HTT operations layout. */
.htt-application-head{align-items:flex-start}.htt-back-link{color:var(--color-text-muted);display:inline-block;font-size:var(--text-sm);font-weight:700;text-decoration:none}.htt-back-link:hover{color:var(--htt-blue);text-decoration:underline}.htt-status-badge{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;letter-spacing:.02em;padding:.45rem .75rem;white-space:nowrap}.htt-status-pending{background:#FFF0D6;color:#765000}.htt-status-approved{background:#E3F3E9;color:#176538}.htt-status-declined{background:#FBE5E3;color:#9A302B}.htt-alert{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.htt-application-layout{align-items:start;display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1.45fr) minmax(19rem,.85fr)}.htt-application-summary,.htt-approval-panel,.htt-decline-panel,.htt-reviewed-panel{padding:var(--space-6)}.htt-panel-heading{align-items:flex-start;display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.htt-panel-heading h2,.htt-detail-block h3,.htt-decline-panel h2,.htt-reviewed-panel h2{font-size:1.15rem;font-weight:800;line-height:1.25;margin:0}.htt-panel-eyebrow{color:var(--htt-orange);font-size:.72rem;font-weight:800;letter-spacing:.1em;margin:0 0 var(--space-2);text-transform:uppercase}.htt-panel-intro,.htt-decline-panel>p,.htt-reviewed-panel>p{color:var(--color-text-muted);font-size:.92rem;margin:0 0 var(--space-5)}.htt-detail-block+.htt-detail-block{border-top:1px solid var(--color-border);margin-top:var(--space-6);padding-top:var(--space-6)}.htt-detail-block h3{margin-bottom:var(--space-4)}.htt-application-details{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.htt-application-details div{background:var(--color-surface-offset);border-radius:var(--radius-md);min-width:0;padding:var(--space-3) var(--space-4)}.htt-application-details dt{color:var(--color-text-muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;margin:0 0 var(--space-1);text-transform:uppercase}.htt-application-details dd{font-size:.95rem;font-weight:700;margin:0;overflow-wrap:anywhere}.htt-empty-value{color:var(--color-text-muted);font-weight:500}.htt-review-meta{color:var(--color-text-muted);font-size:.85rem;margin:var(--space-3) 0 0}.htt-application-actions{display:grid;gap:var(--space-5)}.htt-approval-form,.htt-decline-panel form{display:grid;gap:var(--space-4)}.htt-approval-form label,.htt-decline-panel label{display:block;font-size:.88rem;font-weight:800;margin-bottom:var(--space-2)}.htt-approval-form label span{color:var(--htt-red)}.htt-approval-form input,.htt-approval-form select,.htt-approval-form textarea,.htt-decline-panel textarea{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);display:block;min-height:2.75rem;padding:.65rem .75rem;width:100%}.htt-approval-form textarea,.htt-decline-panel textarea{min-height:auto;resize:vertical}.htt-approval-form input:focus,.htt-approval-form select:focus,.htt-approval-form textarea:focus,.htt-decline-panel textarea:focus{border-color:var(--htt-blue);box-shadow:0 0 0 .18rem rgba(11,79,163,.14);outline:0}.htt-field-help{color:var(--color-text-muted);font-size:.82rem;line-height:1.45;margin:var(--space-2) 0 0}.htt-decline-panel{background:#FFF9F8;border-color:#F2D6D3}.htt-decline-panel h2{color:#8E2F29;margin-bottom:var(--space-2)}.htt-btn-danger{background:var(--htt-red);border:1px solid var(--htt-red);color:#fff}.htt-btn-danger:hover,.htt-btn-danger:focus{background:#A92C25;border-color:#A92C25;color:#fff}.htt-reviewed-panel{background:var(--color-surface-offset)}
@media (max-width:991.98px){.htt-application-layout{grid-template-columns:1fr}.htt-application-actions{grid-template-columns:1fr 1fr}.htt-approval-panel,.htt-reviewed-panel{grid-column:1/-1}}
@media (max-width:575.98px){.htt-page-head.htt-application-head{display:block}.htt-status-badge{margin-top:var(--space-4)}.htt-application-summary,.htt-approval-panel,.htt-decline-panel,.htt-reviewed-panel{padding:var(--space-4)}.htt-application-details{grid-template-columns:1fr}.htt-application-actions{grid-template-columns:1fr}.htt-approval-panel,.htt-reviewed-panel{grid-column:auto}}
/* Phase 2: Team permissions and iPhone-first admin record treatment. */
.htt-permission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); }
.htt-permission-option { display:flex; gap:var(--space-3); min-height:4.5rem; padding:var(--space-4); border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); cursor:pointer; align-items:flex-start; }
.htt-permission-option:has(input:checked) { border-color:var(--htt-blue); background:#F1F6FC; box-shadow:inset 0 0 0 1px rgba(11,79,163,.12); }
.htt-permission-option input { flex:0 0 auto; width:1.2rem; height:1.2rem; margin-top:.1rem; accent-color:var(--htt-blue); }
.htt-permission-option strong, .htt-permission-option small { display:block; }
.htt-permission-option span { min-width:0; }
.htt-permission-option strong { font-size:var(--text-sm); color:var(--color-text); }
.htt-permission-option small { margin-top:var(--space-1); color:var(--color-text-muted); font-size:var(--text-xs); line-height:1.4; }
.team-form-shell { display:grid; gap:var(--space-5); }
.team-form-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:var(--space-5); align-items:start; }
.team-form-panel { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:var(--space-5); box-shadow:var(--shadow-sm); }
.team-form-panel-muted { background:var(--color-surface-2); }
.team-form-panel-header { margin-bottom:var(--space-4); }
.team-form-panel-header h2 { margin:0; font-size:clamp(1.15rem,1.05rem + .35vw,1.5rem); }
.team-form-panel-header p:last-child { margin:var(--space-2) 0 0; color:var(--color-text-muted); max-width:58ch; }
.team-form-kicker { margin:0 0 var(--space-2); font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--htt-blue); }
.team-form-status-card { height:100%; display:flex; flex-direction:column; justify-content:center; gap:var(--space-2); padding:var(--space-4); border:1px dashed color-mix(in srgb, var(--htt-blue) 22%, var(--color-border)); border-radius:var(--radius-md); background:color-mix(in srgb, var(--color-surface-2) 80%, #fff 20%); }
.team-form-status-card p { margin:0; }
.team-form-status-card .form-check { display:flex; align-items:center; gap:var(--space-2); }
.team-form-status-card .form-check-input { margin:0; }
.team-form-status-card .form-check-label { font-weight:600; color:var(--color-text); }
.team-permission-fieldset { margin:0; }
.team-permission-grid { grid-template-columns:1fr; }
.team-permission-option { min-height:unset; }
@media (max-width: 991.98px) {
  .team-form-grid { grid-template-columns:1fr; }
}
.htt-permission-tags { display:flex; flex-wrap:wrap; gap:var(--space-1); }
.htt-permission-tags span { display:inline-flex; padding:.18rem .45rem; color:var(--htt-blue-dark); background:var(--color-surface-offset); border-radius:999px; font-size:var(--text-xs); font-weight:700; text-transform:capitalize; }
@media (max-width: 767.98px) {
  .htt-page-heading { gap:var(--space-4); align-items:flex-start; }
  .htt-page-heading .btn { width:100%; }
  .htt-permission-grid { grid-template-columns:1fr; }
  .htt-permission-option { min-height:5rem; padding:var(--space-4); }
  .htt-table-card { overflow:visible; }
  .htt-table-card .table-responsive { overflow:visible; }
  .htt-table thead { display:none; }
  .htt-table, .htt-table tbody, .htt-table tr, .htt-table td { display:block; width:100%; }
  .htt-table tr { padding:var(--space-4); border-bottom:1px solid var(--color-border); }
  .htt-table td { padding:var(--space-2) 0; border:0; }
  .htt-table td[data-label]::before { content:attr(data-label); display:block; margin-bottom:var(--space-1); color:var(--color-text-muted); font-size:var(--text-xs); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
  .htt-table td[data-label=""]::before { display:none; }
  .htt-table td:last-child .btn { width:100%; min-height:2.75rem; margin-top:var(--space-2); }
}

/* Dev Center */
.dev-center-heading { align-items:flex-start; }
.dev-center-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--space-3); margin-bottom:var(--space-5); }
.dev-status-card { display:flex; flex-direction:column; gap:var(--space-2); min-height:6.5rem; padding:var(--space-4); color:var(--color-text); text-decoration:none; background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); }
.dev-status-card:hover { color:var(--color-text); border-color:var(--htt-blue); box-shadow:var(--shadow-md); }
.dev-status-card span { color:var(--color-text-muted); font-size:var(--text-sm); font-weight:600; }
.dev-status-card strong { font-size:clamp(1.5rem,1.2rem + 1vw,2.25rem); line-height:1; font-variant-numeric:tabular-nums; }
.dev-status-card.is-new { border-top:3px solid #0b4fa3; }
.dev-status-card.is-reviewed { border-top:3px solid #8a6200; }
.dev-status-card.is-implemented { border-top:3px solid #267326; }
.dev-status-card.is-declined { border-top:3px solid #a53b3b; }
.dev-status-card.is-deferred { border-top:3px solid #6b5b95; }
.dev-center-prompt-card, .dev-center-filter-card { margin-bottom:var(--space-5); }
.dev-center-prompt-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); margin-bottom:var(--space-4); }
.dev-center-prompt-heading h2, .dev-note-card-header h2, .dev-note-decision-card h2 { margin:0; font-size:clamp(1.2rem,1.1rem + .5vw,1.65rem); }
.dev-center-prompt-heading p:last-child { margin:var(--space-2) 0 0; color:var(--color-text-muted); }
.dev-center-prompt { min-height:17rem; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:var(--text-sm); line-height:1.55; background:var(--color-surface-2); }
.dev-center-copy-status { min-height:1.5rem; margin:var(--space-2) 0 0; color:var(--color-success); font-size:var(--text-sm); }
.dev-status-badge { display:inline-flex; align-items:center; white-space:nowrap; padding:var(--space-1) var(--space-2); border-radius:var(--radius-full); font-size:var(--text-xs); font-weight:700; }
.dev-status-badge.is-new { color:#063d84; background:#e8f1ff; }
.dev-status-badge.is-reviewed { color:#684900; background:#fff2ca; }
.dev-status-badge.is-implemented { color:#175617; background:#def2de; }
.dev-status-badge.is-declined { color:#7f2525; background:#f8dfdf; }
.dev-status-badge.is-deferred { color:#4d3e71; background:#ebe5fa; }
.dev-center-detail-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:var(--space-5); align-items:start; }
.dev-note-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); padding-bottom:var(--space-4); border-bottom:1px solid var(--color-divider); }
.dev-note-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4); padding:var(--space-5) 0; margin:0; }
.dev-note-meta div { min-width:0; }
.dev-note-meta dt { margin-bottom:var(--space-1); color:var(--color-text-muted); font-size:var(--text-xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.dev-note-meta dd { margin:0; overflow-wrap:anywhere; }
.dev-note-meta a { color:var(--htt-blue); }
.dev-note-body { padding:var(--space-4); background:var(--color-surface-2); border-radius:var(--radius-md); line-height:1.65; white-space:normal; }
.dev-note-body .eyebrow { margin-bottom:var(--space-2); }
.dev-note-decision-card { position:sticky; top:var(--space-4); }
.dev-note-decision-card > .text-muted { margin:var(--space-2) 0 var(--space-4); }
.dev-note-reviewed { margin:var(--space-4) 0 0; color:var(--color-text-muted); font-size:var(--text-xs); }
@media (max-width: 991.98px) { .dev-center-summary { grid-template-columns:repeat(3,minmax(0,1fr)); } .dev-center-detail-grid { grid-template-columns:1fr; } .dev-note-decision-card { position:static; } }
@media (max-width: 575.98px) { .dev-center-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .dev-center-prompt-heading, .dev-note-card-header { flex-direction:column; } .dev-center-prompt-heading .btn { width:100%; } .dev-note-meta { grid-template-columns:1fr; } }


/* === Public site revamp === */
.htt-public{background:#f5f6f8;color:#12263f}
.htt-public-header{background:rgba(8,27,51,.92);backdrop-filter:blur(14px);padding:1rem 0;position:sticky;top:0;z-index:30;box-shadow:0 12px 30px rgba(5,16,34,.14)}
.htt-public-header nav a,.htt-public-login,.htt-public-footer a{font-weight:600}
.htt-public-header nav a:hover,.htt-public-login:hover,.htt-public-footer a:hover{text-decoration:none;opacity:.82}
.htt-btn-accent{background:linear-gradient(180deg,#F26A2E 0%,#E0571D 100%);border:none;border-radius:999px;box-shadow:0 14px 32px rgba(226,87,29,.24);color:#fff;font-weight:800;padding:.82rem 1.3rem}
.htt-btn-accent:hover,.htt-btn-accent:focus{background:linear-gradient(180deg,#DE5A24 0%,#C94916 100%);color:#fff}
.htt-btn-ghost-light,.htt-btn-outline-light,.htt-btn-outline-dark{border-radius:999px;font-weight:700;padding:.82rem 1.3rem}
.htt-btn-outline-light{border:1px solid rgba(255,255,255,.4);color:#fff}
.htt-btn-outline-light:hover{background:#fff;color:#123055}
.htt-btn-outline-dark{border:1px solid #183a62;color:#183a62}
.htt-btn-outline-dark:hover{background:#183a62;color:#fff}
.htt-hero--public{background:radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 28%),linear-gradient(135deg,#0e2c50 0%,#163c69 58%,#214f80 100%);padding:6.25rem 0 5rem}
.htt-hero--public .htt-hero-copy{font-size:1.12rem;max-width:58ch}
.htt-hero-visual-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:1.5rem;box-shadow:0 20px 60px rgba(5,16,34,.22);overflow:hidden;padding:1rem}
.htt-hero-visual-card--wide{margin-top:clamp(2rem,5vw,4rem);width:100%}
.htt-hero-visual-card--wide img{aspect-ratio:16/9;object-fit:contain;object-position:center;background:#eef4f8}
.htt-hero-copy-block{max-width:48rem}
.htt-hero-visual-card img{border-radius:1rem;display:block;width:100%}
.htt-hero-visual-note{align-items:flex-start;background:rgba(255,255,255,.96);border-radius:1rem;color:#18324f;display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;padding:1rem 1.05rem}
.htt-hero-visual-note strong{font-size:1rem}
.htt-split-band{padding-top:4rem}
.htt-compare-card,.htt-audience-card,.htt-service-detail-card,.htt-contact-card,.htt-visual-panel,.htt-ship-card{background:#fff;border:1px solid rgba(18,38,63,.08);border-radius:1.25rem;box-shadow:0 18px 40px rgba(18,38,63,.06)}
.htt-compare-card,.htt-audience-card,.htt-service-detail-card{height:100%;padding:2rem}
.htt-compare-card h2,.htt-audience-card h2,.htt-service-detail-card h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;margin-bottom:1rem}
.htt-compare-card--accent{background:linear-gradient(180deg,#f7fbff 0%,#eef5fd 100%)}
.htt-check-list{display:grid;gap:.85rem;list-style:none;margin:1.3rem 0 0;padding:0}
.htt-check-list li{color:#2e4762;padding-left:1.55rem;position:relative}
.htt-check-list li:before{color:#e55e24;content:'●';font-size:.72rem;left:0;position:absolute;top:.22rem}
.htt-check-list--muted li:before{color:#7d90a5}
.htt-ship-card{height:100%;padding:1.4rem 1.2rem}
.htt-ship-card span{color:#143457;display:block;font-size:1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.55rem}
.htt-ship-card p{color:#5a6e83;font-size:.95rem;line-height:1.6;margin:0}
.htt-process{background:#eaf0f6;padding:5rem 0}
.htt-process--white{background:#fff}
.htt-process li{align-items:start;background:rgba(255,255,255,.6);border-top:1px solid #ced9e6;border-radius:.9rem;display:grid;gap:1rem;grid-template-columns:2.4rem 1fr;padding:1.3rem 1rem;margin-bottom:.85rem}
.htt-process li:before{padding-top:.05rem}
.htt-process strong{display:block;font-size:1.05rem;margin-bottom:.3rem}
.htt-audience-band{padding-top:1rem}
.htt-public-cta{background:linear-gradient(135deg,#10335a 0%,#163f70 100%);color:#fff;padding:4rem 0}
.htt-public-cta .container-xl{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}
.htt-request-hero--light{background:linear-gradient(180deg,#f4f8fb 0%,#edf3f8 100%);color:#102945;padding:4.4rem 0 3.35rem}
.htt-request-hero--light p:not(.htt-kicker){color:#53697f}
.htt-public-form--elevated{border:none;border-radius:1.35rem;box-shadow:0 24px 60px rgba(17,38,63,.08);padding:1.85rem}
.htt-public-form--elevated input,.htt-public-form--elevated select,.htt-public-form--elevated textarea{background:#fbfcfd;border:1px solid #d7e0ea;border-radius:.8rem;padding:.8rem .85rem}
.htt-public-form--elevated input:focus,.htt-public-form--elevated select:focus,.htt-public-form--elevated textarea:focus{border-color:#2a5b8f;box-shadow:0 0 0 .2rem rgba(42,91,143,.12);outline:0}
.htt-form-microcopy{color:#63788d;font-size:.9rem;max-width:30rem}
.htt-request-aside--premium{background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);border:1px solid rgba(18,38,63,.08);border-radius:1.25rem;box-shadow:0 18px 42px rgba(18,38,63,.06);padding:1.5rem}
.htt-request-aside--premium ol{padding-left:1.1rem}
.htt-request-aside--premium li{margin-bottom:.65rem}
.htt-contact-card{height:100%;padding:1.8rem}
.htt-contact-card--quote{background:linear-gradient(180deg,#fff 0%,#fff8f4 100%)}
.htt-contact-card--blue{background:linear-gradient(180deg,#163f70 0%,#0f315a 100%);color:#fff}
.htt-contact-card--blue p,.htt-contact-card--blue .htt-kicker{color:#d9e6f2}
.htt-visual-callout{padding-top:0}
.htt-visual-panel{padding:1.3rem}
.htt-mini-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.htt-mini-grid span{align-items:center;background:linear-gradient(180deg,#f8fbfe 0%,#edf3f8 100%);border:1px solid #dbe5ef;border-radius:1rem;color:#1c3a5b;display:flex;font-weight:700;justify-content:center;min-height:92px;padding:1rem;text-align:center}
.htt-public-footer{background:#0b2442;color:#d7e0ea;padding:2.6rem 0}
.htt-public-footer p{max-width:34rem}
@media (max-width: 991.98px){
  .htt-hero--public{padding:5rem 0 4rem}
  .htt-public-cta .container-xl{align-items:flex-start}
}
@media (max-width: 767.98px){
  .htt-hero h1{max-width:13ch}
  .htt-compare-card,.htt-audience-card,.htt-service-detail-card,.htt-contact-card{padding:1.5rem}
  .htt-process li{grid-template-columns:2rem 1fr}
  .htt-mini-grid{grid-template-columns:1fr 1fr}
}

/* Public header + hero refinement: light center rail framed by HTT navy. */
.htt-public-header{
  background:#10335a;
  border-top:4px solid #ef6530;
  box-shadow:0 14px 32px rgba(8,27,51,.16);
  padding:.6rem 0;
}
.htt-public-header > .container-xl{
  background:rgba(255,255,255,.98);
  border:1px solid rgba(255,255,255,.3);
  border-radius:0 0 1rem 1rem;
  box-shadow:0 10px 26px rgba(5,21,40,.15);
  min-height:4.5rem;
  padding-inline:clamp(1rem,2vw,1.75rem);
}
.htt-public-header .htt-brand{color:#123357}
.htt-public-header .htt-brand-mark{box-shadow:0 8px 18px rgba(226,87,29,.2)}
.htt-public-header nav a,.htt-public-header .htt-public-login{color:#27445f}
.htt-public-header nav a:hover,.htt-public-header .htt-public-login:hover{color:#d95019;opacity:1}
.htt-public-header .htt-btn-accent{box-shadow:0 10px 22px rgba(226,87,29,.18)}
.htt-hero--public{padding-top:clamp(1rem,2.2vw,1.85rem)}
.htt-hero-visual-card--wide.htt-hero-visual-card--first{margin-top:0}
.htt-hero-copy-block--below{padding-top:clamp(2.25rem,4vw,4rem)}
.htt-mobile-menu{color:#173a61}
@media(max-width:767.98px){
  .htt-public-header{padding:.45rem 0}
  .htt-public-header > .container-xl{border-radius:0;min-height:4rem}
  .htt-hero--public{padding-top:1rem}
}
/* Homepage destinations: distinctive visual anchors and a clear blue/white rhythm. */
#what-we-ship,#how-it-works,#contact{scroll-margin-top:6.5rem}
.htt-ship-section{background:#fff;position:relative}
.htt-ship-section:before{background:#f26a2e;content:"";height:.35rem;left:0;position:absolute;right:0;top:0}
.htt-section-visual-wrap{margin:clamp(1.75rem,4vw,3rem) 0 clamp(1.5rem,3vw,2.5rem);padding:clamp(.5rem,1vw,.8rem);background:#fff;border:1px solid rgba(14,49,90,.10);border-radius:1.35rem;box-shadow:0 22px 44px rgba(18,45,75,.10)}
.htt-section-visual{border-radius:calc(1.35rem - clamp(.5rem,1vw,.8rem));display:block;width:100%;height:auto}
.htt-section-visual-wrap--process{background:rgba(255,255,255,.78);box-shadow:0 20px 42px rgba(12,49,83,.11)}
.htt-process{border-block:1px solid #c7d8e7;position:relative}
.htt-public-cta{border-top:4px solid #f26a2e}
@media(max-width:767.98px){.htt-section-visual-wrap{border-radius:1rem}.htt-section-visual{border-radius:calc(1rem - .5rem)}}
/* Dev Tester mode: visible only to accounts explicitly assigned the Dev Tester permission. */
.htt-dev-mode-control { margin: 0; }
.htt-dev-mode-toggle {
    display: inline-flex; align-items: center; gap: .45rem; min-height: 2.5rem; padding: .5rem .8rem;
    border: 1px solid #cfdce7; border-radius: 999px; background: #fff; color: #466074; font-size: .82rem; font-weight: 800;
}
.htt-dev-mode-toggle:hover { border-color: #a8bdcf; background: #f7fafc; }
.htt-dev-mode-toggle.is-active { border-color: #d19a2b; background: #fff7e3; color: #7a4a00; }
.htt-dev-mode-dot { width: .55rem; height: .55rem; border-radius: 50%; background: #8aa0b2; }
.htt-dev-mode-toggle.is-active .htt-dev-mode-dot { background: #d58a00; box-shadow: 0 0 0 .18rem rgba(213,138,0,.16); }
.htt-dev-mode-banner { margin: 0 0 1.25rem; padding: .8rem 1rem; border: 1px solid #efd597; border-radius: 12px; background: #fff8e7; color: #684300; font-size: .9rem; }
@media (max-width: 991.98px) { .htt-dev-mode-control { margin-left: auto; } .htt-dev-mode-toggle { min-height: 2.75rem; } }
