/* Lotus refinement · 2026-10-27. Shared rhythm, legible type, purposeful feedback. */
:root{--page-gutter:clamp(20px,5vw,96px);--section-space:clamp(56px,7vw,104px);--ink:#14333e;--muted:#4e655f;--paper:#f8f9f6;--surface-soft:#e8efeb;--teal:#006f73;--ease-out:cubic-bezier(.16,1,.3,1);--font-display:'IBM Plex Sans','Segoe UI','Microsoft YaHei UI',sans-serif}
body{font-size:16px;line-height:1.6;background:var(--paper)}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:500;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}
h2{font-size:clamp(32px,3.6vw,54px)}
p{ text-wrap:pretty }
::selection{background:#b9dbd0;color:#14333e}
:focus-visible{outline:3px solid #007d80;outline-offset:5px}
button,input,textarea,select{font:inherit;caret-color:var(--teal)}
.section,.innerpage .section,.industry,.rfq,.about,.innerpage .about{padding:var(--section-space) var(--page-gutter)}
.pagecrumb{padding:18px var(--page-gutter);font-size:13px;gap:16px}
header{height:96px;padding-inline:var(--page-gutter);background:#f8f9f6;backdrop-filter:none;gap:24px;border-bottom:0}
header .brand{flex-shrink:0;width:190px}
header nav{gap:clamp(12px,1.5vw,25px);font-size:15px;line-height:1.4}
header nav a{position:relative;min-height:44px;display:flex;align-items:center;padding-block:10px}
header nav a[aria-current='page']{color:var(--teal)}
header nav a[aria-current='page']:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--teal)}
.navright{gap:16px;flex-shrink:0}#language,#menu{min-height:44px;min-width:44px}
.topline{padding:8px var(--page-gutter);font-size:11px;letter-spacing:.06em}
.button,.button.small{min-height:48px;padding:14px 22px;font-size:14px;line-height:1.3;letter-spacing:0;font-weight:600;border-radius:3px;transition:background-color 160ms ease,color 160ms ease,transform 140ms var(--ease-out)}
.button:active{transform:scale(.98)}
.textlink,.slidecontact,.technicalcontact{font-size:14px;text-underline-offset:5px}
.eyebrow{display:none}
.innerpage main h1,.innerpage .rfq h1{font-size:clamp(38px,4.5vw,68px);font-weight:500;line-height:1.08;letter-spacing:-.03em}
.sectionhead{gap:48px;margin-bottom:40px;align-items:end}
.sectionhead>p,.technicallead,.componentlead,.sectionlead{font-size:17px;line-height:1.65;color:var(--muted);max-width:60ch}
.sectionhead>p{max-width:38ch;flex:0 1 38ch}
.proof{padding:32px var(--page-gutter);gap:32px;border:0}
.proof strong{font-family:var(--font-body);font-size:23px;line-height:1.25;font-weight:500;letter-spacing:-.02em}
.proof span{font-size:13px;line-height:1.5;margin-top:8px;color:var(--muted)}
.proof a{font-size:14px;line-height:1.6}
.proof div{border:0}
.homecarousel .brandbackground{background-size:100% 100%}
.brand-slide-actions{bottom:10%;gap:24px}
.brand-slide-actions .button{padding:12px 20px;min-height:46px}
.slidecopy h2{font-family:var(--font-display);font-size:clamp(38px,4.4vw,66px);font-weight:500;letter-spacing:-.025em;line-height:1.08;max-width:20ch}
.slidecopy>p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:60ch;margin:24px 0 32px}
.homearrow{width:48px;height:56px;background:#102c3855;font-size:36px}
.homeautobutton,.homedots button{min-width:32px;min-height:32px}
.whycards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:9%;align-items:start;background:#fff}
.whycards h2{font-size:clamp(34px,3.7vw,56px);max-width:16ch;position:sticky;top:132px}
.whycards h2 span{color:inherit}
.advantagegrid{display:flex;flex-direction:column;gap:0;margin:0;min-width:0}
.advantagecard{display:block;padding:0 0 32px;margin-bottom:32px;border:0;border-radius:0;background:transparent;box-shadow:none;transition:none}
.advantagecard:last-child{margin-bottom:0;padding-bottom:0}
.advantagecard .cardlineicon{display:none}
.advantagecard h3{font-size:26px;margin:0 0 14px;line-height:1.2}
.advantagecard p{font-size:16px;color:var(--muted);line-height:1.65;margin:0 0 16px;max-width:52ch}
.advantagecard>a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:0;color:var(--teal)}
.advantagecard:hover{box-shadow:none}
.homepages{background:var(--surface-soft)}
.homepagegrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 28px;margin-top:40px}
.homepagecard{grid-column:span 2;background:transparent;border:0;box-shadow:none;overflow:hidden}
.homepagecard:nth-child(-n+2){grid-column:span 3}
.homepagecard>img{height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform 280ms var(--ease-out)}
.homepagecard:nth-child(-n+2)>img{aspect-ratio:16/10}
.homepagecard>div{padding:24px 0 0;position:relative}
.homepagecard h3{font-size:28px;padding-right:32px}
.homepagecard p{font-size:16px;line-height:1.65;margin:12px 0 0;color:var(--muted);max-width:43ch}
.homepagecard span{position:absolute;right:0;top:24px;font-size:22px}
#products>.sectionhead{padding:clamp(28px,4vw,60px);min-height:320px;align-items:center;border-radius:0;margin-bottom:32px}
#products>.sectionhead h1{max-width:16ch}
#products>.sectionhead>p{color:#eef5f1;text-shadow:none;font-size:17px}
.filterbar{align-items:flex-start;gap:24px;padding:0 0 24px;flex-wrap:wrap}
#filters{gap:8px;flex:1 1 700px}
#filters button,.photofilters button,.factoryvideofilters button{min-height:44px;padding:10px 16px;font-size:14px;border-radius:3px;transition:background-color 160ms ease,color 160ms ease}
.search{max-width:300px;flex:1 1 240px;margin-left:auto}
.search input{font-size:14px;min-height:44px;padding:11px 12px;background:white}
.productgrid{gap:32px 24px;margin-top:32px;grid-template-columns:repeat(3,minmax(0,1fr))}
#products .product{border:0;box-shadow:none;transition:none;min-width:0}
.product:hover{transform:none;box-shadow:none!important}
.productpic,.categoryimagecard .productpic{height:300px;padding:28px;background:var(--surface-soft)}
.productpic img{mix-blend-mode:normal}
.productpic .index,.productcopy .tag{display:none}
.productcopy{padding:28px}
.productcopy h3{font-family:var(--font-display);font-size:27px;font-weight:500;line-height:1.2;margin-bottom:16px;letter-spacing:-.02em}
.productcopy>p,.productcopy .categoryparent{font-size:15px;line-height:1.65;color:var(--muted);min-height:0}
.productcopy .categoryimagecaption,.cardcaption,.imagecaption{font-size:13px;line-height:1.5;color:var(--muted)}
.productbottom{gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px;padding-top:16px}
.productbottom>a,.productbottom button{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.note,.facilitynote,.specnote{font-size:14px;line-height:1.65;color:var(--muted)}
.applicationgrid{gap:24px}
.applicationcard,.servicecard{padding:32px;border:0;border-radius:0;box-shadow:none;transition:none}
.applicationcard:hover{box-shadow:none}
.applicationtitle h2,.servicecard h3,.profiletext h3,.workflowsteps h3{font-size:28px;font-weight:500}
.applicationcard>p,.servicecard p,.workflowsteps p,.engineering p{font-size:16px;line-height:1.7;color:var(--muted)}
.applicationlinks a,.applicationcta>p{font-size:14px;line-height:1.65}
.applicationlinks a{min-height:40px;display:flex;align-items:center}
.industrycardshead>p:not(.eyebrow){font-size:17px;line-height:1.65}
.engineeringvisual{box-shadow:none!important}.engineering h2{font-size:clamp(34px,3.7vw,54px)}
.engineering summary{font-size:16px;min-height:44px}
.technicalhero span,.factoryextracopy p{font-size:14px;line-height:1.65;color:var(--muted)}
.factorylayout{gap:40px}.factorynow h3{font-size:32px}.factorynow p{font-size:16px;line-height:1.65}
.factoryclipcopy strong{font-size:15px}.clipcategory{font-size:12px;letter-spacing:0}
.factoryclip{padding:14px;border-radius:3px;box-shadow:none!important}.factoryclip.active{outline:2px solid var(--teal);outline-offset:-2px}
.factoryextralayout{gap:24px}.factoryextracopy h5{font-size:26px}.factoryextrahead h4{font-size:16px}.factoryextrahead button{font-size:14px;min-height:44px}
.factoryphotocaption strong{font-size:15px;line-height:1.5}
.factoryprofilehead>p,.profiletext>p:not(.eyebrow),.about p:not(.eyebrow){font-size:17px;line-height:1.75;color:var(--muted);max-width:70ch}
.factoryfacts,.equipmentfacts{gap:24px}.factoryfacts span,.equipmentfacts span{font-size:14px;line-height:1.6}.factoryfacts strong,.equipmentfacts strong{font-size:32px;font-weight:500}
.spectable th,.spectable td,.certmilestones li{font-size:15px;line-height:1.65}
.rfq p{font-size:17px;line-height:1.65;color:#dce8e4;max-width:42ch}
form label{font-size:14px}form input,form textarea{font-size:16px;padding:14px;min-height:48px}form textarea::placeholder{font-size:14px;color:#d0ded9}
.formhint{font-size:13px!important;line-height:1.6!important}
footer{padding:64px var(--page-gutter) 24px;gap:32px;color:#e0e9e6}
footer p,footer>a:not(.brand){font-size:14px}
.companycontacts>div>span{font-size:12px;letter-spacing:.04em;color:#b9d1c6;margin-bottom:16px}
.companycontacts a,.footercontacts a{font-size:15px;line-height:1.6;padding:5px 0;overflow-wrap:normal;white-space:nowrap}
.companycontacts address,.footercontacts address{font-size:15px;line-height:1.7}
.footercontacts{grid-template-columns:1fr 1.1fr 1.1fr 1.3fr;gap:32px;padding-top:40px;margin-top:16px}
.footbottom,.footbottom button{font-size:12px;line-height:1.6}
.socialbutton{transition:transform 160ms var(--ease-out)}
dialog{border-radius:8px}dialog[open]{animation:lotus-dialog-in 200ms var(--ease-out)}
@keyframes lotus-dialog-in{from{opacity:.4;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.homepagecard:hover>img{transform:scale(1.025)}.socialbutton:hover{transform:translateY(-2px)}.button:hover{background:#005b60}}
@media(min-width:1051px) and (max-width:1250px){header{gap:14px;padding-inline:24px}header .brand{width:165px}header nav{font-size:14px;gap:13px}.navright{gap:8px}.navright .button{font-size:13px;padding:12px 15px}}
@media(max-width:1050px){header{height:80px}header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:20px var(--page-gutter);box-shadow:0 16px 24px #14333e10}header nav.open{display:flex;flex-direction:column;gap:4px}header nav a{font-size:17px}#menu{display:block;font-size:24px}.productgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.footercontacts{grid-template-columns:1fr 1fr}.proof{grid-template-columns:repeat(2,minmax(0,1fr))}.proof a{text-align:left}.productpic,.categoryimagecard .productpic{height:280px}}
@media(max-width:760px){.topline>span:last-child{display:none}header .brand{width:155px}header{gap:12px}.navright{gap:8px}.navright .button{padding:11px 14px;font-size:12px;min-height:44px}.sectionhead{flex-direction:column;align-items:flex-start;gap:24px}.sectionhead>p{flex:auto;max-width:60ch}.whycards{grid-template-columns:1fr;gap:36px}.whycards h2{position:static;max-width:22ch}.advantagecard{padding-bottom:28px;margin-bottom:24px}.advantagecard h3{font-size:25px}.homepagegrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.homepagecard,.homepagecard:nth-child(-n+2){grid-column:span 1}.homepagecard:first-child{grid-column:1/-1}.homepagecard>img{aspect-ratio:4/3}.homepagecard h3{font-size:25px}.homepagecard p{font-size:15px}.homepagecard>div{padding-top:20px}.homepagecard span{top:20px}.factorylayout{gap:28px}.factoryplaylist{max-height:560px}.filterbar{gap:16px}.search{max-width:none;flex-basis:100%}#products>.sectionhead{min-height:0}#products>.sectionhead>p{font-size:16px}.applicationcta{gap:24px}.rfq{grid-template-columns:1fr;gap:40px}.formrow{gap:16px}}
@media(max-width:550px){header .brand{width:135px}.navright .button{display:none}.topline{font-size:10px;letter-spacing:.04em}.proof{gap:24px;padding:28px var(--page-gutter)}.proof strong{font-size:20px}.proof span{font-size:12px}.proof a{font-size:13px}.homecarousel{height:auto;aspect-ratio:auto;min-height:0}.homeslide{position:relative;min-height:520px}.homeslide.brand-slide{min-height:460px}.homecarousel .brandbackground{height:auto;aspect-ratio:2035/773;background-size:contain;background-position:center top}.brandmobilecopy{position:relative;top:auto;left:auto;right:auto;padding:185px 28px 140px}.brandmobilecopy h2{font-size:34px;line-height:1.1}.brandmobilecopy p{font-size:16px;line-height:1.6}.brand-slide-actions{left:28px;right:28px;bottom:72px;gap:16px}.brand-slide-actions .button{font-size:13px;padding:12px 16px}.slidecontact{font-size:13px}.slidecopy{min-height:520px;padding:64px 36px 100px}.slidecopy h2{font-size:36px}.slidecopy>p:not(.eyebrow){font-size:16px}.homearrow{width:30px;height:48px;font-size:28px}.productgrid{grid-template-columns:1fr;gap:24px}.productpic,.categoryimagecard .productpic{height:300px}.productcopy{padding:24px}.productcopy h3{font-size:27px}.homepagegrid{grid-template-columns:1fr;gap:36px}.homepagecard,.homepagecard:nth-child(-n+2){grid-column:auto}.homepagecard>img,.homepagecard:nth-child(-n+2)>img{aspect-ratio:16/11}.homepagecard p{max-width:38ch}.companycontacts,.footercontacts{grid-template-columns:1fr;gap:32px}.companycontacts a,.footercontacts a{font-size:16px}.formrow{grid-template-columns:1fr}.spectable th,.spectable td{font-size:14px}.factoryprofilehead>p,.profiletext>p:not(.eyebrow),.about p:not(.eyebrow){font-size:16px}.factoryfacts strong,.equipmentfacts strong{font-size:27px}.applicationcard,.servicecard{padding:26px}.footbottom{gap:20px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important}.button,.homepagecard>img,.socialbutton{transition:none;transform:none!important}dialog[open]{animation:none}}
/* Small visible dots retain a generous pointer target. */
.homedots{gap:2px}.homedots button,.homedots button[aria-current='true']{position:relative;width:36px;height:36px;min-width:36px;min-height:36px;border:0;background:transparent;border-radius:0;padding:0}.homedots button:before{content:'';position:absolute;width:10px;height:10px;left:13px;top:13px;border:1px solid #fff;border-radius:50%;background:transparent}.homedots button[aria-current='true']:before{background:#fff}
.whycards h2{max-width:20ch}
@media(min-width:1051px){header .brand{width:165px}.navright .button{padding-inline:16px}header{gap:16px}}
/* One brand moment: ordinary scrolling, no hijacking or hidden fallback content. */
.lotus-brand-story{position:relative;height:130vh;min-height:780px;background:#fff;--logo-fill:1;--logo-dash:0;--logo-reveal:100%}
.lotus-brand-stage{height:70vh;min-height:460px;max-height:760px;position:sticky;top:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px var(--page-gutter);overflow:hidden}
.lotus-brand-art{width:min(100%,1100px)}.lotus-brand-art svg{display:block;width:100%;height:auto;overflow:visible}
.lotus-vector-fill{opacity:var(--logo-fill)}.lotus-vector-outline{opacity:0}.lotus-vector-words{clip-path:inset(0 calc(100% - var(--logo-reveal)) 0 0)}
.lotus-brand-story[data-ready] .lotus-vector-outline{opacity:calc(1 - var(--logo-fill))}.lotus-vector-outline path{stroke-dasharray:1;stroke-dashoffset:var(--logo-dash)}
.lotus-brand-line{font-size:clamp(18px,1.9vw,25px);line-height:1.4;color:var(--ink);text-align:center;margin-top:36px;letter-spacing:-.01em}
.lotus-brand-hint{position:absolute;bottom:32px;color:var(--muted);font-size:13px;line-height:1.5}
@media(max-width:1050px){.lotus-brand-stage{top:80px}}
@media(max-width:760px){.lotus-brand-story{height:auto;min-height:0}.lotus-brand-stage{height:auto;min-height:0;position:relative;top:0;padding:72px var(--page-gutter)}.lotus-brand-line{font-size:17px;margin-top:24px}.lotus-brand-hint{display:none}}
@media(prefers-reduced-motion:reduce){.lotus-brand-story{height:auto;min-height:0}.lotus-brand-stage{position:relative;top:0;height:auto;min-height:0;padding-block:80px}.lotus-brand-hint{display:none}}

.lotus-brand-story[data-ready] .lotus-brand-hint{opacity:var(--logo-hint-opacity,1)}
/* Brochure imagery: preserve source photography, readable captions and deliberate page rhythm. */
.brochure-section{background:#fff;scroll-margin-top:100px}.brochure-section:nth-of-type(even){background:var(--surface-soft)}
.brochure-section .sectionhead h2{max-width:18ch}.brochure-section .sectionhead>p{font-size:16px;line-height:1.65}
.brochure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.brochure-figure{margin:0;min-width:0}.brochure-image{display:block;background:#edf2ef;width:100%;padding:0;overflow:hidden;border-radius:3px}
.brochure-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform 220ms var(--ease-out)}
.brochure-figure figcaption{padding-top:18px}.brochure-figure h3{font-size:22px;line-height:1.25;letter-spacing:-.015em;font-weight:500}
.brochure-source{font-size:12px;line-height:1.6;color:var(--muted);margin-top:9px}
.brochure-lab .brochure-figure:first-child,.brochure-cases .brochure-figure:nth-child(3){grid-column:span 2}
.brochure-lab .brochure-figure:first-child img,.brochure-cases .brochure-figure:nth-child(3) img{aspect-ratio:2/1}
.brochure-crosslink{padding:0 var(--page-gutter) 56px;background:#fff}.brochure-crosslink a{font-size:16px;color:var(--teal);display:inline-flex;min-height:44px;align-items:center}
@media(hover:hover) and (pointer:fine){.brochure-image:hover img{transform:scale(1.025)}}
@media(max-width:1000px){.brochure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.brochure-lab .brochure-figure:first-child,.brochure-cases .brochure-figure:nth-child(3){grid-column:span 2}}
@media(max-width:600px){.brochure-grid{grid-template-columns:1fr;gap:32px}.brochure-lab .brochure-figure:first-child,.brochure-cases .brochure-figure:nth-child(3){grid-column:auto}.brochure-lab .brochure-figure:first-child img,.brochure-cases .brochure-figure:nth-child(3) img{aspect-ratio:4/3}.brochure-figure h3{font-size:23px}.brochure-section .sectionhead{gap:20px}}
@media(prefers-reduced-motion:reduce){.brochure-image img{transition:none;transform:none!important}}

/* Keep section navigation visible on tablet and compact desktop widths. */
@media(min-width:761px) and (max-width:1200px){
 header{height:auto;min-height:124px;display:grid;grid-template-columns:1fr auto;gap:0 24px;padding-top:12px;padding-bottom:0}
 header .brand{width:190px}header .navright{grid-column:2;grid-row:1}
 header nav,header nav.open{display:flex;position:static;grid-column:1 / -1;grid-row:2;flex-direction:row;justify-content:space-between;gap:16px;width:100%;padding:6px 0 0;background:transparent;box-shadow:none;border-top:1px solid #14333e14;margin-top:10px}
 header nav a{font-size:15px;white-space:nowrap;min-height:46px;padding-block:10px}#menu{display:none}
 .lotus-brand-stage{top:124px}
}

footer .brand img{filter:none;opacity:1;transform:none}
