/* Solutions editorial layout. Interface colors come from the shared theme. */
.solutionsBody{background:var(--pt-paper)}
.solutionsBody>.wrap{max-width:1440px;padding:0 36px}
.solutionPage{margin:28px auto 0;width:100%;color:var(--pt-ink)}
.solutionPage :is(section,nav){scroll-margin-top:88px}
.solutionPage h1{font-size:clamp(38px,4.6vw,64px);font-weight:650;line-height:1.06;letter-spacing:-.045em;max-width:14ch;margin:24px 0 36px}
.solutionPage h2{font-size:clamp(28px,2.8vw,40px);line-height:1.14;font-weight:650;letter-spacing:-.035em;margin:0 0 28px;max-width:25ch}
.solutionPage h3{font-size:18px;line-height:1.4;margin:0 0 8px;font-weight:650}
.solutionPage p{line-height:1.7}
.solutionPage figure{margin:0;min-width:0}
.solutionPage img{display:block;width:100%;height:auto}
.solutionPage figcaption{padding:13px 0 0;font-size:14px;line-height:1.5;color:var(--pt-muted)}
.solutionPage figcaption a{color:inherit;text-underline-offset:3px;margin-left:6px}
.solutionPage .solutionEyebrow{font-size:12px;line-height:1.3;text-transform:uppercase;letter-spacing:.13em;font-weight:650;margin:0 0 18px;color:var(--pt-accent)}
.solutionHero{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--pt-action-hover);color:var(--pt-on-accent);overflow:hidden}
.solutionHeroCopy{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;justify-content:center}
.solutionHero .solutionEyebrow{color:inherit}
.solutionHeroImage{align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:var(--pt-canvas)}
.solutionHeroImage img{object-fit:contain}
.solutionHeroImage figcaption{padding:14px 20px;background:var(--pt-panel);color:var(--pt-ink)}
.solutionActions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:20px 26px}
.solutionStart{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 20px;background:var(--pt-accent);color:var(--pt-on-accent);border:1px solid transparent;border-radius:var(--pt-radius-control);text-decoration:none;font-weight:650;font-size:15px;line-height:1.4;min-height:48px}
.solutionStart:hover{background:var(--pt-accent-hover)}
.solutionHero .solutionStart,.solutionClose .solutionStart{background:var(--pt-on-accent);color:var(--abyss)}
.solutionHero .solutionStart:hover,.solutionClose .solutionStart:hover{background:var(--shallow)}
.solutionWatch{display:inline-flex;align-items:center;gap:16px;min-height:48px;color:inherit;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.solutionHeroCopy .solutionActions{flex-direction:column;gap:8px}
.solutionJumps{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 28px;border-bottom:1px solid var(--pt-border);padding:12px 0}
.solutionJumps a{display:flex;align-items:center;gap:24px;color:var(--pt-ink);text-decoration:none;font-size:14px;font-weight:600;padding:12px 0}
.solutionJumps a span{color:var(--pt-accent)}
.solutionJumps a:hover{text-decoration:underline;text-underline-offset:5px}
.solutionWorkflow{padding:76px 0;display:grid;grid-template-columns:1.2fr 1fr;column-gap:56px;row-gap:26px;align-items:start}
.solutionWorkflowHeading{grid-column:1/-1}
.solutionWorkflowHeading h2{max-width:26ch;margin-bottom:6px}
.solutionVideo{grid-column:1;grid-row:2/4;align-self:start;box-shadow:var(--pt-shadow-small)}
.solutionVideo video{display:block;width:100%;height:auto;background:var(--pt-canvas)}
.solutionVideo figcaption{display:flex;justify-content:space-between;gap:20px;padding:14px 18px;background:var(--pt-surface)}
.solutionVideo figcaption span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.solutionSequence{margin:0;padding:0;list-style:none;display:grid;gap:24px}
.solutionSequence li{display:grid;grid-template-columns:26px 1fr;gap:14px}
.solutionStepNumber{font:500 14px/1.9 var(--pt-mono);color:var(--pt-accent)}
.solutionSequence p{margin:0;font-size:15px;line-height:1.65}
.solutionTextLink{display:inline-flex;gap:18px;align-items:center;color:var(--pt-link);font-weight:650;font-size:15px;text-underline-offset:5px;line-height:1.6}
.solutionWorkflowLink{grid-column:2;margin-left:40px}
.solutionStory{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,4.5vw,70px);align-items:center;padding:70px 0;border-top:1px solid var(--pt-border)}
.solutionStoryCopy{min-width:0}
.solutionStoryCopy>p:not(.solutionEyebrow){font-size:16px;margin-bottom:20px}
.solutionStoryImage>a{display:block}
.solutionStoryImage img{border-radius:8px;box-shadow:var(--pt-shadow)}
.solutionStory:nth-of-type(even):not(.solutionFeature) .solutionStoryImage{grid-column:1;grid-row:1}
.solutionStory:nth-of-type(even):not(.solutionFeature) .solutionStoryCopy{grid-column:2}
.solutionStory:nth-of-type(even):not(.solutionFeature){grid-template-columns:1.2fr 1fr}
.solutionFacts{margin:26px 0;display:grid;gap:12px}
.solutionFacts>div{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;padding-top:12px;border-top:1px solid var(--pt-border);font-size:14px;line-height:1.55}
.solutionFacts dt{font-weight:650}.solutionFacts dd{margin:0;color:var(--pt-muted)}
.solutionFeature{background:var(--abyss);color:var(--pt-on-accent);padding:52px;margin:12px 0 24px;border:0}
.solutionFeature h2{color:inherit}
.solutionFeature :is(p,figcaption,.solutionTextLink,.solutionEyebrow,.solutionFacts dd){color:var(--pt-on-accent)}
.solutionFeature .solutionFacts>div{border-color:rgba(255,255,255,.24)}
.solutionFeature .solutionEyebrow{color:var(--shallow)}
.solutionFeature img{box-shadow:none}
.solutionComparison{grid-template-columns:1fr;gap:28px}
.solutionComparison .solutionStoryCopy{display:grid;grid-template-columns:1fr 1fr;gap:0 52px;align-items:start}
.solutionComparison .solutionEyebrow{grid-column:1/-1}
.solutionComparison h2{grid-column:1;grid-row:2/4;font-size:clamp(40px,5vw,64px)}
.solutionComparison .solutionStoryCopy>p:not(.solutionEyebrow){grid-column:2}
.solutionComparison .solutionTextLink{grid-column:1;grid-row:4;align-self:start}
.solutionImagePair{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.solutionImagePair a{display:block}
.solutionImagePair img{aspect-ratio:1.7;object-fit:contain;background:var(--pt-canvas)}
.solutionImageLabel{display:block;font-size:14px;font-weight:650;padding-bottom:12px}
.solutionTools{padding:60px 0 48px;border-top:1px solid var(--pt-border)}
.solutionTools h2{max-width:none}
.solutionTools ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.solutionTools li{border-top:1px solid var(--pt-border)}
.solutionTools a{display:grid;grid-template-columns:1fr 24px;gap:5px 16px;padding:22px 0;text-decoration:none;color:var(--pt-ink)}
.solutionTools a:hover strong{text-decoration:underline;text-underline-offset:4px}
.solutionTools strong{font-size:18px;font-weight:650}
.solutionTools a>span:not(.solutionToolArrow){grid-column:1;color:var(--pt-muted);font-size:14px}
.solutionToolArrow{grid-column:2;grid-row:1/3;align-self:center;color:var(--pt-accent);font-size:24px}
.solutionQuestions{padding:30px 0 66px;display:grid;grid-template-columns:1fr 1.6fr;gap:50px}
.solutionQuestions h2{font-size:28px}
.solutionQuestions details{border-top:1px solid var(--pt-border)}
.solutionQuestions details:last-child{border-bottom:1px solid var(--pt-border)}
.solutionQuestions summary{padding:20px 8px 20px 0;font-size:16px;font-weight:600;cursor:pointer}
.solutionQuestions p{margin:0 20px 22px 0;font-size:15px}
.solutionClose{background:var(--pt-action-hover);color:var(--pt-on-accent);padding:46px 52px;display:flex;gap:28px 50px;align-items:center;justify-content:space-between}
.solutionClose h2{margin:0;max-width:19ch}
.solutionClose .solutionActions{flex-direction:column;gap:8px;flex-shrink:0}
.solutionRelated{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 46px;font-size:14px}
.solutionRelated>span{color:var(--pt-muted)}
.solutionRelated a{color:var(--pt-link);text-underline-offset:4px}
.solutionHero :focus-visible,.solutionFeature :focus-visible,.solutionClose :focus-visible{outline-color:#fff}
@media(min-width:1600px){.solutionHero h1{font-size:64px}}
@media(max-width:1050px){.solutionsBody>.wrap{padding:0 26px}.solutionHero{grid-template-columns:.9fr 1.1fr}.solutionHeroCopy{padding:30px}.solutionPage h1{font-size:44px}.solutionWorkflow{column-gap:32px}.solutionStory{gap:36px}.solutionFeature{padding:36px}.solutionFacts>div{grid-template-columns:1fr}.solutionQuestions{gap:28px}.solutionJumps{gap:0 20px}}
@media(max-width:760px){.solutionsBody>.wrap{padding:0 18px}.solutionPage{margin-top:18px}.solutionHero{grid-template-columns:1fr}.solutionHeroCopy{padding:30px}.solutionPage h1{font-size:clamp(38px,9vw,54px);max-width:18ch;margin:12px 0 24px}.solutionHeroCopy .solutionActions{flex-direction:row;gap:4px 24px}.solutionHeroImage figcaption{padding:12px 16px}.solutionJumps{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.solutionJumps a{font-size:13px;gap:8px;justify-content:space-between}.solutionWorkflow{padding:44px 0;grid-template-columns:1fr;gap:24px}.solutionWorkflowHeading,.solutionVideo,.solutionWorkflowLink{grid-column:1;grid-row:auto}.solutionWorkflowHeading h2{margin-bottom:0}.solutionWorkflowLink{margin-left:40px}.solutionStory,.solutionStory:nth-of-type(even):not(.solutionFeature){grid-template-columns:1fr;gap:28px;padding:44px 0}.solutionStory:nth-of-type(even):not(.solutionFeature) .solutionStoryImage,.solutionStory:nth-of-type(even):not(.solutionFeature) .solutionStoryCopy{grid-column:auto;grid-row:auto}.solutionFeature{padding:30px 24px!important;margin:0 -2px 20px}.solutionStoryImage{max-width:100%}.solutionComparison .solutionStoryCopy{display:block}.solutionComparison h2{font-size:44px}.solutionImagePair{grid-template-columns:1fr;gap:24px}.solutionFacts>div{grid-template-columns:1fr 1.4fr}.solutionTools{padding:38px 0}.solutionTools ul{gap:0 24px}.solutionTools a>span:not(.solutionToolArrow){font-size:13px}.solutionQuestions{padding:18px 0 40px;grid-template-columns:1fr;gap:0}.solutionClose{padding:30px 26px;flex-direction:column;align-items:flex-start}.solutionClose .solutionActions{flex-direction:row;gap:6px 24px}.solutionRelated{flex-wrap:wrap;gap:16px}.solutionRelated>span{width:100%}}
@media(max-width:400px){.solutionTools ul{grid-template-columns:1fr}.solutionHeroCopy{padding:26px}.solutionFeature{padding:28px 20px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 2026-09-29 refresh. The hero, the featured story and the closing call to action
   are full-width navy bands like the homepage's, with the content width inside:
   the shadow paints the band out to the screen edges and clip-path stops it
   spilling above or below. */
.solutionHero,.solutionFeature,.solutionClose{background:#0e1c27;color:#ecf6fb;box-shadow:0 0 0 100vmax #0e1c27;clip-path:inset(0 -100vmax)}
.solutionHero{padding-block:48px;gap:0 56px;overflow:visible}
.solutionHeroCopy{padding:0}
.solutionHero h1,.solutionFeature h2,.solutionClose h2{color:#fff}
.solutionHeroImage{background:none}
.solutionHeroImage img{border-radius:8px}
.solutionFeature{padding:72px 0;margin:40px 0}
.solutionFeature :is(p,.solutionFacts dd){color:#a7c0cf}
.solutionFeature .solutionTextLink{color:#ecf6fb}
.solutionFeature .solutionFacts>div{border-color:rgba(143,211,255,.14)}
.solutionFeature figcaption,.solutionFeature figcaption a{color:#a7c0cf}
.solutionClose{padding:56px 0}
.solutionComparison h2{grid-row:1/4}

/* Stories that include one of the homepage's live pieces instead of an image. */
.solutionWidgetStory .solutionStoryImage{align-self:center}
.solutionWidgetStory .home-lidar-map{border-color:rgba(143,211,255,.14)}
.solutionWidgetStory .home-lidar-stats{position:static;display:flex;flex-wrap:wrap;gap:10px 28px;border:0;border-top:1px solid #c8d7e3;border-radius:0}
.solutionWidgetStory .lidar-land path{stroke-width:2.3}
.solutionWidgetStory .lidar-land .ix path{stroke-width:3.9}
.solutionWidgetStory .lidar-bed path{stroke-width:4}
.solutionWidgetStory .home-lidar-svg .lidar-rim{stroke-width:6}
.solutionPage .care-compact{grid-template-columns:minmax(0,1fr);grid-template-areas:"tabs" "calc";gap:18px}
.solutionPage .care-compact .care-tabs{gap:16px}
.solutionPage .care-compact .care-tabs button{padding:14px 0 4px}
.solutionPage .care-compact .care-tabs b{font-size:16px}
.solutionPage .care-compact .care-tabs span{display:none}

/* They fade up and animate as they arrive (solutions.js adds .is-in). */
.im-js .solutionPage [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.im-js .solutionPage [data-reveal].is-in{opacity:1;transform:none}
@media(max-width:1050px){.solutionHeroCopy{padding:0}.solutionFeature{padding:56px 0}}
@media(max-width:760px){
 .solutionHero{padding-block:32px;gap:24px}
 .solutionHeroCopy{padding:0}
 .solutionFeature{padding:44px 0!important;margin:0 0 20px}
 .solutionClose{padding:40px 0}
 .solutionWidgetStory .lidar-land path{stroke-width:4.2}
 .solutionWidgetStory .lidar-land .ix path{stroke-width:7.3}
 .solutionWidgetStory .lidar-bed path{stroke-width:7.5}
 .solutionWidgetStory .home-lidar-svg .lidar-rim{stroke-width:11}
}
@media(max-width:400px){.solutionHeroCopy{padding:0}.solutionFeature{padding:40px 0!important}}
@media(prefers-reduced-motion:reduce){
 .solutionPage *,.solutionPage *::before,.solutionPage *::after{animation:none!important;transition:none!important}
 .im-js .solutionPage [data-reveal]{opacity:1;transform:none}
}

/* Trademark note on a page that names another company's products. */
.solutionTrademark{max-width:72ch;margin:28px auto 8px;padding:0 16px;font-size:12px;line-height:1.55;color:var(--pt-muted);text-align:center}
