.homepage :where(*){all:revert;box-sizing:border-box}.homepage{--ink:#192a36;--muted:#52616b;--paper:#fff;--soft:#f0f3f5;--blue:#dce8ef;--accent:#b74b31;--line:#cbd3d8}.homepage *{box-sizing:border-box}.homepage{scroll-behavior:smooth;background:var(--paper);color:var(--ink);margin:0;scroll-padding-top:100px;font:18px/1.6 Arial,Helvetica,sans-serif}.homepage a{color:inherit;text-decoration:none}.homepage button{font:inherit;cursor:pointer}.homepage h1,.homepage h2,.homepage h3,.homepage p{margin:0}.homepage h1,.homepage h2,.homepage h3{letter-spacing:-.052em;font-weight:400;line-height:1.04}.homepage h1{font-size:clamp(56px,5.6vw,84px)}.homepage h2{font-size:clamp(40px,4.4vw,66px)}.homepage h3{font-size:30px}.homepage p{color:var(--muted)}.homepage a:focus-visible,.homepage button:focus-visible,.homepage summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.homepage .shell{max-width:1440px;margin:auto;padding:0 64px}.homepage .skip{z-index:50;background:#fff;padding:12px;position:fixed;top:-80px}.homepage .skip:focus{top:0}.homepage .brand{letter-spacing:-1px;font-size:23px;font-weight:700}.homepage .brand span{color:var(--accent)}.homepage header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #e8edf0;position:sticky;top:0}.homepage .nav{justify-content:space-between;align-items:center;gap:24px;height:88px;display:flex}.homepage nav{align-items:center;gap:32px;font-size:14px;display:flex}.homepage nav a:hover{text-underline-offset:6px;text-decoration:underline}.homepage .contact-link{border-bottom:1px solid;padding:8px 0}.homepage .menu{display:none}.homepage .hero{padding:82px 0 68px}.homepage .hero-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:75px;display:grid}.homepage .kicker{color:var(--muted);margin-bottom:27px;font-size:14px}.homepage .hero h1{max-width:760px}.homepage .hero h1 em{color:var(--accent);font-style:normal}.homepage .lead{max-width:590px;margin-top:30px;font-size:19px;line-height:1.6}.homepage .actions{flex-wrap:wrap;align-items:center;gap:27px;margin-top:32px;display:flex}.homepage .button{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:2px;justify-content:center;align-items:center;gap:26px;min-height:52px;padding:16px 22px;font-size:15px;display:inline-flex}.homepage .button:hover{background:#314855}.homepage .textlink{border-bottom:1px solid;align-items:center;gap:24px;padding:8px 0;font-size:15px;display:inline-flex}.homepage .hero-note{margin-top:27px;font-size:13px}.homepage .motif{background:var(--blue);flex-direction:column;min-height:515px;padding:38px 36px;display:flex;position:relative;overflow:hidden}.homepage .motif-caption{color:var(--ink);max-width:210px;font-size:13px}.homepage .motif-words{letter-spacing:-.06em;z-index:1;margin-top:65px;font-size:clamp(45px,4.5vw,68px);font-weight:400;line-height:1.08}.homepage .motif-words .indent{margin-left:36px;display:block}.homepage .motif-words .end{color:var(--accent);margin-top:18px;display:block}.homepage .motif-footer{color:var(--ink);max-width:230px;margin-top:auto;padding-top:50px;font-size:13px}.homepage .motif-arrow{color:#8ba4b4;font-size:65px;font-weight:300;line-height:1;position:absolute;bottom:30px;right:27px}.homepage .foundation{border-top:1px solid var(--line);padding:25px 0;font-size:14px}.homepage .foundation .shell{justify-content:space-between;gap:25px;display:flex}.homepage .foundation p{font-size:14px}.homepage .section{padding:110px 0}.homepage .intro-grid{grid-template-columns:1.1fr .9fr;align-items:end;gap:100px;display:grid}.homepage .intro-grid p{max-width:500px;font-size:18px}.homepage .applications{background:var(--ink);color:#fff}.homepage .applications .kicker{color:#b7c8d3}.homepage .applications p{color:#becbd4}.homepage .applications .intro-grid{margin-bottom:58px}.homepage .cases{grid-template-columns:.85fr 1.15fr;gap:80px;display:grid}.homepage .case-caption{max-width:300px;font-size:16px}.homepage .case-caption p,.homepage .case-caption .textlink{margin-top:22px}.homepage .case-list details{border-top:1px solid #56636d}.homepage .case-list details:last-child{border-bottom:1px solid #56636d}.homepage summary{cursor:pointer;list-style:none}.homepage summary::-webkit-details-marker{display:none}.homepage .case-list summary{letter-spacing:-.035em;justify-content:space-between;align-items:center;gap:24px;padding:23px 0;font-size:27px;display:flex}.homepage .case-list summary:after,.homepage .faq summary:after{content:"+";font-weight:300}.homepage .case-list details[open] summary:after,.homepage .faq details[open] summary:after{content:"−"}.homepage .case-list details[open] summary{color:#e2b29d}.homepage .case-list details p{max-width:540px;padding:0 35px 24px 0;font-size:16px}.homepage .feature{grid-template-columns:1fr 1fr;align-items:center;gap:95px;display:grid}.homepage .feature-copy h2{max-width:610px}.homepage .feature-copy>p{max-width:530px;margin-top:28px}.homepage .feature-copy .kicker{margin-top:0}.homepage .example{background:#edf1f4;padding:45px}.homepage .example-head{color:var(--muted);justify-content:space-between;gap:20px;margin-bottom:36px;font-size:13px;display:flex}.homepage .example blockquote{letter-spacing:-.02em;margin:0 0 36px;font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.35}.homepage .example-answer{border-top:1px solid #b3c2cb;padding-top:28px}.homepage .example-answer h3{letter-spacing:-.03em;margin-bottom:13px;font-size:22px}.homepage .example-answer p{font-size:16px}.homepage .example-bottom{color:var(--muted);justify-content:space-between;gap:20px;margin-top:36px;font-size:13px;display:flex}.homepage .plain-note{color:var(--muted);margin-top:14px;font-size:12px}.homepage .workflowline{flex-wrap:wrap;align-items:center;gap:18px;margin-top:52px;font-size:14px;display:flex}.homepage .workflowline span:nth-child(2n){color:var(--accent)}.homepage .services{background:var(--soft)}.homepage .services-top{max-width:800px;margin-bottom:60px}.homepage .service-row{border-top:1px solid #bac6ce;grid-template-columns:1fr 1.2fr .65fr;align-items:start;gap:45px;padding:30px 0;display:grid}.homepage .service-row h3{font-size:28px}.homepage .service-row p{font-size:16px}.homepage .service-row small{color:var(--muted);margin-top:8px;font-size:13px;display:block}.homepage .service-row strong{font-size:18px;font-weight:400}.homepage .systems{grid-template-columns:.85fr 1.15fr;gap:100px;display:grid}.homepage .systems p{max-width:460px;margin-top:24px}.homepage .system-prose{letter-spacing:-.045em;color:#84959f;font-size:clamp(30px,3.4vw,48px);line-height:1.4}.homepage .system-prose strong{color:var(--ink);font-weight:400}.homepage .system-prose small{letter-spacing:0;color:var(--muted);max-width:560px;margin-top:28px;font-size:15px;line-height:1.6;display:block}.homepage .principles{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:60px;margin-top:72px;padding-top:32px;display:grid}.homepage .principles h3{font-size:23px}.homepage .principles p{margin-top:16px;font-size:15px}.homepage .about{background:#dce8ef}.homepage .about-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:105px;display:grid}.homepage .portrait{margin:0}.homepage .portrait img{aspect-ratio:1;object-fit:cover;filter:grayscale();width:100%;max-width:480px;display:block}.homepage figcaption{margin-top:20px;font-size:14px}.homepage .about-copy p{max-width:570px;margin-top:25px}.homepage .about-copy .kicker{margin:0 0 26px}.homepage .about-copy h2{max-width:660px}.homepage .about-copy .textlink{margin-top:30px}.homepage .faq-grid{grid-template-columns:.8fr 1.2fr;gap:110px;display:grid}.homepage .faq details{border-bottom:1px solid var(--line)}.homepage .faq summary{justify-content:space-between;gap:25px;padding:22px 0;font-size:17px;display:flex}.homepage .faq details p{padding:0 25px 25px 0;font-size:16px}.homepage .contact{background:var(--ink);color:#fff;padding:95px 0}.homepage .contact .kicker{color:#c2d1da}.homepage .contact h2{max-width:990px;font-size:clamp(44px,5.2vw,76px)}.homepage .contact-bottom{justify-content:space-between;align-items:end;gap:60px;margin-top:42px;display:flex}.homepage .contact-bottom p{color:#c2d1da;max-width:560px}.homepage .contact .button{color:var(--ink);background:#e4edf2;border-color:#e4edf2}.homepage .contact .button:hover{background:#fff}.homepage .contact-actions{flex-shrink:0}.homepage .phone{text-align:center;margin-top:18px;font-size:15px;display:block}.homepage footer{padding:50px 0 25px}.homepage .footer-top{justify-content:space-between;gap:45px;display:flex}.homepage .footer-copy p{margin-top:14px;font-size:14px}.homepage .footer-links{gap:55px;font-size:14px;display:flex}.homepage .footer-links div{flex-direction:column;gap:9px;display:flex}.homepage .footer-links b{margin-bottom:5px;font-weight:500}.homepage .footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;margin-top:45px;padding-top:25px;font-size:12px;display:flex}@media (min-width:1500px){.homepage .hero{padding:100px 0 85px}}@media (max-width:1100px){.homepage .shell{padding:0 35px}.homepage .hero-grid{grid-template-columns:1.15fr .85fr;gap:40px}.homepage nav{gap:22px}.homepage .motif{min-height:480px;padding:30px}.homepage .hero h1{font-size:64px}.homepage .feature,.homepage .about-grid,.homepage .intro-grid,.homepage .systems,.homepage .faq-grid{gap:55px}.homepage .cases{gap:45px}.homepage .service-row{gap:25px}.homepage .motif-words{font-size:53px}.homepage .contact-bottom{align-items:start}.homepage .contact-actions{flex-shrink:1}}@media (max-width:760px){.homepage{scroll-padding-top:85px}.homepage .shell{padding:0 23px}.homepage .nav{height:74px}.homepage .brand{font-size:21px}.homepage .menu{color:var(--ink);background:0 0;border:0;padding:12px 0 12px 16px;font-size:14px;display:block}.homepage nav{background:#fff;padding:15px 23px 25px;display:none;position:absolute;top:74px;left:0;right:0;box-shadow:0 15px 20px #192a3610}.homepage nav.open{flex-direction:column;align-items:stretch;gap:0;display:flex}.homepage nav a{min-height:48px;padding:14px 0}.homepage .hero{padding:43px 0 35px}.homepage .hero-grid{grid-template-columns:1fr;gap:38px}.homepage .hero h1{max-width:570px;font-size:53px}.homepage .kicker{margin-bottom:23px;font-size:13px}.homepage .lead{margin-top:26px;font-size:17px}.homepage .actions{gap:22px;margin-top:25px}.homepage .button{gap:20px;font-size:14px}.homepage .motif{min-height:340px;padding:28px}.homepage .motif-words{margin-top:28px;font-size:53px}.homepage .motif-words .indent{margin-left:0;display:inline}.homepage .motif-words .end{margin-top:0}.homepage .motif-footer{max-width:220px;padding-top:26px}.homepage .motif-arrow{font-size:50px}.homepage .foundation .shell{flex-direction:column;gap:6px}.homepage .section{padding:67px 0}.homepage h2{font-size:41px}.homepage .intro-grid,.homepage .cases,.homepage .feature,.homepage .systems,.homepage .about-grid,.homepage .faq-grid{grid-template-columns:1fr;gap:32px}.homepage .applications .intro-grid{margin-bottom:35px}.homepage .case-caption{max-width:none}.homepage .case-caption p{margin-top:0}.homepage .case-caption .textlink{margin-top:12px}.homepage .case-list summary{padding:20px 0;font-size:23px}.homepage .feature-copy{order:-1}.homepage .example{padding:28px}.homepage .example blockquote{font-size:26px}.homepage .example-head{margin-bottom:28px}.homepage .workflowline{gap:12px;margin-top:28px;font-size:12px}.homepage .service-row{grid-template-columns:1fr;gap:18px;padding:27px 0}.homepage .service-row h3{font-size:27px}.homepage .service-row>div:last-child{padding-top:2px}.homepage .services-top{margin-bottom:35px}.homepage .systems{gap:36px}.homepage .system-prose{font-size:35px}.homepage .principles{grid-template-columns:1fr;gap:28px;margin-top:42px;padding-top:28px}.homepage .principles p{margin-top:10px}.homepage .about-copy{order:-1}.homepage .portrait img{max-width:100%}.homepage .about-grid{gap:37px}.homepage .faq-grid{gap:30px}.homepage .contact{padding:65px 0}.homepage .contact h2{font-size:43px}.homepage .contact-bottom{flex-direction:column;gap:28px;margin-top:28px}.homepage .contact-actions,.homepage .contact .button{width:100%}.homepage .phone{text-align:left}.homepage .footer-top{flex-direction:column;gap:35px}.homepage .footer-links{flex-wrap:wrap;gap:40px}.homepage .footer-bottom{flex-direction:column;gap:8px;margin-top:35px}}@media (max-width:380px){.homepage .hero h1{font-size:45px}.homepage h2{font-size:36px}.homepage .motif-words{font-size:46px}.homepage .system-prose{font-size:31px}.homepage .contact h2{font-size:38px}.homepage .example{padding:23px}.homepage .example blockquote{font-size:24px}}@media (prefers-reduced-motion:reduce){.homepage{scroll-behavior:auto}}.homepage{display:block}
