/* Focus: an original, product-led Kyora presentation. */
body.focus{--paper:#fafaf8;--soft:#f0f1ef;--ink:#1d2224;--body:#5a6266;--muted:#777f82;--line:#d9deda;--accent:#176487;--pad:clamp(24px,5vw,76px);--sans:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif;margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.focus *,body.focus *:before,body.focus *:after{box-sizing:border-box}
html:has(body.focus){scroll-padding-top:90px;scroll-behavior:auto}
.focus :is(h1,h2,h3,p,figure){margin:0}
.focus a{color:inherit}
.focus button{font:inherit}
.focus img{display:block;max-width:100%}
.focus ::selection{background:#c7e5f0;color:#1d2224}
.focus :is(a,button):focus-visible{outline:3px solid #176487;outline-offset:6px}
.focus .wrap{width:min(100%,1360px);margin-inline:auto;padding-inline:var(--pad)}
.focus .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.focus .skip-link{position:fixed;top:-100px;left:20px;padding:13px 19px;background:#1d2224;color:#fff;z-index:100}
.focus .skip-link:focus{top:14px}

.focus-nav{position:sticky;top:0;z-index:40;height:72px;border-bottom:1px solid #dfe3de;background:#fafaf8ed;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.focus-nav-inner{height:100%;width:min(100%,1360px);margin-inline:auto;padding-inline:var(--pad);display:flex;align-items:center;justify-content:space-between;gap:32px}
.focus .wordmark{font-size:31px;font-weight:650;letter-spacing:-2.3px;line-height:1;text-decoration:none;color:var(--ink);white-space:nowrap}
.focus .wordmark span{color:var(--accent)}
.focus .main-nav{display:flex;align-items:center;gap:32px}
.focus .main-nav a{font-size:12px;line-height:1.35;text-decoration:none;color:#454e52;padding-block:12px}
.focus .main-nav a:hover{color:var(--accent)}
.focus .main-nav .nav-contact{padding:9px 16px;border:1px solid #c4ccca;border-radius:100px}
.focus .menu-toggle{display:none;background:transparent;border:1px solid #b7c1bf;border-radius:100px;min-height:44px;padding:8px 17px;color:var(--ink);font-size:12px}

.focus-hero{overflow:hidden;text-align:center;padding-top:clamp(76px,8.2vw,126px);background:var(--paper)}
.focus .eyebrow,.focus .section-kicker{font-size:28px;line-height:1.4;font-weight:600;letter-spacing:.015em;color:var(--accent);text-transform:none}
.focus .hero-title{font-size:clamp(64px,7.1vw,108px);font-weight:650;letter-spacing:-.065em;line-height:1.025;max-width:1100px;margin:22px auto 0;text-wrap:balance;padding-inline:var(--pad)}
.focus .hero-deck{max-width:700px;font-size:clamp(20px,2vw,26px);line-height:1.4;font-weight:450;letter-spacing:-.025em;color:var(--body);margin:28px auto 0;padding-inline:24px;text-wrap:balance}
.focus .hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:26px;margin-top:32px}
.focus .button,.focus .contact-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border:1px solid var(--accent);border-radius:100px;padding:12px 24px;background:var(--accent);color:#fff;font-size:14px;line-height:1.45;font-weight:500;text-decoration:none;transition:background .2s,transform .2s}
.focus .button:hover,.focus .contact-button:hover{background:#1d7298;transform:translateY(-2px)}
.focus .text-link{font-size:14px;color:var(--accent);text-decoration:none;text-underline-offset:5px}
.focus .text-link:after{content:' ›';font-size:20px;line-height:0;vertical-align:-1px}
.focus .text-link:hover{text-decoration:underline}
.focus .hero-art{position:relative;isolation:isolate;margin:70px auto 0;width:min(calc(100% - 2 * var(--pad)),1390px);overflow:hidden;border-radius:30px;background:#c3c5c6;aspect-ratio:2.18;box-shadow:0 28px 48px -34px #1b292b55}
.focus .hero-art img{width:100%;height:100%;object-fit:contain;object-position:center}
.focus .hero-art figcaption{position:absolute;z-index:3;bottom:19px;left:24px;font-size:10px;letter-spacing:.025em;color:#42474a;line-height:1.5}

.story-intro{padding-block:clamp(112px,11.5vw,178px) clamp(95px,9vw,142px);text-align:center}
.focus .story-title{max-width:990px;font-size:clamp(44px,5.25vw,80px);font-weight:650;letter-spacing:-.055em;line-height:1.055;margin:22px auto 0;text-wrap:balance}
.focus .story-deck{max-width:790px;font-size:clamp(20px,2.05vw,27px);font-weight:450;letter-spacing:-.02em;line-height:1.5;color:var(--body);margin:30px auto 0;text-wrap:pretty}

.chapter{overflow:hidden;padding-block:100px;background:var(--soft)}
.chapter+.chapter{border-top:1px solid #dde1dc}
.chapter-inner{width:min(100%,1360px);margin-inline:auto;padding-inline:var(--pad);display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(42px,7vw,108px);align-items:center}
.chapter:nth-of-type(even){background:#f7f8f5}
.chapter:nth-of-type(even) .chapter-inner{grid-template-columns:1.08fr .92fr}
.chapter:nth-of-type(even) .chapter-visual{order:-1}
.focus .chapter-label{font-size:28px;line-height:1.5;font-weight:600;color:var(--accent);margin-bottom:20px}
.focus .chapter-number{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.08em;display:block;margin-bottom:18px}
.chapter-title{font-size:clamp(42px,4.65vw,69px);font-weight:650;letter-spacing:-.055em;line-height:1.065;max-width:580px;text-wrap:balance}
.focus .chapter-copy{font-size:clamp(18px,1.6vw,22px);font-weight:450;line-height:1.6;letter-spacing:-.012em;color:var(--body);max-width:540px;margin-top:26px}
.focus .chapter-copy p+p{margin-top:20px}
.focus .chapter-visual{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:450px;aspect-ratio:1.1;isolation:isolate}
.focus .chapter-visual figcaption{position:absolute;bottom:7px;left:0;right:0;text-align:center;color:#6b767b;font-size:11px;line-height:1.5}
.focus .chapter-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:22px;background:#c3c5c6}

/* Original abstract forms connect the chapters without stock laboratory photography. */
.design-schematic{position:relative;width:88%;aspect-ratio:1;isolation:isolate;display:grid;place-items:center;perspective:900px}
.design-schematic:before{content:'';position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle at 44% 38%,#fff 0,#e1e7e7 25%,#a6bec6 55%,#587e8b 75%,#163d50 100%);box-shadow:0 32px 38px -24px #345d6c66;transform:scale(.57)}
.design-schematic:after{content:'';position:absolute;bottom:4%;left:21%;right:21%;height:7%;border-radius:50%;background:#708f9b22;filter:blur(15px)}
.design-schematic .orbit{position:absolute;inset:9%;border:1px solid #7f9ca4;border-radius:50%;transform:rotate(-22deg) rotateY(59deg);box-shadow:0 0 0 .4px #fff8 inset}
.design-schematic .orbit:nth-child(2){transform:rotate(34deg) rotateY(59deg);border-color:#567f8e}
.design-schematic .orbit:nth-child(3){transform:rotate(91deg) rotateY(59deg);border-color:#adc0c6}
.design-schematic .orbit:nth-child(4){inset:18%;transform:rotate(144deg) rotateY(48deg);border-color:#aec5cd}
.design-schematic .point{position:absolute;width:11px;height:11px;background:#527f91;border:3px solid #edf2f1;border-radius:50%;box-shadow:0 0 0 1px #b8c9ce;left:16%;top:35%}
.design-schematic .point:nth-last-child(2){left:auto;right:19%;top:22%;width:14px;height:14px;background:#173d51}
.design-schematic .point:last-child{top:auto;bottom:15%;left:54%;background:#9bb4bd}

.chapter-experiment{position:relative;width:95%;aspect-ratio:1.1;display:flex;align-items:center;justify-content:center;gap:5%;padding:12% 8% 15%;perspective:1000px}
.chapter-experiment:before{content:'';position:absolute;inset:12% 0 7%;border-radius:50%;background:radial-gradient(ellipse,#dae5e8 0,#e8eded80 45%,transparent 70%);z-index:-1}
.chapter-experiment:after{content:'';position:absolute;left:9%;right:9%;bottom:11%;height:1px;background:linear-gradient(90deg,transparent,#9babaf 25%,#9babaf 75%,transparent)}
.chapter-experiment .sample{position:relative;width:22%;height:57%;border-radius:100px;background:linear-gradient(104deg,#e0e9eb 0%,#fff 18%,#f2f6f6 35%,#9cb3ba 73%,#527583 100%);box-shadow:inset 1px 1px 2px #fff,10px 26px 24px -21px #3a555d80;transform:rotate(-11deg);border:1px solid #bacacf}
.chapter-experiment .sample:nth-child(2){height:75%;transform:translateY(-4%) rotate(1deg);background:linear-gradient(100deg,#b1ccd2,#e5f1f1 25%,#f6faf8 37%,#7fa8b5 78%,#3b697d)}
.chapter-experiment .sample:nth-child(3){height:62%;transform:rotate(13deg);background:linear-gradient(100deg,#b7bcb5,#fbfcf6 24%,#e4e5da 42%,#a8aca1 78%,#6f817c)}
.chapter-experiment .sample:after{content:'';position:absolute;inset:10% 17%;border:1px solid #ffffff8a;border-radius:inherit}

.chapter-process{position:relative;width:100%;aspect-ratio:1.15;display:flex;justify-content:center;align-items:center;gap:3.5%;padding:13% 2%}
.chapter-process:before{content:'';position:absolute;left:8%;right:8%;height:1px;background:#a9bbc1;top:53%;z-index:-1}
.chapter-process:after{content:'';position:absolute;left:13%;right:13%;bottom:17%;height:9%;border-radius:50%;background:#5073851c;filter:blur(19px);z-index:-1}
.process-station{position:relative;display:block;width:26%;height:39%;border-radius:9px;background:linear-gradient(120deg,#f8faf8 2%,#ced9d9 37%,#6c929e 100%);box-shadow:10px 12px 0 -2px #b7c8cc,inset 1px 1px 0 #fff,14px 21px 22px -12px #56747f50;transform:skewY(-10deg)}
.process-station:before{content:'';position:absolute;inset:14% 18%;border:1px solid #dce6e6;border-radius:4px;background:linear-gradient(120deg,#f7f9f780,#6a94a326)}
.process-station:nth-child(2){height:53%;background:linear-gradient(120deg,#eef5f4,#a7c6ce 40%,#477e91);box-shadow:10px 12px 0 -2px #8eafb9,inset 1px 1px 0 #fff,14px 21px 22px -12px #56747f50;transform:translateY(-8%) skewY(-10deg)}
.process-station:nth-child(3){height:65%;background:linear-gradient(120deg,#f3f5ef,#c1c9ba 40%,#7f9386);box-shadow:10px 12px 0 -2px #a6b5a5,inset 1px 1px 0 #fff,14px 21px 22px -12px #56747f50;transform:translateY(-8%) skewY(-10deg)}

.learning{position:relative;overflow:hidden;background:#19292f;color:#f6f7f4;padding-block:clamp(104px,10vw,152px)}
.learning-inner{width:min(100%,1200px);margin-inline:auto;padding-inline:var(--pad);text-align:center}
.learning .section-kicker{color:#8fb9cc}
.focus .learning-title{font-size:clamp(45px,5.35vw,79px);font-weight:650;letter-spacing:-.055em;line-height:1.06;max-width:940px;margin:22px auto 0;text-wrap:balance}
.focus .learning-copy{font-size:clamp(19px,2vw,25px);line-height:1.5;letter-spacing:-.02em;color:#b6c7ce;max-width:760px;margin:29px auto 0;text-wrap:pretty}
.learning-loop{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;text-align:left;margin-top:85px;padding-top:38px;border-top:1px solid #54717e}
.learning-loop:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;background:#b7d4df;border-radius:50%;box-shadow:0 0 0 7px #33525f}
.learning-loop:after{content:'↗';position:absolute;top:-17px;right:0;font-size:22px;line-height:1;color:#b7d4df;background:#19292f;padding-left:12px}
.learning-loop .loop-node{min-width:0}
.learning-loop .loop-index{font-size:12px;color:#8eacb9;display:block;margin-bottom:18px;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.learning-loop .loop-title{font-size:22px;line-height:1.2;letter-spacing:-.03em;font-weight:550;color:#edf2f2}
.learning-loop .loop-copy{font-size:14px;line-height:1.55;color:#a2b8c2;margin-top:13px;max-width:215px}

.company{background:var(--paper);padding-block:clamp(105px,10vw,150px)}
.company-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,7vw,108px);width:min(100%,1360px);margin-inline:auto;padding-inline:var(--pad)}
.company-inner>.section-kicker{grid-column:1/-1;margin-bottom:-18px}
.company-title{font-size:clamp(43px,4.65vw,69px);font-weight:650;letter-spacing:-.055em;line-height:1.065;text-wrap:balance;max-width:580px}
.company-copy{font-size:clamp(18px,1.6vw,21px);line-height:1.65;letter-spacing:-.015em;color:var(--body);max-width:570px;padding-top:4px}
.company-copy p+p{margin-top:22px}
.focus-contact{text-align:center;background:#f0f1ef;padding:clamp(100px,9vw,140px) var(--pad)}
.focus-contact .section-kicker{margin-bottom:24px}
.focus .contact-title{font-size:clamp(47px,6.7vw,100px);line-height:1.035;letter-spacing:-.06em;font-weight:650;max-width:1000px;margin-inline:auto;text-wrap:balance}
.focus .contact-copy{color:var(--body);font-size:clamp(19px,1.9vw,24px);line-height:1.5;letter-spacing:-.015em;max-width:680px;margin:29px auto 31px;text-wrap:balance}
.focus-footer{background:#f0f1ef;border-top:1px solid #d9deda;padding-block:26px}
.focus-footer .footer-inner{display:flex;align-items:center;gap:26px;width:min(100%,1360px);margin-inline:auto;padding-inline:var(--pad);font-size:11px;line-height:1.5;color:#697476}
.focus-footer .wordmark{font-size:24px;letter-spacing:-1.7px}
.focus-footer p{margin-right:auto}
.focus-footer a:not(.wordmark){text-decoration:none;white-space:nowrap}
.focus-footer a:not(.wordmark):hover{text-decoration:underline;text-underline-offset:4px}
.focus-footer span{white-space:nowrap}
.focus-footer .footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:13px 23px}
.focus-footer .footer-links a{margin-right:0}
.focus .will-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
.focus .will-reveal.is-visible{opacity:1;transform:none}

@media(min-width:1600px){.focus .hero-title{max-width:1250px}.focus .hero-art{margin-top:76px}}
@media(max-width:1050px){.focus-nav{height:68px}.focus .hero-title{font-size:clamp(66px,8vw,86px)}.focus .hero-art{aspect-ratio:1.8;margin-top:55px}.chapter{padding-block:78px}.chapter-inner,.chapter:nth-of-type(even) .chapter-inner{gap:45px;grid-template-columns:1fr 1fr}.chapter-title{font-size:52px}.focus .chapter-visual{min-height:330px}.focus .chapter-copy{font-size:19px}.company-title{font-size:53px}.company-inner{gap:55px}.learning-loop{gap:24px}.learning-loop .loop-title{font-size:20px}}
@media(max-width:760px){
 html:has(body.focus){scroll-padding-top:78px}
 body.focus{--pad:24px}
 .focus-nav{height:64px}
 .focus .wordmark{font-size:29px}
 .focus .menu-toggle{display:block}
 .focus .main-nav{display:none;position:absolute;left:0;right:0;top:63px;padding:18px var(--pad) 24px;background:#fafaf8;border-bottom:1px solid #d6ddda;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 14px 18px -20px #142d35}
 .focus .main-nav.is-open{display:flex}
 .focus .main-nav a{font-size:15px;min-height:48px;padding-block:14px}
 .focus .main-nav .nav-contact{border:0;padding:14px 0;border-radius:0}
 .focus-hero{padding-top:61px}
 .focus .eyebrow,.focus .section-kicker{font-size:26px}
 .focus .hero-title{font-size:clamp(45px,10.95vw,69px);line-height:1.04;letter-spacing:-.06em;padding-inline:22px;margin-top:19px;text-wrap:balance}
 .focus .hero-deck{font-size:19px;line-height:1.5;letter-spacing:-.02em;margin-top:25px;max-width:570px;padding-inline:29px}
 .focus .hero-actions{gap:22px;margin-top:27px}
 .focus .button,.focus .contact-button{font-size:13px;padding:12px 22px;min-height:47px}
 .focus .text-link{font-size:13px}
 .focus .hero-art{aspect-ratio:1.12;width:calc(100% - 32px);border-radius:22px;margin-top:43px;box-shadow:none}
 .focus .hero-art img{object-position:center}
 .focus .hero-art figcaption{font-size:9px;bottom:14px;left:17px}
 .story-intro{padding-block:82px 78px}
 .focus .story-title{font-size:clamp(37px,9.35vw,58px);line-height:1.08;letter-spacing:-.05em;margin-top:19px}
 .focus .story-deck{font-size:19px;line-height:1.6;margin-top:24px;max-width:550px}
 .chapter{padding-block:67px 53px}
 .chapter-inner,.chapter:nth-of-type(even) .chapter-inner{display:flex;flex-direction:column;align-items:stretch;gap:28px}
 .focus .chapter-number{font-size:11px;margin-bottom:14px}
 .focus .chapter-label{font-size:26px;margin-bottom:17px}
 .chapter-title{font-size:clamp(38px,9.5vw,58px);line-height:1.07;letter-spacing:-.05em;max-width:570px}
 .focus .chapter-copy{font-size:18px;line-height:1.65;margin-top:23px;max-width:580px}
 .focus .chapter-visual,.chapter:nth-of-type(even) .chapter-visual{order:initial;aspect-ratio:1.2;min-height:0;max-width:530px;width:100%;margin-inline:auto}
 .focus .chapter-visual figcaption{font-size:10px;bottom:0}
 .design-schematic{width:90%}
 .chapter-experiment{width:96%;aspect-ratio:1.2}
 .chapter-process{aspect-ratio:1.25}
 .learning{padding-block:80px}
 .focus .learning-title{font-size:clamp(38px,9.6vw,58px);line-height:1.08;letter-spacing:-.05em;margin-top:20px}
 .focus .learning-copy{font-size:19px;line-height:1.6;margin-top:24px}
 .learning-loop{grid-template-columns:1fr 1fr;gap:32px 25px;margin-top:50px;padding-top:30px}
 .learning-loop .loop-index{margin-bottom:12px;font-size:11px}
 .learning-loop .loop-title{font-size:20px}
 .learning-loop .loop-copy{font-size:13px;line-height:1.6;margin-top:10px}
 .company{padding-block:77px}
 .company-inner{grid-template-columns:1fr;gap:25px}
 .company-inner>.section-kicker{margin-bottom:-6px}
 .company-title{font-size:clamp(38px,9.5vw,58px);line-height:1.075;letter-spacing:-.05em;max-width:600px}
 .company-copy{padding-top:0;font-size:18px;line-height:1.65;max-width:620px}
 .company-copy p+p{margin-top:21px}
 .focus-contact{padding-block:78px}
 .focus .contact-title{font-size:clamp(43px,10vw,65px);letter-spacing:-.055em}
 .focus .contact-copy{font-size:19px;line-height:1.6;margin-top:24px;max-width:530px}
 .focus-footer{padding-block:25px}
 .focus-footer .footer-inner{flex-wrap:wrap;gap:19px 23px;font-size:10px}
 .focus-footer p{width:calc(100% - 115px);margin-right:0}
 .focus-footer a:not(.wordmark){margin-right:auto}
}
@media(max-width:360px){body.focus{--pad:21px}.focus .hero-title{font-size:39px;padding-inline:18px}.focus .hero-deck{font-size:18px;padding-inline:23px}.focus .hero-actions{gap:18px}.focus .hero-art{aspect-ratio:1.05}.learning-loop{grid-template-columns:1fr;gap:27px}.learning-loop .loop-copy{max-width:260px}.focus-footer .footer-inner{gap:18px}}
@media(prefers-reduced-motion:reduce){html:has(body.focus){scroll-behavior:auto}.focus *,.focus *:before,.focus *:after{animation:none!important;transition:none!important}.focus .will-reveal{opacity:1;transform:none}}
@media print{.focus-nav,.focus .hero-actions,.focus .hero-art,.focus .chapter-visual,.focus .contact-button,.focus-footer{display:none!important}body.focus,.chapter,.learning,.company,.focus-contact{color:#111!important;background:#fff!important}.focus-hero,.story-intro,.chapter,.learning,.company,.focus-contact{padding-block:25px}.focus .hero-title{font-size:38pt}.focus .hero-deck,.focus .chapter-copy,.focus .learning-copy,.company-copy,.focus .contact-copy{color:#111}.focus .story-title,.chapter-title,.focus .learning-title,.company-title,.focus .contact-title{font-size:28pt}.chapter-inner,.company-inner{display:block}.focus .will-reveal{opacity:1;transform:none}.focus .wrap,.chapter-inner,.learning-inner,.company-inner{padding-inline:0}.learning-loop{margin-top:25px;border-color:#888}.learning-loop .loop-title,.learning-loop .loop-copy{color:#111}.learning-loop:after{display:none}}
