/* Public-facing visual refresh. Existing route and form classes remain intact. */
:root { --ink:#18243b; --muted:#5e6b7d; --paper:#fffdf8; --sand:#f3eadc; --coral:#e86e4b; --blue:#2350a6; --line:#dce2e9; }
body { background:radial-gradient(circle at 90% 3%,#e3eafa 0,transparent 26rem),var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; font-size:17px; line-height:1.65; } body p,body span { color:inherit; } a { color:var(--blue); text-underline-offset:3px; } a:hover { color:var(--coral); }
.tm-header { width:100% !important; min-height:86px; position:relative; top:0; right:auto; bottom:auto; left:0; height:auto; overflow:visible; background:rgba(255,253,248,.88); border-bottom:1px solid rgba(24,36,59,.1); backdrop-filter:blur(14px); }.tm-header-wrapper { box-sizing:border-box; display:flex; align-items:center; gap:28px; width:min(1080px,calc(100% - 48px)); min-height:86px; padding:14px 0; margin:auto; overflow:visible!important; }.tm-site-header { display:flex; align-items:center; gap:12px; margin:0!important; color:var(--ink); text-decoration:none; white-space:nowrap; }.tm-site-header:hover { color:var(--ink); text-decoration:none; }.tm-site-logo { display:flex; align-items:center; justify-content:center; width:46px; height:46px!important; margin:0!important; border-radius:14px; overflow:hidden; background:var(--sand)!important; }.tm-site-logo img { width:62px; height:auto; }.tm-site-header h1 { margin:0; color:var(--ink); font-family:Fraunces,Georgia,serif; font-size:1.32rem; line-height:1; }.site-kicker { display:block; margin-bottom:4px; color:var(--coral); font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.site-intro { display:none; }
.tm-nav { display:flex; align-items:center; gap:12px; margin:0 0 0 auto!important; }.tm-nav h4,.tm-nav br { display:none; }.tm-nav>ul { display:flex; align-items:center; gap:3px; margin:0; padding:0; }.tm-nav-item { margin:0!important; list-style:none; }.tm-nav .tm-nav-link { min-height:0!important; height:auto!important; padding:9px 9px!important; gap:0!important; color:var(--ink)!important; border-radius:9px; font-size:.78rem; font-weight:600; }.tm-nav .tm-nav-link i { display:none; }.tm-nav .tm-nav-link span { color:inherit!important; }.tm-nav .tm-nav-link:hover,.tm-nav .tm-nav-item.active .tm-nav-link { color:var(--blue)!important; background:#eaf0fc; }.nav-profiles,.nav-account { padding-left:12px!important; border-left:1px solid var(--line); }.ipip-menu-cart-count { min-width:18px; height:18px; margin-left:5px; background:var(--coral); line-height:18px; font-size:.65rem; }.navbar-toggler { display:none; }
.tm-main { width:100%; max-width:1080px; min-height:calc(100vh - 86px); margin:0 auto!important; padding:58px 0 32px!important; }.tm-row { max-width:none; } #content { max-width:960px; min-height:calc(100vh - 270px); margin-right:auto; margin-left:auto; } #content>p,#content>ul,#content>ol { max-width:72ch; } #content>h1.page-title,#content>h1.desktop-only { margin:0 0 28px; color:var(--ink); font-family:Fraunces,Georgia,serif; font-size:clamp(2rem,4vw,3rem); letter-spacing:-.035em; }.tm-btn { border-radius:999px; font-family:"DM Sans",sans-serif; font-size:.94rem; font-weight:700; }.tm-btn-primary { padding:13px 22px; background:var(--coral); box-shadow:0 9px 20px rgba(232,110,75,.22); }.tm-btn-primary:hover { background:#cc5738; box-shadow:0 12px 24px rgba(232,110,75,.3); transform:translateY(-1px); }
input.form-control,select.form-control,textarea.form-control { height:auto; padding:10px 13px; border:1px solid #cbd4df; border-radius:10px; color:var(--ink); font-family:inherit; box-shadow:none; } input.form-control:focus,select.form-control:focus,textarea.form-control:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(35,80,166,.12); }.form_settings.testrun,#testForm .col-lg-7,#content>form .col-lg-7 { max-width:760px; padding:28px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 16px 40px rgba(24,36,59,.07); }.form_settings span.question,.question { color:var(--ink); font-family:Fraunces,Georgia,serif; font-size:1.55rem; line-height:1.35; }.custom-control.custom-radio.custom-control-inline { display:flex; width:100%; margin:0 0 10px!important; padding:11px 14px 11px 35px; border:1px solid var(--line); border-radius:10px; background:#fff; transition:border-color .15s,background .15s; }.custom-control.custom-radio.custom-control-inline:hover { border-color:#9aadd2; background:#f7f9fe; }.custom-control-input:checked~.custom-control-label::before { border-color:var(--blue); background-color:var(--blue); } footer.tm-row { gap:24px; margin-top:72px; padding:26px 0; border-top:1px solid var(--line); font-size:.83rem; } footer.tm-row>div { padding:0; }
.home-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:clamp(32px,7vw,96px); align-items:center; padding:clamp(36px,7vw,84px) clamp(24px,6vw,72px); overflow:hidden; border:1px solid rgba(24,36,59,.1); border-radius:28px; background:linear-gradient(112deg,#f3eadc 0%,#fffaf2 57%,#e6edf9 100%); }.home-hero::after { position:absolute; right:-70px; bottom:-105px; width:280px; height:280px; border:42px solid rgba(232,110,75,.13); border-radius:50%; content:""; }.home-hero-copy,.profile-preview { position:relative; z-index:1; }.eyebrow,.preview-label { display:block; color:var(--coral); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.home-hero h1 { max-width:640px; margin:13px 0 18px; color:var(--ink); font-family:Fraunces,Georgia,serif; font-size:clamp(2.8rem,5.7vw,4rem); font-weight:600; line-height:.98; letter-spacing:-.055em; }.home-hero h1 em { color:var(--blue); font-style:italic; }.hero-lede { max-width:560px; margin:0; color:var(--muted); font-size:1.15rem; line-height:1.65; }.hero-actions { display:flex; align-items:center; gap:20px; margin-top:30px; }.hero-actions .tm-btn i { margin-left:8px; }.text-link { font-size:.92rem; font-weight:700; }.hero-note { margin:20px 0 0; color:var(--muted); font-size:.78rem; }.hero-note i { color:var(--blue); margin-right:6px; }.profile-preview { display:grid; gap:9px; padding:25px; border:1px solid rgba(35,80,166,.13); border-radius:20px; background:rgba(255,255,255,.72); box-shadow:0 22px 45px rgba(35,80,166,.12); transform:rotate(2deg); }.trait { display:flex; align-items:center; gap:11px; padding:9px; border-radius:9px; color:var(--ink); font-size:.88rem; }.trait span { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; background:#fff; color:inherit; font-family:Fraunces,Georgia,serif; }.trait-n { background:#f8e6e4; color:#b54b3b; }.trait-e { background:#faefd3; color:#9b6c18; }.trait-o { background:#e3f0ec; color:#277259; }.trait-a { background:#e5ebfa; color:#405ea8; }.trait-c { background:#eee8f6; color:#72519a; }
.home-explainer { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; margin:70px 0 28px; padding:0 clamp(4px,3vw,40px); }.home-explainer h2 { margin:10px 0 0; color:var(--ink); font-family:Fraunces,Georgia,serif; font-size:2rem; line-height:1.15; text-transform:none; }.home-explainer p { margin:0; color:var(--muted); font-size:1.03rem; line-height:1.75; text-align:left; }.assessment-details { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.detail-card { padding:25px; border:1px solid var(--line); border-radius:17px; background:#fff; }.detail-card>i { color:var(--coral); font-size:1.2rem; }.detail-card h3 { margin:16px 0 8px; color:var(--ink); font-size:1.05rem; text-transform:none; letter-spacing:0; }.detail-card p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.55; text-align:left; }.ai-callout { display:flex; gap:15px; align-items:flex-start; margin-top:20px; padding:19px 23px; border-radius:15px; background:#e9effb; color:var(--blue); }.ai-callout>i { margin-top:5px; }.ai-callout strong,.ai-callout span { display:block; }.ai-callout span { margin-top:3px; color:#536c9d; font-size:.88rem; }.legacy-home-content { display:none; }
@media (max-width:1100px) { .tm-header-wrapper { gap:16px; width:min(100% - 28px,1080px); }.tm-site-header { margin-right:auto!important; }.tm-nav { display:none; }.tm-header.show .tm-nav { display:block; position:absolute; top:72px; right:14px; left:14px; z-index:3; padding:12px; border:1px solid var(--line); border-radius:16px; background:#fffdf8; box-shadow:0 16px 35px rgba(24,36,59,.15); }.tm-header.show .tm-nav>ul { display:block; }.tm-header.show .tm-nav>ul+ul { margin:10px 0 0; padding:10px 0 0; border-top:1px solid var(--line); border-left:0; }.tm-header.show .tm-nav-link { padding:10px 12px!important; font-size:.9rem; }.navbar-toggler { display:block; position:static; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); }.tm-main { padding:30px 14px 20px!important; }.home-hero { grid-template-columns:1fr; }.profile-preview { max-width:420px; transform:none; }.home-explainer { grid-template-columns:1fr; gap:18px; margin-top:45px; }.assessment-details { grid-template-columns:1fr; } }
@media (max-width:520px) { .tm-site-logo { width:39px; height:39px!important; }.tm-site-logo img { width:54px; }.site-kicker { font-size:.55rem; }.tm-site-header h1 { font-size:1.12rem; }.home-hero { padding:32px 22px; border-radius:20px; }.home-hero h1 { font-size:2.6rem; }.hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }.tm-btn-primary { width:100%; }.form_settings.testrun,#testForm .col-lg-7,#content>form .col-lg-7 { padding:19px; }.custom-control.custom-radio.custom-control-inline { padding-right:10px; }.home-explainer { padding:0 3px; } }

/* The site header has one job: get people to the right assessment or account action. */
@media (min-width:1101px) {
  .tm-header { min-height:76px; }
  .tm-header-wrapper { min-height:76px; width:min(1100px, calc(100% - 48px)); gap:24px; }
  .tm-nav { gap:8px; }
  .tm-nav .tm-nav-link { padding:8px 8px !important; font-size:.77rem; }
  .nav-primary .tm-nav-item:first-child { display:none; }
  .nav-disclosure { position:relative; flex:0 0 auto; }
  .nav-disclosure summary { display:flex; align-items:center; gap:7px; padding:8px 10px; color:var(--ink); border-radius:9px; cursor:pointer; font-size:.77rem; font-weight:600; list-style:none; }
  .nav-disclosure summary::-webkit-details-marker { display:none; }
  .nav-disclosure summary:hover { color:var(--blue); background:#eaf0fc; }
  .nav-disclosure summary i { font-size:.62rem; transition:transform .18s ease; }
  .nav-disclosure[open] summary i { transform:rotate(180deg); }
  .nav-profiles { position:absolute; top:calc(100% + 9px); right:0; display:block !important; min-width:184px; padding:8px !important; border:1px solid var(--line); border-radius:13px; background:#fffdf8; box-shadow:0 16px 32px rgba(24,36,59,.14); }
  .nav-profiles .tm-nav-link { padding:9px 10px !important; font-size:.82rem; }
  .nav-account { gap:5px !important; padding-left:4px !important; border-left:0; }
  .nav-account .tm-nav-link { border:1px solid var(--line); }
  .nav-account .tm-nav-item:last-child .tm-nav-link { border-color:var(--coral); background:var(--coral); color:#fff !important; box-shadow:0 5px 12px rgba(232,110,75,.18); }
  .nav-account .tm-nav-item:last-child .tm-nav-link:hover { background:#cc5738; color:#fff !important; }
}

@media (max-width:1100px) {
  .tm-header.show .tm-nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .tm-header.show .nav-disclosure { margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
  .tm-header.show .nav-disclosure summary { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; color:var(--ink); cursor:pointer; font-size:.9rem; font-weight:700; list-style:none; }
  .tm-header.show .nav-disclosure summary::-webkit-details-marker { display:none; }
  .tm-header.show .nav-disclosure summary i { font-size:.7rem; }
  .tm-header.show .nav-disclosure[open] summary i { transform:rotate(180deg); }
  .tm-header.show .nav-disclosure .nav-profiles { margin:0; padding:0 0 4px !important; border:0; }
  .tm-header.show .nav-disclosure .tm-nav-link { padding-left:24px !important; }
  .tm-header.show .nav-account { margin-top:10px !important; padding-top:10px !important; border-top:1px solid var(--line); }
}

/* Purpose-built public navigation. This deliberately does not inherit the old sidebar menu rules. */
.site-nav { display:flex; align-items:center; gap:18px; margin-left:auto; }.site-nav ul { margin:0; padding:0; }.site-nav li { list-style:none; }.site-nav__links,.site-nav__account { display:flex; align-items:center; gap:3px; }.site-nav__account { gap:8px; margin-left:4px!important; padding-left:16px!important; border-left:1px solid var(--line); }.site-nav a,.site-nav summary { color:var(--ink); font-size:.82rem; font-weight:700; line-height:1.2; text-decoration:none; }.site-nav__link,.site-nav__cart,.site-nav__login,.site-nav__signup,.site-nav__group summary { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:9px 10px; border-radius:9px; }.site-nav__link:hover,.site-nav__link.is-active,.site-nav__cart:hover,.site-nav__group summary:hover { color:var(--blue); background:#eaf0fc; }.site-nav__group { position:relative; }.site-nav__group summary { cursor:pointer; list-style:none; }.site-nav__group summary::-webkit-details-marker { display:none; }.site-nav__group summary i { color:var(--muted); font-size:.62rem; transition:transform .18s ease; }.site-nav__group[open] summary { color:var(--blue); background:#eaf0fc; }.site-nav__group[open] summary i { transform:rotate(180deg); }.site-nav__menu { position:absolute; top:calc(100% + 9px); left:0; z-index:20; min-width:220px; padding:8px!important; border:1px solid var(--line); border-radius:14px; background:#fffdf8; box-shadow:0 18px 38px rgba(24,36,59,.14); }.site-nav__menu a { display:flex; align-items:center; gap:10px; padding:10px; border-radius:8px; white-space:nowrap; }.site-nav__menu a:hover { color:var(--blue); background:#eaf0fc; }.site-nav__menu a i { width:14px; color:var(--coral); text-align:center; }.site-nav__menu-separator { margin-top:5px; padding-top:5px; border-top:1px solid var(--line); }.site-nav__cart { position:relative; }.site-nav__cart>i { color:var(--blue); }.site-nav .ipip-menu-cart-count { min-width:17px; height:17px; margin-left:0; line-height:17px; }.site-nav__login { border:1px solid var(--line); }.site-nav__login:hover { color:var(--blue); border-color:#b8c8e7; }.site-nav__signup { color:#fff!important; background:var(--coral); box-shadow:0 6px 14px rgba(232,110,75,.2); }.site-nav__signup:hover { color:#fff!important; background:#cc5738; }.legacy-admin-nav { display:flex; gap:12px; margin-left:auto; }.legacy-admin-nav a { color:#fff; font-weight:600; }

@media (min-width:1101px) { .tm-nav { display:none!important; }.site-nav { display:flex!important; }.tm-header-wrapper { width:min(1080px,calc(100% - 48px)); }.tm-main { max-width:1080px; } }

@media (max-width:1100px) { .tm-nav { display:none!important; }.tm-header.show .site-nav { display:flex!important; position:absolute; top:calc(100% + 8px); right:14px; left:14px; z-index:30; flex-direction:column; align-items:stretch; gap:0; padding:10px; border:1px solid var(--line); border-radius:16px; background:#fffdf8; box-shadow:0 18px 38px rgba(24,36,59,.16); }.tm-header.show .site-nav__links,.tm-header.show .site-nav__account { display:flex; flex-direction:column; align-items:stretch; gap:2px; }.tm-header.show .site-nav__account { margin:10px 0 0!important; padding:10px 0 0!important; border-top:1px solid var(--line); border-left:0; }.tm-header.show .site-nav__link,.tm-header.show .site-nav__cart,.tm-header.show .site-nav__login,.tm-header.show .site-nav__signup,.tm-header.show .site-nav__group summary { display:flex; justify-content:space-between; width:100%; min-height:42px; padding:11px 12px; font-size:.92rem; }.tm-header.show .site-nav__group { position:static; }.tm-header.show .site-nav__menu { position:static; min-width:0; margin:0; padding:2px 0 5px!important; border:0; border-radius:0; background:transparent; box-shadow:none; }.tm-header.show .site-nav__menu a { padding:10px 12px 10px 24px; white-space:normal; }.tm-header.show .site-nav__login { justify-content:center; }.tm-header.show .site-nav__signup { justify-content:center; }.site-nav { display:none; }.tm-header-wrapper { width:min(100% - 28px,1080px); } }

/* A single rail keeps the header, menus, and page content visually aligned. */
.container-fluid { padding-right:0; padding-left:0; }
.tm-header-wrapper,
.tm-main { width:calc(100% - 64px) !important; max-width:960px !important; }
#content { width:100% !important; max-width:960px !important; }

/* Guest account links are available, but should not distract from the assessments. */
.site-nav:not(.site-nav--admin) .site-nav__login,
.site-nav:not(.site-nav--admin) .site-nav__signup { color:var(--muted) !important; border:0; background:transparent; box-shadow:none; }
.site-nav:not(.site-nav--admin) .site-nav__login:hover,
.site-nav:not(.site-nav--admin) .site-nav__signup:hover { color:var(--blue) !important; background:#eaf0fc; }

@media (max-width:1100px) {
  .tm-main { padding:30px 0 20px !important; }
  .tm-header.show .site-nav { right:32px; left:32px; }
}

/* One deliberate reading rail for every public-facing section. */
:root { --site-rail: 900px; --site-gutter: 32px; }
#tm-header .tm-header-wrapper,
.container-fluid .tm-main,
.container-fluid .tm-main #content,
.container-fluid .tm-main footer.tm-row {
  box-sizing:border-box;
  width:calc(100vw - (var(--site-gutter) * 2)) !important;
  max-width:var(--site-rail) !important;
  margin-right:auto !important;
  margin-left:auto !important;
}
.container-fluid .tm-main #content { min-height:calc(100vh - 270px); }
.container-fluid .tm-main footer.tm-row { margin-top:72px !important; }

@media (max-width:520px) {
  :root { --site-gutter: 18px; }
  .tm-header.show .site-nav { right:18px; left:18px; }
}

/* Test-start details belong to the same visual unit as the fields they explain. */
#testForm .test-start-card { flex:0 1 660px; width:100%; max-width:660px!important; padding:32px!important; }
#testForm .test-start-intro { margin:0 0 24px; padding:13px 16px; border-left:3px solid var(--coral); border-radius:0 10px 10px 0; background:#fff7f2; color:var(--ink); font-size:.93rem; line-height:1.5; }
#testForm .form-group.row { display:block; margin-right:0; margin-bottom:16px; margin-left:0; }
#testForm .form-group.row > [class*="col-"] { width:auto; max-width:none; padding-right:0; padding-left:0; }
#testForm .form-group.row > .col-sm-2:empty { display:none; }
#testForm .form-group .col-form-label { display:block; padding-top:0; margin-bottom:6px; color:var(--ink); font-size:.88rem; font-weight:700; }
#testForm .form-text { margin-top:6px; color:var(--muted)!important; font-size:.8rem; }
#testForm .test-start-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
#testForm .test-start-field label { display:block; margin:0 0 6px; color:var(--ink); font-size:.88rem; font-weight:700; }
#testForm .test-start-field .form-control { width:100%; }
#testForm .test-start-field .error { margin-top:5px; font-size:.82rem; }
#testForm .custom-checkbox { padding-top:2px; }
#testForm .custom-checkbox label { color:var(--ink); font-size:.9rem; }
#testForm #buttons { margin-top:4px; padding-left:0; text-align:center!important; }
#test-question .form_settings.testrun .row.form-group { justify-content:center; }

@media (max-width:575px) {
  #testForm .test-start-card { padding:22px!important; }
  #testForm .test-start-pair { grid-template-columns:1fr; gap:14px; }
  #testForm #buttons { padding-left:0; }
}

/* Restore a readable list gutter after the legacy theme resets list padding. */
#content ul,
#content ol {
  padding-left:2.25rem;
}
#content li {
  padding-left:.2rem;
}

/* Preserve the cart-link geometry without showing an empty counter. */
.ipip-menu-cart-count.is-empty {
  visibility:hidden;
}

/* Checkboxes should not inherit the text-input focus border. */
input[type="checkbox"].form-control:focus {
  border-color:transparent;
  box-shadow:none;
  outline:0;
}

/* Give available profiles enough room to scan without turning the list into cards. */
.ipip-profiles-list {
  width:auto;
  max-width:100%;
  margin:26px 0;
  border-collapse:separate;
  border-spacing:0 8px;
  font-size:.9rem;
}
.ipip-profiles-list th {
  padding:0 13px 5px;
  color:var(--muted);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ipip-profiles-list td {
  padding:13px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.72);
  vertical-align:middle;
}
.ipip-profiles-list td:first-child {
  border-left:1px solid var(--line);
  border-radius:10px 0 0 10px;
  font-weight:700;
}
.ipip-profiles-list td:last-child {
  border-right:1px solid var(--line);
  border-radius:0 10px 10px 0;
}
.ipip-profile-name {
  display:block;
}
.ipip-profile-sample {
  display:inline-block;
  margin-top:2px;
  font-size:.78rem;
  font-weight:400;
}
.ipip-profile-status {
  margin-top:4px;
  color:var(--muted);
  font-size:.75rem;
  line-height:1.35;
  white-space:normal;
}
@media (max-width:575px) {
  .ipip-profiles-list { margin:20px 0; font-size:.82rem; }
  .ipip-profiles-list th,.ipip-profiles-list td { padding:10px 7px; }
  .ipip-profiles-list th { font-size:.6rem; }
}
