/* Readable type, compact sections, and wide editorial features. */
body{font-size:18px;line-height:1.7}
.section{padding:54px 0}
.section-heading{gap:36px;margin-bottom:28px;align-items:flex-end}
.section-heading .section-title,.journal .section-title,html[lang=en] .section-title{font:600 clamp(34px,3.2vw,46px)/1.2 var(--sans);letter-spacing:0;color:var(--blue)}
.section-lead{font:300 clamp(23px,2vw,28px)/1.45 var(--display);letter-spacing:.015em;margin-top:12px}
.section-description{font:400 18px/1.7 var(--sans);max-width:400px;padding:0}
.eyebrow{font-size:16px;font-weight:600;letter-spacing:.06em}
.button{font-size:16px;min-height:50px;letter-spacing:.02em;padding:13px 24px;gap:24px}
.text-link{font-size:16px;line-height:1.6;min-height:40px;gap:18px;letter-spacing:.01em}
.text-link span{font-size:23px}

.hero-copy .eyebrow,html[lang=en] .hero-copy .eyebrow{font-size:16px;line-height:1.5;letter-spacing:.08em;margin-bottom:14px;font-weight:500}
.hero-intro,html[lang=en] .hero-intro{font:400 18px/1.65 var(--sans);margin-top:16px}
.hero-buttons,html[lang=en] .hero-buttons{margin-top:22px;gap:28px}
.hero-buttons .button,.hero-buttons .text-link,html[lang=en] .hero-buttons .button,html[lang=en] .hero-buttons .text-link{font-size:16px;letter-spacing:.015em}
.scroll-cue,.video-control{font-size:13px;line-height:1.4;letter-spacing:.025em}
.hero-signature,.hero-signature>span:first-child,.hero-signature>span:last-child{font-size:13px;letter-spacing:.06em}
.hero-signature{gap:20px}

.intro{padding-top:34px}
.intro-grid{gap:28px}
.intro-statement{text-align:center}
.intro-statement .eyebrow{font-size:17px;margin-bottom:12px}
.intro h2,html[lang=en] .intro h2{font-size:36px;line-height:1.35;letter-spacing:.035em}
.intro-statement>p:last-child{font:400 17px/1.75 var(--sans);margin-top:14px}
.stats{padding:24px 7%}
.stat strong{font-size:52px}
.stat p{font-size:15px;line-height:1.6;margin-top:10px;letter-spacing:0;white-space:normal}

.products{padding:44px 0 26px}
.product-toolbar{margin-bottom:22px}
.filter-group button{font-size:16px;min-height:48px;padding:12px 0}
.filter-group sup{font-size:12px}
.toolbar-note{font-size:14px;letter-spacing:.04em}
.product-grid{gap:24px}
.product-image img{aspect-ratio:1.35;object-fit:contain}
.product-label{font-size:12px;padding:5px 9px;top:12px;left:12px}
.product-info{margin-top:16px;align-items:flex-start;flex-wrap:wrap}
.tiny{font-size:14px;line-height:1.5;letter-spacing:0}
.product-info h3,html[lang=en] .product-info h3{font-size:30px;font-weight:400;line-height:1.3;letter-spacing:0;margin-top:6px}
.product-power{font-size:24px;padding-top:3px}
.product-power small{font-size:13px}
.product-desc{font:400 16px/1.75 var(--sans);margin-top:10px}
.product-footnote{font-size:16px;margin-top:24px;padding-top:18px;gap:20px}
.product-footnote .text-link{font-size:16px}

.applications{padding:42px 0 0}
.application-tabs button{font-size:17px;min-height:58px;padding:15px 12px;letter-spacing:.015em}
.application-panel{min-height:460px;grid-template-columns:1.1fr 1fr}
.application-visual{position:relative;min-height:0}
.application-visual img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 55%}
.application-copy{padding:30px clamp(28px,3.2vw,56px)}
.application-copy .eyebrow.light{font:500 16px/1.5 var(--sans);margin-bottom:12px;max-width:90%;letter-spacing:.035em}
.application-copy h3,html[lang=en] .application-copy h3{font-size:36px;line-height:1.3;letter-spacing:.015em;font-weight:300}
.application-copy>p:not(.eyebrow){font:400 18px/1.65 var(--sans);margin-top:16px;max-width:600px}
.application-tags{gap:8px;margin:16px 0 18px}
.application-tags span{font-size:14px;line-height:1.5;padding:4px 10px}
.application-copy>.text-link{font-size:16px;min-height:36px}
.application-index{right:28px;top:24px;font-size:26px}
.image-caption{font-size:14px;letter-spacing:.06em;padding:34px 28px 18px}
#application-number{display:none}

.technology{padding:50px 0}
.technology-grid{gap:44px}
.diagram-label{font-size:13px;letter-spacing:.05em;top:20px;left:24px}
.diagram-footer{font-size:13px;line-height:1.5;padding:16px 22px;letter-spacing:.01em}
.tech-point{padding:20px 0;gap:0}
.tech-point h3{font-size:26px;font-weight:500;line-height:1.4;margin-bottom:8px}
.tech-point p{font:400 17px/1.75 var(--sans)}
.technology-points>.text-link{font-size:16px;margin:18px 0 0}

.about{padding:0}
.about-layout{min-height:470px;grid-template-columns:1.1fr 1fr}
.about-photo{position:relative;min-height:0}
.about-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.about-photo>div{font-size:14px;letter-spacing:.04em;padding:34px 28px 18px}
.about-copy{padding:30px clamp(28px,3.2vw,56px)}
.about-copy .feature-label{font:600 22px/1.35 var(--sans);margin-bottom:14px;letter-spacing:.02em;color:#bcd4f5}
.about-copy h2{font-size:36px;line-height:1.3;margin-bottom:16px;letter-spacing:.02em}
.about-copy>p:not(.eyebrow){font:400 18px/1.65 var(--sans);margin-top:14px}
.about-copy>.text-link{font-size:16px;margin-top:18px;min-height:36px}

.journal{padding:50px 0}
.career-banner{padding:28px 0}
.career-banner .eyebrow{font-size:15px;margin-bottom:8px}
.career-banner h2{font-size:30px;line-height:1.4}
.career-inner{gap:28px}
.contact-section{padding:52px 0}
.contact-layout{gap:60px}
.contact-section .eyebrow.light{font-size:16px;line-height:1.6;margin-bottom:18px}
.contact-section h2{font-size:40px;line-height:1.35}
.contact-section .button{margin-top:22px}
.contact-details{padding-left:40px}
.contact-details>div{margin-bottom:20px}
.contact-details>div>span{font-size:15px;line-height:1.5;margin-bottom:8px}
.contact-details a{font-size:26px}
.contact-details a.phone{font-size:28px}
.contact-details #copy-email{font-size:14px;margin-top:8px}
.contact-details>p{font-size:16px;line-height:1.7}
footer{padding:30px 0 24px}
.footer-top{padding-bottom:24px;gap:24px}
.footer-top>p{font:400 16px/1.6 var(--sans);letter-spacing:.02em}
.back-top{font-size:14px}
.footer-bottom{font-size:14px;line-height:1.65;padding-top:20px}

.dialog-intro,.modal-description{font:400 16px/1.75 var(--sans)}
form label>span{font-size:15px}
input,textarea,select{font-size:16px;line-height:1.5}
.form-note,.spec-note,.product-source,.release-note{font-size:14px;line-height:1.7}
.spec-note{font-size:14px!important}
.spec-table,.spec-table th,.spec-table td{font-size:15px}
.email-draft{font-size:14px;line-height:1.7}
.contact-result-card p,.contact-result-card .text-link{font-size:15px}
#toast{font-size:14px;line-height:1.5}

@media(min-width:701px) and (max-width:1100px){
  .application-panel{min-height:460px}
  .application-copy,.about-copy{padding:28px}
  .application-copy h3,html[lang=en] .application-copy h3,.about-copy h2{font-size:32px}
  .application-copy>p:not(.eyebrow),.about-copy>p:not(.eyebrow){font-size:17px}
  .application-copy .eyebrow.light{font-size:15px}
  .application-tags span{font-size:13px;padding-inline:8px}
  .about-layout{min-height:470px}
  .technology-grid{gap:30px}
  .tech-point h3{font-size:24px}
  .contact-layout{gap:34px}
  .contact-details{padding-left:28px}
  .contact-details a{font-size:22px}
}
@media(min-width:701px) and (max-height:750px){
  .hero-copy .eyebrow,html[lang=en] .hero-copy .eyebrow{font-size:14px;margin-bottom:12px}
  .hero-intro,html[lang=en] .hero-intro{font-size:16px;margin-top:12px}
  .hero-buttons,html[lang=en] .hero-buttons{margin-top:16px}
  .hero-buttons .button,.hero-buttons .text-link,html[lang=en] .hero-buttons .button,html[lang=en] .hero-buttons .text-link{font-size:15px}
}
@media(max-width:700px){
  body{font-size:16px;line-height:1.7}
  .section{padding:36px 0}
  .section-heading{display:block;margin-bottom:24px}
  .section-heading .section-title,.journal .section-title,html[lang=en] .section-title{font-size:34px;font-weight:600}
  .section-lead{font-size:23px;line-height:1.45;margin-top:10px}
  .section-description{font-size:16px;line-height:1.7;margin-top:14px;max-width:none}
  .button{font-size:16px;min-height:48px;padding:12px 18px;gap:18px}
  .text-link{font-size:16px;min-height:40px;gap:14px}
  .eyebrow{font-size:14px}
  .hero-copy .eyebrow,html[lang=en] .hero-copy .eyebrow{font-size:13px;line-height:1.5;letter-spacing:.025em;margin-bottom:12px}
  .hero-intro,html[lang=en] .hero-intro{font-size:15px;line-height:1.65;margin-top:12px;max-width:340px}
  .hero-buttons,html[lang=en] .hero-buttons{margin-top:18px;gap:18px}
  .hero-buttons .button,.hero-buttons .text-link,html[lang=en] .hero-buttons .button,html[lang=en] .hero-buttons .text-link{font-size:14px;letter-spacing:0}
  .hero-buttons .button,html[lang=en] .hero-buttons .button{padding-inline:16px;gap:18px;min-height:46px}
  .hero-buttons .text-link,html[lang=en] .hero-buttons .text-link{gap:12px}
  .scroll-cue,.video-control{font-size:12px;letter-spacing:0;line-height:1.4}
  .video-control #video-toggle-label{max-width:110px}
  .hero-bottom{gap:16px}
  .intro{padding-top:28px}
  .intro-grid{gap:22px}
  .intro h2,html[lang=en] .intro h2{font-size:30px;line-height:1.4}
  html[lang=en] .intro h2{font-size:28px;line-height:1.35;letter-spacing:0}
  .intro-statement .eyebrow{font-size:15px}
  .intro-statement>p:last-child{font-size:16px;line-height:1.7;margin-top:12px}
  .stats{padding:20px 0}
  .stat strong{font-size:37px}
  .stat strong span{font-size:18px}
  .stat p{font-size:13px;line-height:1.5;margin-top:8px}
  .products{padding:34px 0 22px}
  .product-toolbar{margin-bottom:18px}
  .filter-group{gap:22px}
  .filter-group button{font-size:15px;min-height:46px}
  .product-grid{gap:24px 16px}
  .product-image img{aspect-ratio:1.1;object-fit:contain}
  .product-label{font-size:11px;line-height:1.4;padding:4px 6px;top:7px;left:7px;max-width:calc(100% - 14px)}
  .product-info{margin-top:12px;gap:5px}
  .tiny{font-size:12px;line-height:1.5}
  .product-info h3,html[lang=en] .product-info h3{font-size:24px;line-height:1.3}
  .product-power{font-size:21px;padding-top:0}
  .product-power small{font-size:12px}
  .product-desc{font-size:14px;line-height:1.7;margin-top:8px}
  .product-footnote{font-size:15px;line-height:1.6;margin-top:22px;padding-top:16px}
  .product-footnote .text-link{font-size:15px;margin-top:8px}
  .applications{padding:34px 0 0}
  .application-tabs{padding-inline:20px}
  .application-tabs button{font-size:16px;min-height:54px;padding:13px 16px}
  .application-panel{grid-template-columns:1fr;min-height:0}
  .application-visual{height:230px}
  .application-visual img{height:100%;min-height:0}
  .application-copy{padding:26px 24px 28px}
  .application-copy .eyebrow.light{font-size:14px;max-width:92%;margin-bottom:12px}
  .application-copy h3,html[lang=en] .application-copy h3{font-size:30px;line-height:1.3}
  .application-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-top:14px}
  .application-tags{margin:14px 0 16px;gap:8px}
  .application-tags span{font-size:13px;padding:4px 8px}
  .application-copy>.text-link{font-size:16px}
  .application-index{right:22px;top:22px;font-size:24px}
  .image-caption{font-size:13px;padding:30px 22px 16px}
  .technology{padding:36px 0}
  .technology-grid{gap:24px}
  .diagram-label,.diagram-footer{font-size:12px}
  .diagram-footer{padding:14px 18px}
  .tech-point{padding:18px 0}
  .tech-point h3{font-size:24px}
  .tech-point p{font-size:16px;line-height:1.7}
  .technology-points>.text-link{font-size:16px;margin:16px 0 0}
  .about{padding:0}
  .about-layout{grid-template-columns:1fr;min-height:0}
  .about-photo{height:240px}
  .about-photo img{height:100%;min-height:0}
  .about-photo>div{font-size:13px;padding:30px 22px 16px}
  .about-copy{padding:26px 24px 30px}
  .about-copy .feature-label{font-size:22px;margin-bottom:12px}
  .about-copy h2{font-size:32px;line-height:1.3;margin-bottom:16px}
  .about-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-top:12px}
  .about-copy>.text-link{font-size:16px;margin-top:16px}
  .journal{padding:36px 0}
  .career-banner{padding:26px 0}
  .career-banner .eyebrow{font-size:14px}
  .career-banner h2{font-size:26px;line-height:1.45}
  .career-banner .button{margin-top:16px}
  .contact-section{padding:36px 0}
  .contact-layout{gap:28px}
  .contact-section .eyebrow.light{font-size:14px;line-height:1.6;margin-bottom:14px}
  .contact-section h2{font-size:34px;line-height:1.4}
  .contact-section .button{margin-top:20px}
  .contact-details{padding:26px 0 0}
  .contact-details>div{margin-bottom:18px}
  .contact-details>div>span{font-size:14px}
  .contact-details a{font-size:23px}
  .contact-details a.phone{font-size:26px}
  .contact-details>p{font-size:15px}
  .footer-top>p{font-size:15px}
  .footer-bottom{font-size:13px;gap:14px}
  .back-top{font-size:0}
  .spec-table,.spec-table th,.spec-table td{font-size:14px}
}
@media(max-width:370px){
  .hero-copy .eyebrow,html[lang=en] .hero-copy .eyebrow{font-size:12px;margin-bottom:10px}
  .hero-intro,html[lang=en] .hero-intro{font-size:14px;line-height:1.6;margin-top:10px}
  .hero-buttons,html[lang=en] .hero-buttons{gap:14px;margin-top:14px}
  .hero-buttons .button,.hero-buttons .text-link,html[lang=en] .hero-buttons .button,html[lang=en] .hero-buttons .text-link{font-size:13px}
  .hero-buttons .button,html[lang=en] .hero-buttons .button{padding-inline:12px;gap:12px;min-height:44px}
  .hero-buttons .text-link,html[lang=en] .hero-buttons .text-link{gap:8px}
  html[lang=en] .hero-buttons .text-link span{display:none}
  .video-control #video-toggle-label{max-width:80px}
  .stat{padding-inline:5px}
  .stat strong{font-size:33px}
  .stat p{font-size:12px}
  .filter-group{gap:17px}
  .filter-group button{font-size:14px}
  .product-info h3,html[lang=en] .product-info h3{font-size:22px}
}

/* Quiet label and rounded, solid video controls independent of font glyphs. */
.hero .video-control{font-size:10px;line-height:1.35;letter-spacing:.025em;gap:10px}
.hero .video-control-icon{display:grid;place-items:center;flex:0 0 60px;width:60px;height:60px;border:0;border-radius:50%;background:rgba(112,119,128,.52);color:#fff;backdrop-filter:blur(4px);transition:background .2s,transform .2s}
.hero .video-control-icon svg{display:block;width:28px;height:28px;fill:currentColor}
.hero .video-control-icon .video-play-mark{display:none}
.hero .video-control[data-state=paused] .video-pause-mark{display:none}
.hero .video-control[data-state=paused] .video-play-mark{display:block}
.hero .video-control:hover .video-control-icon{background:rgba(131,138,146,.68);transform:scale(1.03)}
.hero .video-control:focus-visible .video-control-icon{outline:2px solid #fff;outline-offset:4px}
#video-toggle-label{opacity:.8}
@media(min-width:701px) and (max-height:750px){
  .hero .video-control-icon{flex-basis:48px;width:48px;height:48px}
  .hero .video-control-icon svg{width:24px;height:24px}
}
@media(max-width:700px){
  .hero .video-control{font-size:10px;gap:8px}
  .hero .video-control-icon{flex-basis:48px;width:48px;height:48px}
  .hero .video-control-icon svg{width:24px;height:24px}
}

/* Give the three editorial copy blocks a more comfortable reading rhythm. */
.application-copy, .about-copy { padding-block: 34px; }
.application-copy .eyebrow.light { margin-bottom: 18px; }
.application-copy h3, html[lang=en] .application-copy h3,
.about-copy h2, html[lang=en] .about-copy h2 { line-height: 1.5; }
.application-copy > p:not(.eyebrow), .about-copy > p:not(.eyebrow) {
  line-height: 1.9;
  margin-top: 22px;
}

.application-tags { gap: 10px; margin: 22px 0 24px; }
.application-tags span { line-height: 1.65; }
.tech-point { padding-block: 26px; }
.tech-point h3 { line-height: 1.55; margin-bottom: 14px; }
.tech-point p { line-height: 1.9; }
.technology .technology-points > .cta-pill { margin-top: 24px; }
.about-copy .feature-label { margin-bottom: 18px; }
.about-copy h2 { margin-bottom: 22px; }
.about .about-copy > .cta-pill { margin-top: 24px; }

@media (max-width: 700px) {
  .application-copy, .about-copy { padding: 30px 24px 34px; }
  .application-copy .eyebrow.light { margin-bottom: 16px; }
  .application-copy h3, html[lang=en] .application-copy h3,
  .about-copy h2, html[lang=en] .about-copy h2 { line-height: 1.5; }
  .application-copy > p:not(.eyebrow), .about-copy > p:not(.eyebrow) { line-height: 1.9; margin-top: 18px; }
  .application-tags { margin-block: 20px 22px; }
  .tech-point { padding-block: 22px; }
  .tech-point h3 { line-height: 1.5; margin-bottom: 12px; }
  .tech-point p { line-height: 1.9; }
  .technology .technology-points > .cta-pill, .about .about-copy > .cta-pill { margin-top: 22px; }
  .about-copy .feature-label { margin-bottom: 16px; }
  .about-copy h2 { margin-bottom: 20px; }
}
