/* Complete landing page. The existing hero, photographs and demo keep their own styles. */
.lp-context,.lp-intelligence,.lp-process,.lp-faq,.lp-contact{padding-block:clamp(76px,7.6vw,112px)}
.lp-context h2,.lp-intelligence h2,.lp-section-heading h2,.lp-faq h2,.lp-contact h2{font-size:clamp(38px,3.6vw,52px);line-height:1.09;letter-spacing:-.035em;font-weight:500}
.lp-context{background:var(--white)}
.lp-context-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;align-items:start}
.lp-context-intro>p{font-size:18px;line-height:1.6;color:var(--muted);max-width:430px;margin-top:26px}
.lp-frictions{padding-top:4px}
.lp-frictions article{display:grid;grid-template-columns:25px 1fr;gap:18px;padding:26px 0;border-top:1px solid var(--line)}
.lp-frictions article:first-child{padding-top:0;border-top:0}
.lp-frictions article:last-child{padding-bottom:0}
.lp-friction-number{font-size:12px;font-variant-numeric:tabular-nums;color:var(--green-dark);padding-top:5px}
.lp-frictions h3{font-size:22px;line-height:1.25;letter-spacing:-.018em;font-weight:500}
.lp-frictions p{font-size:16px;line-height:1.6;color:var(--muted);max-width:47ch;margin-top:10px}
.lp-intelligence{background:var(--white)}
.lp-intelligence-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:86px}
.lp-eyebrow{font-size:14px;font-weight:500;color:var(--green-dark);line-height:1.4;margin-bottom:20px}
.lp-section-lead{font-size:18px;line-height:1.6;color:var(--muted);margin-top:24px;max-width:45ch}
.lp-ai-uses{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}
.lp-ai-uses h3{font-size:17px;font-weight:550;line-height:1.4;letter-spacing:-.01em}
.lp-ai-uses p{font-size:15px;line-height:1.6;color:var(--muted);margin-top:9px}
.lp-technical{border-top:1px solid var(--line);margin-top:30px;padding-top:18px}
.lp-technical summary{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;line-height:1.5;font-weight:500;cursor:pointer;list-style:none;color:var(--green-dark);min-height:28px}
.lp-technical summary::-webkit-details-marker{display:none}
.lp-technical summary .icon{width:15px;height:15px;transition:transform .2s}
.lp-technical[open] summary .icon{transform:rotate(180deg)}
.lp-technical>p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:15px}
.lp-technical summary:focus-visible,.lp-faq summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}
.lp-data-flow{margin:0;padding:36px 34px 28px;background:var(--green-wash);text-align:center}
.lp-data-flow>figcaption{font-size:18px;letter-spacing:-.015em;font-weight:500;margin-bottom:36px}
.lp-flow-sources{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:420px;margin-inline:auto}
.lp-flow-sources span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.lp-flow-sources .icon{color:var(--green-dark);width:20px;height:20px}
.lp-flow-connector{display:flex;justify-content:center;padding:28px 0;color:var(--green-muted)}
.lp-flow-connector .icon{width:21px;height:21px}
.lp-flow-context{display:flex;align-items:center;justify-content:center;gap:18px;padding-block:28px;border-block:1px solid var(--green-soft);text-align:left}
.lp-flow-context img{width:27px;height:34px;object-fit:contain}
.lp-flow-context strong{display:block;font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--green-dark)}
.lp-flow-context span{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}
.lp-flow-response>p{font-size:13px;color:var(--muted);margin-bottom:10px}
.lp-flow-response>strong{font-size:24px;line-height:1.25;letter-spacing:-.025em;font-weight:500}
.lp-flow-response>span{display:flex;justify-content:center;align-items:center;gap:7px;font-size:11px;color:var(--green-dark);margin-top:20px}
.lp-flow-response .icon{width:13px;height:13px}
.lp-data-flow .lp-flow-caption{font-size:10px;line-height:1.5;color:var(--muted);max-width:310px;margin:30px auto 0}
.lp-process{background:var(--wash)}
.lp-section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;align-items:end}
.lp-section-heading>p{font-size:18px;line-height:1.6;max-width:42ch;color:var(--muted);padding-bottom:4px}
.lp-process-steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.lp-process-steps li{border-top:1px solid var(--border);padding-top:22px;display:flex;flex-direction:column}
.lp-step-number{font-size:13px;font-variant-numeric:tabular-nums;color:var(--green-dark);margin-bottom:24px}
.lp-process-steps h3{font-size:21px;line-height:1.25;letter-spacing:-.018em;font-weight:500;min-height:53px;max-width:220px}
.lp-process-steps p{font-size:15px;line-height:1.65;color:var(--muted);margin-top:14px}
.lp-process-steps .lp-step-output{padding-top:30px;margin-top:auto;color:var(--ink);font-size:14px;font-weight:500}
.lp-step-output span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-bottom:3px}
.lp-process-close{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:28px;margin-top:48px}
.lp-process-close>p{font-size:16px;color:var(--muted)}
.lp-text-link{display:inline-flex;gap:16px;align-items:center;font-size:15px;font-weight:500;line-height:1.4;color:var(--green-dark);min-height:40px}
.lp-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.lp-text-link .icon{width:18px;height:18px}
.lp-faq{background:var(--paper)}
.lp-faq-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:100px}
.lp-faq-intro>p{font-size:18px;line-height:1.6;color:var(--muted);max-width:27ch;margin-top:22px}
.lp-faq-list{border-top:1px solid var(--line)}
.lp-faq-list details{border-bottom:1px solid var(--line)}
.lp-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:84px;padding-block:22px;font-size:18px;line-height:1.4;letter-spacing:-.01em;font-weight:500;cursor:pointer;list-style:none}
.lp-faq-list summary::-webkit-details-marker{display:none}
.lp-faq-list summary>span{position:relative;width:16px;height:16px;flex:none;color:var(--green-dark)}
.lp-faq-list summary>span::before,.lp-faq-list summary>span::after{content:"";position:absolute;background:currentColor}
.lp-faq-list summary>span::before{width:14px;height:1px;left:1px;top:7px}
.lp-faq-list summary>span::after{width:1px;height:14px;top:1px;left:7px}
.lp-faq-list details[open] summary>span::after{display:none}
.lp-faq-list details>p{font-size:16px;line-height:1.7;color:var(--muted);padding:0 35px 25px 0;max-width:66ch}
.lp-contact{background:var(--green-wash)}
.lp-contact-layout{display:grid;grid-template-columns:1.3fr .85fr;gap:100px;align-items:center}
.lp-contact h2{font-size:clamp(44px,4.1vw,60px)}
.lp-contact-copy>p:not(.lp-eyebrow):not(.lp-contact-channel){font-size:18px;line-height:1.6;color:var(--muted);max-width:440px;margin-top:26px}
.lp-contact-copy .button{margin-top:30px}
.lp-contact-copy .lp-contact-channel{font-size:12px;color:var(--muted);margin-top:13px}
.lp-contact-guide{border-left:1px solid var(--line);padding:8px 0 8px 52px}
.lp-contact-guide h3{font-size:20px;line-height:1.4;letter-spacing:-.015em;font-weight:500}
.lp-contact-guide ul{padding:0;list-style:none;margin:22px 0 34px}
.lp-contact-guide li{font-size:16px;line-height:1.5;color:var(--muted);padding-left:19px;position:relative;margin:12px 0}
.lp-contact-guide li::before{content:"";position:absolute;left:0;top:10px;width:4px;height:4px;background:var(--green);border-radius:50%}
.lp-contact-details{border-top:1px solid var(--line);padding-top:6px}
.lp-contact-details a{display:block;position:relative;padding:17px 26px 10px 0;font-size:17px;line-height:1.5}
.lp-contact-details a:hover{color:var(--green-dark)}
.lp-contact-details a>span{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-bottom:3px}
.lp-contact-details .icon{position:absolute;right:0;bottom:16px;width:17px;height:17px;color:var(--green-dark)}
.lp-footer{background:var(--white);padding-block:42px 24px}
.lp-footer-main{display:flex;align-items:center;gap:38px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.lp-footer-main img{width:94px;height:auto}
.lp-footer-main>p{font-size:13px;color:var(--muted)}
.lp-back-top{display:inline-flex;align-items:center;gap:14px;margin-left:auto;font-size:12px}
.lp-back-top .icon{width:16px;height:16px}
.lp-footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:22px;font-size:11px;color:var(--muted)}
.lp-footer-bottom nav{display:flex;gap:24px}
.lp-footer a:hover{color:var(--green-dark)}
@media(max-width:1200px){
  .lp-context-layout{gap:65px}
  .lp-intelligence-layout{gap:48px}
  .lp-ai-uses{gap:22px}
  .lp-data-flow{padding-inline:25px}
  .lp-flow-sources{gap:10px}
  .lp-flow-sources span{gap:6px;font-size:11px}
  .lp-section-heading{gap:60px}
  .lp-process-steps{gap:24px}
  .lp-process-steps h3{font-size:20px}
  .lp-faq-layout{gap:60px}
  .lp-contact-layout{gap:60px;grid-template-columns:1.2fr 1fr}
  .lp-contact-guide{padding-left:32px}
}
@media(max-width:1000px){
  .site-nav{gap:22px;font-size:12px}
  .header-inner{gap:24px}
  .lp-context-layout{gap:42px}
  .lp-context h2,.lp-intelligence h2,.lp-section-heading h2,.lp-faq h2{font-size:40px}
  .lp-frictions h3{font-size:20px}
  .lp-intelligence-layout{grid-template-columns:1fr;gap:42px}
  .lp-intelligence-copy{max-width:620px}
  .lp-intelligence h2 br{display:none}
  .lp-section-lead{max-width:60ch}
  .lp-ai-uses{gap:40px;max-width:580px}
  .lp-technical{max-width:610px}
  .lp-data-flow{padding:34px 50px;max-width:620px;width:100%;justify-self:center}
  .lp-section-heading{grid-template-columns:1fr;gap:24px}
  .lp-section-heading>p{max-width:56ch}
  .lp-process-steps{grid-template-columns:1fr 1fr;gap:42px;margin-top:42px}
  .lp-process-steps h3{min-height:0;max-width:none}
  .lp-process-steps .lp-step-output{padding-top:24px}
  .lp-faq-layout{grid-template-columns:.8fr 1.4fr;gap:38px}
  .lp-faq-list summary{font-size:17px;gap:24px}
  .lp-faq-list details>p{font-size:15px;padding-right:20px}
  .lp-contact-layout{gap:38px}
  .lp-contact-guide{padding-left:26px}
  .lp-contact-details a{font-size:15px}
}
@media(max-width:800px){
  .lp-context,.lp-intelligence,.lp-process,.lp-faq,.lp-contact{padding-block:72px}
  .lp-context-layout{grid-template-columns:1fr;gap:40px}
  .lp-context-intro h2 br{display:none}
  .lp-context-intro{max-width:610px}
  .lp-context-intro>p{max-width:55ch;margin-top:24px}
  .lp-frictions article{gap:18px;padding-block:24px}
  .lp-frictions p{max-width:60ch}
  .lp-intelligence-layout{gap:40px}
  .lp-faq-layout{grid-template-columns:1fr;gap:36px}
  .lp-faq h2 br{display:none}
  .lp-faq-intro>p{max-width:50ch;margin-top:20px}
  .lp-faq-list summary{font-size:18px;min-height:78px}
  .lp-faq-list details>p{font-size:16px}
  .lp-contact-layout{grid-template-columns:1fr;gap:42px}
  .lp-contact-copy>p:not(.lp-eyebrow):not(.lp-contact-channel){max-width:550px}
  .lp-contact-guide{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}
  .lp-contact-guide ul{margin-bottom:28px}
  .lp-contact-details{display:grid;grid-template-columns:1fr 1fr;gap:36px}
  .lp-footer-main{gap:24px;flex-wrap:wrap}
  .lp-footer-main>p{max-width:240px;line-height:1.5}
}
@media(max-width:540px){
  .lp-context,.lp-intelligence,.lp-process,.lp-faq,.lp-contact{padding-block:60px}
  .lp-context h2,.lp-intelligence h2,.lp-section-heading h2,.lp-faq h2{font-size:34px;line-height:1.12;letter-spacing:-.03em}
  .lp-context-layout{gap:34px}
  .lp-context-intro>p,.lp-section-lead,.lp-section-heading>p,.lp-faq-intro>p{font-size:17px;line-height:1.6}
  .lp-frictions article{grid-template-columns:20px 1fr;gap:12px}
  .lp-frictions h3{font-size:20px;line-height:1.3}
  .lp-frictions p{font-size:15px;margin-top:9px}
  .lp-eyebrow{font-size:13px;margin-bottom:17px}
  .lp-ai-uses{grid-template-columns:1fr;gap:22px;margin-top:28px}
  .lp-ai-uses h3{font-size:18px}
  .lp-ai-uses p{font-size:16px;margin-top:7px}
  .lp-technical{margin-top:25px;padding-top:17px}
  .lp-technical summary{font-size:13px;min-height:42px;gap:18px}
  .lp-data-flow{padding:29px 19px 24px}
  .lp-data-flow>figcaption{font-size:18px;margin-bottom:28px}
  .lp-flow-sources{gap:10px}
  .lp-flow-sources span{flex-direction:column;gap:9px;font-size:11px}
  .lp-flow-connector{padding-block:23px}
  .lp-flow-context{gap:14px;padding-block:23px}
  .lp-flow-context strong{font-size:18px}
  .lp-flow-context span{font-size:11px}
  .lp-flow-context img{width:24px;height:30px}
  .lp-flow-response>strong{font-size:22px}
  .lp-flow-response>span{font-size:10px;gap:6px}
  .lp-data-flow .lp-flow-caption{font-size:10px;margin-top:24px}
  .lp-section-heading{gap:22px}
  .lp-process-steps{grid-template-columns:1fr;gap:26px;margin-top:34px}
  .lp-process-steps li{display:grid;grid-template-columns:30px 1fr;column-gap:14px;padding-top:23px}
  .lp-step-number{grid-row:1/4;margin:3px 0 0}
  .lp-process-steps h3{font-size:21px}
  .lp-process-steps p{font-size:16px;margin-top:12px}
  .lp-process-steps .lp-step-output{grid-column:2;font-size:14px;padding-top:18px;margin:0}
  .lp-step-output span{font-size:11px}
  .lp-process-close{flex-direction:column;align-items:flex-start;gap:13px;margin-top:35px;padding-top:24px}
  .lp-process-close>p{font-size:16px;line-height:1.5}
  .lp-faq-layout{gap:28px}
  .lp-faq-list summary{font-size:17px;min-height:78px;padding-block:20px;gap:18px}
  .lp-faq-list details>p{font-size:15px;line-height:1.7;padding:0 0 23px}
  .lp-contact h2{font-size:44px;line-height:1.08}
  .lp-contact-copy>p:not(.lp-eyebrow):not(.lp-contact-channel){font-size:17px;margin-top:22px}
  .lp-contact-copy .button{margin-top:26px}
  .lp-contact-copy .lp-contact-channel{font-size:11px}
  .lp-contact-guide h3{font-size:19px}
  .lp-contact-details{grid-template-columns:1fr;gap:0}
  .lp-contact-details a{font-size:17px}
  .lp-contact-guide ul{margin-top:18px;margin-bottom:25px}
  .lp-footer{padding-block:32px 22px}
  .lp-footer-main{gap:20px;padding-bottom:26px;align-items:flex-start}
  .lp-footer-main img{width:82px}
  .lp-footer-main>p{order:3;max-width:none;width:100%;font-size:12px}
  .lp-back-top{font-size:11px;gap:8px}
  .lp-footer-bottom{font-size:10px;gap:16px;padding-top:20px}
  .lp-footer-bottom nav{gap:18px}
}
