:root{--ink:#122b43;--muted:#4b6274;--accent:#007a64;--accent-dark:#00634f;--mint:#a8ead7;--paper:#f4f8fa;--line:#d9e5eb;--white:#fff;--dark:#10283e;--radius:18px;--wrap:1192px;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:white;font:16px/1.58 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #008d75;outline-offset:4px}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
p,ul,ol{margin:0}
h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.045em}
h1{font-size:clamp(3rem,6.55vw,6rem);font-weight:740}
h2{font-size:clamp(2rem,4.1vw,3.4rem);font-weight:720}
h3{font-size:1.32rem}
em{color:var(--accent);font-style:normal}
svg{display:block;flex:none}
.wrap{width:min(calc(100% - 88px),var(--wrap));margin-inline:auto}
.skip{position:fixed;top:10px;left:10px;transform:translateY(-180%);z-index:10;padding:10px 15px;border-radius:8px;background:white}
.skip:focus{transform:none}
.top{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:relative;z-index:2}
.navrow{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}
.wordmark{color:var(--ink);font-size:29px;font-weight:800;line-height:1;letter-spacing:-.074em;white-space:nowrap}
.wordmark span{color:var(--accent)}
nav{display:flex;align-items:center;gap:clamp(18px,3.1vw,40px);font-size:.9rem;font-weight:640}
nav>a:not(.button):hover,nav>a:not(.button)[aria-current]{color:var(--accent-dark);text-decoration:underline;text-underline-offset:7px}
.menu{display:none;background:white;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 17px;border:1px solid transparent;border-radius:9px;min-height:46px;white-space:nowrap;font-weight:700;font-size:.91rem;line-height:1.3;transition:background .16s,border-color .16s}
.button svg{width:17px;height:17px}
.button.primary{color:white;background:var(--accent-dark)}
.button.primary:hover{background:#034d40}
.button.secondary{color:var(--ink);border-color:#b9cdd6;background:white}
.button.secondary:hover{background:#edf6f6;border-color:#7ca6a5}
.button.bright{background:#abecd7;color:#102a34}
.button.bright:hover{background:#d4f9eb}
.button:disabled{opacity:.6;cursor:wait}
.hero{background:radial-gradient(ellipse at 86% 6%,#e3f3ef 0,transparent 43%),linear-gradient(130deg,#f8fafb,#f0f7fa);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:clamp(28px,5vw,76px);padding-block:clamp(60px,7.1vw,107px)}
.eyebrow{display:flex;align-items:center;gap:9px;font:680 .73rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.115em;color:var(--accent-dark);text-transform:uppercase}
.eyebrow span,.art-label span{width:7px;height:7px;background:#18ac8b;border-radius:2px;display:inline-block;flex:none}
.hero h1{margin-top:21px;line-height:1;letter-spacing:-.071em}
.lede{color:var(--muted);font-size:clamp(1.03rem,1.6vw,1.22rem);max-width:47ch;margin-top:24px}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 23px}
.hero-buttons .button{padding:13px 17px}
.hero-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;font-weight:600}
.hero-note svg{height:17px;width:17px;color:var(--accent)}
.hero-art{min-width:0;position:relative;background:#e6eef3;padding:11px;border:1px solid #ccdfe5;border-radius:18px;box-shadow:0 22px 46px -33px #12395763}
.hero-media{background:#dcebf0 url(sample-desk.jpg) center 51%/cover no-repeat;aspect-ratio:1.36;border-radius:10px}
.art-label,.art-caption{display:flex;align-items:center;font:680 .68rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.095em}
.art-label{position:absolute;top:22px;left:22px;gap:7px;background:#f9fdfd;color:#204256;padding:8px 10px;border-radius:6px;border:1px solid #ffffffbd}
.art-caption{justify-content:space-between;gap:8px;padding:12px 5px 3px;color:#375667}
.proof{border-bottom:1px solid var(--line);background:white}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.proof-grid>div{display:flex;gap:14px;align-items:center;padding:20px 22px;border-inline-start:1px solid var(--line)}
.proof-grid>div:first-child{border:0;padding-inline-start:0}
.proof-grid svg{color:var(--accent);width:24px;height:24px}
.proof strong,.proof small{display:block}
.proof strong{font-size:.9rem}
.proof small{color:var(--muted);font-size:.8rem}
.section{padding-block:76px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:27px}
.section-head h2,.process-home h2,.cta h2{margin-top:10px}
.section-head p:not(.eyebrow),.process-home p:not(.eyebrow){color:var(--muted);margin-top:12px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{display:flex;flex-direction:column;align-items:start;gap:10px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;min-height:199px;transition:background .16s,border-color .16s}
.service-card:hover{border-color:#77aaa6;background:#f3fbf8}
.card-top{display:flex;width:100%;justify-content:space-between;align-items:start;margin-bottom:4px}
.tile{display:inline-grid;place-items:center;color:var(--accent-dark);background:#def3ed;width:43px;height:43px;border-radius:10px;flex:none}
.serial,.step-kicker{font:660 .73rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em;color:#587487}
.service-card p{font-size:.92rem;color:var(--muted);max-width:37ch}
.card-link{margin-top:auto;display:flex;align-items:center;gap:6px;color:var(--accent-dark);font-size:.82rem;font-weight:730}
.card-link svg{width:15px;height:15px}
.process-home{background:var(--paper);border-block:1px solid var(--line);padding-block:60px}
.process-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(26px,8vw,100px)}
.process-home .button{margin-top:20px}
.steps{list-style:none;padding:0;counter-reset:sequence}
.steps li{counter-increment:sequence;display:grid;grid-template-columns:40px 1fr;gap:15px;padding:16px 0;border-bottom:1px solid #d5e4e8;align-items:start}
.steps li:first-child{padding-top:0}
.steps li:last-child{border-bottom:0}
.steps li::before{content:"0" counter(sequence);display:grid;place-items:center;background:#d9f0e9;color:#00654f;width:39px;height:39px;border-radius:50%;font:700 .78rem ui-monospace,SFMono-Regular,Consolas,monospace}
.steps h3{margin:2px 0 5px;letter-spacing:-.025em}
.steps p{color:var(--muted);margin:0!important}
.cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--dark);color:white;border-radius:var(--radius);margin-block:55px;padding:35px clamp(24px,4vw,48px)}
.cta p:not(.eyebrow){color:#c8dce5;margin-top:8px}
.cta .eyebrow{color:#adebd9}
.footer{background:#f4f8fa;border-top:1px solid var(--line);padding-top:34px}
.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;padding-bottom:27px}
.footgrid>div>a:not(:first-child),.footgrid>div>p{display:block;margin-top:7px;font-size:.86rem;color:var(--muted)}
.footgrid a:hover{text-decoration:underline;text-underline-offset:4px}
.footgrid .footer-label{color:var(--ink);font-weight:740}
.footnote{border-top:1px solid var(--line);padding-block:15px;display:flex;justify-content:space-between;gap:20px;font-size:.77rem;color:var(--muted)}
.mast{background:radial-gradient(ellipse at 90% 5%,#dcf1eb,transparent 55%),var(--paper);border-bottom:1px solid var(--line);padding:53px 0 56px}
.mast h1{font-size:clamp(2.65rem,5.4vw,5rem);margin-top:12px;letter-spacing:-.062em}
.mast .lede{max-width:66ch;margin-top:16px}
.page-section{padding-top:40px;padding-bottom:26px}
main>.page-section:last-child{padding-bottom:65px}
.service-index{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.service-index a{border:1px solid var(--line);padding:7px 12px;border-radius:999px;font-size:.83rem;font-weight:650;color:var(--accent-dark)}
.service-index a:hover{background:#e5f5ef}
.service-list{border-top:1px solid var(--line)}
.service-detail{display:grid;grid-template-columns:43px 1fr auto;align-items:start;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);scroll-margin-top:12px}
.service-detail:target{background:#f0faf6}
.service-detail h2,.small-h2{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.035em;margin:3px 0 6px}
.service-detail p,.prose p,.panel>p,.step-desc{color:var(--muted)}
.notice{display:flex;align-items:start;gap:10px;background:#edf7f6;color:#24584e;padding:14px;border-radius:10px;margin-top:22px;font-size:.9rem}
.notice svg{width:19px;height:19px;margin-top:2px}
.split,.quote-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:26px;align-items:start}
.panel{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(17px,3vw,30px);background:white;box-shadow:0 16px 38px -35px #08253b7d;min-width:0}
.panel h2{font-size:clamp(1.32rem,2.7vw,1.9rem);letter-spacing:-.04em}
.panel>.tile{margin-bottom:14px}
.panel>p:not(.step-kicker){margin-top:10px}
.panel .button{margin-top:12px}
.panel a:not(.button){color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.sticky{background:#f6fbfb;position:sticky;top:20px}
.ticks{padding:0;margin:14px 0 12px;list-style:none}
.ticks li{position:relative;padding:7px 0 7px 23px;color:var(--muted);font-size:.92rem}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--accent-dark);font-weight:750}
.steps.large li{padding-block:19px}
.prose{max-width:68ch}
.prose .small-h2:not(:first-child){margin-top:24px}
.progress{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;margin-bottom:13px}
.progress li{display:flex;align-items:center;gap:8px;border-radius:9px;border:1px solid var(--line);padding:9px;color:var(--muted);font-size:.85rem}
.progress li span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e8f0f2;font-size:.76rem;font-weight:700}
.progress li[aria-current]{background:#e6f6f0;border-color:#97cdbd;color:var(--accent-dark)}
.progress li[aria-current] span{background:var(--accent-dark);color:white}
.progress li[data-complete] span{background:#d1eee5;color:var(--accent-dark)}
.form-step h2{margin-top:5px}
.step-desc{font-size:.94rem;margin-top:8px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:18px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0;font-weight:650;font-size:.9rem}
.full{grid-column:1 / -1}
.field small{color:var(--muted);font-weight:400;font-size:.79rem}
.field :is(input,textarea,select){width:100%;min-width:0;max-width:100%;color:var(--ink);background:#fbfdfe;border:1px solid #b9cdd6;border-radius:8px;padding:9px 11px;min-height:44px;outline-offset:2px}
.field :is(input,textarea,select):focus-visible{outline:2px solid var(--accent)}
.field textarea{resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#5e7585;opacity:1}
.consent{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:.86rem}
.consent input{accent-color:var(--accent-dark);width:17px;height:17px;flex:none}
.panel .preview-note{margin-top:16px;font-size:.85rem;background:#edf7f4;color:#25594e;border-radius:7px;padding:9px 11px}
.form-status:empty{display:none}
.panel .form-status:not(:empty){margin-top:10px;color:#8a3325;font-size:.88rem}
.panel .form-status[data-success]{color:var(--accent-dark)}
.form-buttons{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:8px}
.quote-sidebar>a{display:inline-flex;align-items:center;gap:5px;font-size:.86rem;font-weight:700}
.quote-sidebar>a svg{width:15px;height:15px}
.review-details dl,.result dl{display:grid;grid-template-columns:minmax(84px,1fr) minmax(0,1.65fr);gap:7px 12px;margin:0;background:#f3f8f9;padding:13px;border-radius:8px;font-size:.86rem}
.review-details dt,.result dt{font-weight:720;color:var(--muted)}
.review-details dd,.result dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.result dl{margin-top:14px}
.result .ticks{margin-bottom:2px}
.result h2{margin-top:9px}
.result .form-buttons{justify-content:flex-start}
@media(max-width:900px){.wrap{width:min(calc(100% - 48px),var(--wrap))}.hero-grid{gap:26px}.hero-note{align-items:start}.proof-grid>div{padding-inline:13px;gap:9px}.proof small{line-height:1.35}.split,.quote-layout{gap:16px}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.navrow{min-height:64px}.menu{display:grid;place-items:center}nav{display:none;position:absolute;left:0;right:0;top:100%;padding:16px 18px;border-bottom:1px solid var(--line);background:white;align-items:stretch;gap:0;box-shadow:0 10px 20px -18px var(--ink)}nav.open{display:flex;flex-direction:column}nav>a:not(.button){padding:9px 2px}nav .button{align-self:start;margin-top:6px}.hero-grid,.process-grid,.split,.quote-layout{grid-template-columns:1fr}.hero-grid{padding-block:38px 25px}.hero h1{font-size:clamp(3.15rem,11.5vw,5rem);margin-top:12px}.lede{margin-top:15px}.hero-buttons{margin:21px 0 14px}.hero-media{aspect-ratio:1.5}.proof-grid{grid-template-columns:1fr;gap:0;padding:7px 0}.proof-grid>div,.proof-grid>div:first-child{border:0;padding:8px 0}.proof-grid>div+div{border-top:1px solid var(--line)}.proof small,.proof strong{display:inline}.proof small{margin-left:5px}.section,.process-home{padding-block:39px}.page-section{padding-top:24px;padding-bottom:18px}main>.page-section:last-child{padding-bottom:40px}.section-head{align-items:start;flex-direction:column;gap:12px;margin-bottom:15px}.card-grid{grid-template-columns:repeat(2,1fr);gap:9px}.service-card{padding:13px;min-height:168px}.service-card h3{font-size:1.12rem}.mast{padding:35px 0}.cta{margin-block:35px;flex-wrap:wrap}.footgrid{grid-template-columns:1fr 1fr}.footgrid>div:first-child{grid-column:1/-1}.footnote{display:block}.footnote span{display:block}.sticky{position:static}.service-detail{grid-template-columns:38px 1fr;gap:10px}.service-detail .button{grid-column:2;justify-self:start}.service-detail .tile{width:38px;height:38px}}
@media(max-width:390px){.fields{grid-template-columns:1fr}.proof small{display:block;margin-left:0}.art-caption{letter-spacing:0}.progress li{font-size:.76rem;padding:7px}.hero-buttons .button{padding-inline:11px}.service-card h3{font-size:1.03rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Toy testing home and service pages */
nav {
  gap: clamp(14px, 2.2vw, 30px);
  font-size: .86rem;
}
nav > a { white-space: nowrap; }
.hero-grid {
  grid-template-columns: minmax(0, 1.14fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 62px);
  padding-block: clamp(48px, 6vw, 85px);
}
.hero h1 {
  font-size: clamp(2.8rem, 5.45vw, 5.25rem);
  line-height: 1.035;
}
.hero-art { padding: 8px; }
.hero-media {
  background-image: url(toy-sample-desk.jpg);
  aspect-ratio: 1.18;
}
.hero-buttons { margin-bottom: 11px; }
.expert-link {
  flex-basis: 100%;
  min-height: 36px;
  font-size: .9rem;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.advantage-card { padding: 24px; }
.advantage-card .card-link { padding-top: 7px; }
.toy-section {
  background: var(--paper);
  border-block: 1px solid var(--line);
}
.standards-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.standard {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
}
.standard h3 { color: var(--accent-dark); margin-bottom: 7px; }
.standard strong { display: block; font-size: .85rem; }
.standard p, .context-note { margin-top: 5px; color: var(--muted); font-size: .88rem; }
.context-note { margin-top: 12px; }
.service-list > .standards-grid { padding-block: 16px; border-bottom: 1px solid var(--line); }
.marketplace-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  padding-bottom: 28px;
}
.marketplace-feature > div > p {
  margin-top: 12px;
  margin-bottom: 16px;
  color: var(--muted);
  max-width: 49ch;
}
.feature-panel { background: #f0f8f7; }
.compare-feature { margin: 18px 0 56px; }
.compare-feature h2, .process-home h2 { margin-top: 0; }
.compare-feature p { max-width: 55ch; }
.resource-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.resource-card .resource-source {
  font-size: .72rem;
  font-weight: 700;
  color: var(--accent-dark);
}
.resource-card h3 { font-size: 1.19rem; }
.field input[type=file] { padding: 7px; background: #f0f8f7; }
input[type=file]::file-selector-button {
  font: inherit;
  margin-right: 10px;
  padding: 5px 9px;
  border: 1px solid #b9cdd6;
  border-radius: 6px;
  background: white;
  color: var(--ink);
  cursor: pointer;
}
#compare, #marketplace-request { scroll-margin-top: 14px; }
[data-document-intake] > .form-buttons [data-download] { margin-right: auto; }
@media (min-width: 721px) and (max-width: 1060px) {
  .menu { display: grid; place-items: center; }
  nav {
    display: none;
    position: absolute;
    inset: 100% 0 auto;
    padding: 16px 24px;
    border-bottom: 1px solid var(--line);
    background: white;
  }
  nav.open { display: flex; flex-wrap: wrap; }
  .hero .button { padding-inline: 12px; }
}
@media (max-width: 720px) {
  .hero-grid { grid-template-columns: 1fr; padding-block: 36px 25px; }
  .hero h1 { font-size: clamp(2.65rem, 9.3vw, 4.2rem); }
  .hero-media { aspect-ratio: 1.62; }
  .advantage-card { padding: 15px; }
  #why .card-grid, .marketplace-feature { grid-template-columns: 1fr; }
  .marketplace-feature { gap: 17px; padding-bottom: 21px; }
  .compare-feature { margin-bottom: 35px; }
  .standards-grid, .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 2.47rem; }
  .resource-grid { grid-template-columns: 1fr; }
}

/* Toy categories and policy library */
.hero-note a {
  color: var(--accent-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.policy-grid { margin-top: 14px; }
.policy-heading { margin-top: 32px; }
.policy-meta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 9px;
  margin: 3px 0 7px;
  font-size: .81rem;
  color: var(--muted);
}
.policy-meta dt { font-weight: 700; }
.policy-meta dd { margin: 0; }
.other-testing {
  margin-top: 32px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.other-testing summary { font-weight: 700; cursor: pointer; }
.other-testing .service-list { margin-top: 12px; }
#market-guidance p, .guidance-list {
  margin-block: 8px;
  color: var(--muted);
  font-size: .89rem;
}
#market-guidance h3 {
  margin-top: 16px;
  font-size: 1.06rem;
  letter-spacing: -.02em;
}
.guidance-list { padding-inline-start: 19px; }
.guidance-list li { margin-bottom: 8px; }
body[data-page="marketplace-compliance"] .sticky { position: static; }
@media (max-width: 720px) {
  .hero-note { display: block; }
  .policy-grid { grid-template-columns: 1fr; }
}

/* Smart Compliance Advisor */
.hero h1 em { display: inline-block; font-size: .65em; letter-spacing: -.055em; }
.advisor-home-actions .primary-action { flex: 0 0 100%; }
.advisor-shell { max-width: 920px; padding-top: 26px; }
.advisor-progress { grid-template-columns: repeat(4, minmax(0,1fr)); }
.advisor-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-block: 17px;
}
.advisor-market {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--paper);
}
.advisor-market .text-button { grid-column: 1 / -1; justify-self: start; }
.advisor-extra { margin-top: 16px; }
.advisor-extra summary { cursor: pointer; color: var(--accent-dark); font-weight: 650; }
.text-button {
  color: var(--accent-dark);
  border: 0;
  padding: 0;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 650;
  font-size: .87rem;
}
.advisor-message {
  color: var(--accent-dark);
  font-size: .87rem;
  background: #edf7f4;
  padding: 10px 12px;
  border-radius: 8px;
}
.advisor-attachment { display: flex; flex-wrap: wrap; gap: 8px; }
.advisor-file {
  display: flex;
  align-items: center;
  gap: 7px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 5px 8px;
  font-size: .81rem;
  overflow-wrap: anywhere;
}
.advisor-file img { width: 32px; height: 32px; object-fit: cover; border-radius: 4px; }
#testing-plan {
  padding: clamp(16px,3vw,32px);
  border: 1px solid var(--line);
  border-radius: 14px;
}
#testing-plan h2 { font-size: clamp(1.7rem,3.5vw,2.65rem); margin-block: 8px 10px; }
#testing-plan p { margin-block: 5px; }
#testing-plan a, .advisor-result > p a { color: var(--accent-dark); text-decoration: underline; }
.plan-markets { color: var(--muted); }
.plan-section { margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--line); }
.plan-section h3 { margin-bottom: 7px; }
.plan-section h4 { margin: 12px 0 2px; font-size: .96rem; }
.plan-item { margin-top: 9px; padding: 8px 12px; background: var(--paper); border-radius: 7px; }
.plan-item h4 { margin-top: 0; }
.plan-source { font-size: .8rem; color: var(--muted); overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .advisor-progress { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .advisor-market { grid-template-columns: 1fr; }
}
@media print {
  @page { margin: 14mm; }
  body[data-page="advisor"] .top, body[data-page="advisor"] .footer,
  body[data-page="advisor"] .skip,
  .advisor-mast, .advisor-progress, .advisor-result-actions,
  .advisor-result > .context-note, #advisor-export-status { display: none !important; }
  .advisor-shell { max-width: none; width: 100%; padding: 0; }
  #testing-plan { padding: 0; border: 0; }
  .plan-item { break-inside: avoid; }
  .plan-section h3, .plan-section h4 { break-after: avoid; }
}

/* Laboratory, team and project evidence */
.trust-band {
  background: #edf7f5;
  border-block: 1px solid var(--line);
}
.trust-band h2 {
  margin-top: 8px;
  max-width: 26ch;
  font-size: clamp(2rem,4vw,3.1rem);
}
.trust-network-grid, .evidence-pair {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(14px,3.3vw,40px);
  align-items: start;
}
.trust-card-grid, .office-gallery {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-top: 16px;
}
.trust-subsection { margin-top: 30px; }
.trust-links {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  margin-block: 12px 2px;
}
.trust-links .button { margin: 0; white-space: normal; }
.evidence-card h3 { font-size: 1.23rem; letter-spacing: -.025em; }
.evidence-card > a { display: inline-flex; margin-top: 13px; }
.evidence-card .lab-credential { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 12px; }
.lab-credential h4 { font-size: .96rem; margin: 0 0 4px; }
.lab-credential > p { font-size: .9rem; color: var(--muted); }
.lab-credential .card-link { margin-top: 7px; }
.evidence-details {
  display: grid;
  grid-template-columns: minmax(90px,1fr) minmax(0,1.6fr);
  gap: 6px 12px;
  margin: 12px 0;
  font-size: .88rem;
}
.evidence-details dt { font-weight: 700; }
.evidence-details dd { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.evidence-empty {
  margin-top: 12px;
  padding: 13px 15px;
  border-left: 3px solid #8fcdbd;
  background: var(--paper);
  color: var(--muted);
}
.evidence-section > p { max-width: 72ch; color: var(--muted); }
.evidence-photo {
  margin: 0;
  border: 1px solid var(--line);
  background: white;
  border-radius: 12px;
  overflow: hidden;
}
.evidence-photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.evidence-photo figcaption { padding: 9px 12px; font-size: .86rem; color: var(--muted); }
.office-illustration { margin-top: 12px; }
.office-illustration img { aspect-ratio: 3 / 2; }
.partner-logo { display: block; width: auto; max-width: 100%; height: 42px; object-fit: contain; margin-bottom: 12px; }
.team-portrait { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; margin-bottom: 12px; }
.team-role { color: var(--accent-dark); font-weight: 700; }
.evidence-home { padding-bottom: 22px; }
.trust-cta h2 { margin-top: 0; }
@media (max-width: 720px) {
  .trust-network-grid, .evidence-pair { grid-template-columns: 1fr; }
  .trust-card-grid, .office-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-band h2 br { display: none; }
}
@media (max-width: 450px) {
  .trust-card-grid, .office-gallery { grid-template-columns: 1fr; }
}

/* Homepage project forms */
body[data-page="index"] .hero-grid {
  padding-block: clamp(34px, 4.4vw, 64px);
}
body[data-page="index"] .hero h1 {
  font-size: clamp(2.65rem, 5.05vw, 4.55rem);
}
body[data-page="index"] .hero-media { aspect-ratio: 1.33; }
.home-intake {
  position: relative;
  background: #f3f8f8;
  border-bottom: 1px solid var(--line);
}
.home-intake > .wrap { padding-block: clamp(32px, 4.6vw, 62px); }
.intake-anchor {
  position: absolute;
  top: 0;
  scroll-margin-top: 12px;
}
.intake-heading h2 { font-size: clamp(1.85rem, 3.6vw, 2.75rem); }
.intake-heading p { margin-top: 6px; color: var(--muted); }
.intake-switcher {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
  padding: 5px;
  margin-block: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
}
.intake-switcher a {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 6px 9px;
  font-size: .87rem;
  font-weight: 700;
  line-height: 1.3;
}
.intake-switcher a svg { width: 17px; height: 17px; }
.intake-switcher a:hover { background: var(--paper); }
.intake-switcher a[aria-current] {
  background: #e3f4ee;
  border-color: #a2d2c2;
  color: var(--accent-dark);
}
.home-intake-panel .advisor-shell { max-width: none; padding: 0; }
.intake-form-layout .sticky, .intake-help { position: static; background: #fbfdfd; }
.supporting-advantages { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 12px; }
.supporting-advantages .advantage-card { min-height: 0; padding: 16px; }
.supporting-advantages h3 { font-size: 1.11rem; }
.supporting-advantages p { font-size: .88rem; }
.home-team-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: start;
  gap: 18px;
}
.home-team-layout .office-illustration, .home-team-layout .trust-card-grid { margin-top: 0; }
.home-team-layout .trust-card-grid { grid-template-columns: 1fr; gap: 9px; }
.home-team-layout .service-card {
  min-height: 0;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 5px 12px;
  padding: 15px;
}
.home-team-layout .service-card .tile { grid-row: span 2; }
.landing-cta-actions { display: flex; flex-wrap: wrap; gap: 9px; flex: 0 0 auto; }
body[data-page="index"] .cta .button { white-space: normal; }
@media (max-width: 850px) {
  .supporting-advantages { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-cta-actions { flex: 0 1 auto; }
}
@media (max-width: 720px) {
  body[data-page="index"] .hero-grid { padding-block: 30px 19px; gap: 17px; }
  body[data-page="index"] .hero h1 { font-size: clamp(2.35rem, 9.5vw, 4rem); }
  body[data-page="index"] .hero-media { aspect-ratio: 2.14; }
  body[data-page="index"] main .button { white-space: normal; max-width: 100%; }
  .intake-form-layout { grid-template-columns: minmax(0,1fr); }
  .intake-form-layout > * { min-width: 0; }
  .intake-switcher { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .intake-switcher a { justify-content: flex-start; min-height: 42px; font-size: .83rem; }
  .intake-switcher a:first-child { grid-column: 1 / -1; }
  .home-team-layout { grid-template-columns: 1fr; }
  #why .supporting-advantages { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 375px) {
  #why .supporting-advantages { grid-template-columns: 1fr; }
}
@media print {
  body[data-page="index"]:has(#intake-advisor:not([hidden]) #advisor-result:not([hidden])) > :not(main),
  body[data-page="index"]:has(#intake-advisor:not([hidden]) #advisor-result:not([hidden])) main > :not(.home-intake),
  body[data-page="index"]:has(#intake-advisor:not([hidden]) #advisor-result:not([hidden])) .home-intake > .wrap > :not(#intake-advisor),
  body[data-page="index"]:has(#intake-advisor:not([hidden]) #advisor-result:not([hidden])) .intake-help {
    display: none !important;
  }
  body[data-page="index"]:has(#intake-advisor:not([hidden]) #advisor-result:not([hidden])) .home-intake {
    background: white;
    border: 0;
  }
  body[data-page="index"]:has(#intake-advisor:not([hidden]) #advisor-result:not([hidden])) .home-intake > .wrap {
    width: 100%;
    max-width: none;
    padding: 0;
  }
  body[data-page="index"]:has(#intake-advisor:not([hidden]) #advisor-result:not([hidden])) .intake-form-layout {
    display: block;
  }
}

/* Company photos */
.company-photo-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) repeat(2, minmax(0, 1fr));
  gap: 13px;
  margin-block: 12px 18px;
}
.company-photo-grid .company-photo {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.company-photo-grid img {
  height: clamp(180px, 23vw, 294px);
  aspect-ratio: auto;
}
.company-photo--team img { object-position: center 60%; }
.company-photo--office img { object-position: center 52%; }
.company-photo--briefing img { object-position: center 38%; }
.company-photo figcaption { color: var(--ink); }
body[data-page="how-it-works"] .company-photo {
  margin-block: 12px 20px;
}
body[data-page="how-it-works"] .company-photo img {
  height: auto;
  aspect-ratio: 16 / 9;
}
@media (max-width: 720px) {
  .company-photo-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
  .company-photo--team { grid-column: 1 / -1; }
  .company-photo-grid img { height: auto; aspect-ratio: 1 / 1; }
  .company-photo-grid .company-photo--team img { aspect-ratio: 4 / 3; }
  .company-photo figcaption { padding: 8px 9px; }
}

/* Laboratory logo showcase */
.lab-logo-showcase {
  margin-top: clamp(25px, 3.5vw, 43px);
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.lab-logo-showcase-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}
.lab-logo-showcase-heading h3 { font-size: clamp(1.25rem, 2.35vw, 1.75rem); }
.lab-logo-showcase-heading p {
  max-width: 66ch;
  margin-top: 5px;
  color: var(--muted);
  font-size: .87rem;
}
.lab-logo-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.lab-logo-tile {
  display: flex;
  min-width: 0;
  min-height: 111px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 11px 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  text-align: center;
  font-size: .8rem;
  font-weight: 650;
}
.lab-logo-tile img {
  display: block;
  width: min(100%, 160px);
  height: 58px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.lab-logo-showcase--compact .lab-logo-tile { min-height: 98px; }
.lab-logo-showcase--compact .lab-logo-tile img { height: 49px; }
@media (max-width: 860px) {
  .lab-logo-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 500px) {
  .lab-logo-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .lab-logo-showcase-heading { flex-direction: column; align-items: flex-start; gap: 9px; }
  .lab-logo-showcase-heading .button { white-space: normal; }
  .lab-logo-tile { min-height: 95px; padding: 8px; }
  .lab-logo-tile img { height: 51px; }
}
