/* 1. Tokens and base */
:root{--navy:#0745A5;--hero-background:#111111;--navy-secondary:#052E70;--blue:#0745A5;--blue-gray:#52749C;--blue-gray-light:#EAF1FA;--white:#FFFFFF;--ink:#1E293B;--muted:var(--ink);--gray:#F5F7FA;--pale:var(--gray);--line:#D4E1F2;--contact:#F8D548;--contact-hover:#E5BF2F;--contact-text:#17202B;--max-width:1200px;--gutter:32px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--white);font-family:Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.9}h1,h2,h3,p,figure,ul,ol,dl,dd{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}button,select{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue-gray);outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}[hidden]{display:none!important}.container{width:calc(100% - var(--gutter)*2);max-width:var(--max-width);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:0;left:12px;transform:translateY(-120%);z-index:10;background:var(--white);color:var(--ink);padding:10px}.skip-link:focus{transform:none}
/* 2. Header */
.site-header{background:var(--navy);color:var(--white);position:relative;z-index:2}.header-inner{min-height:90px;display:flex;align-items:center;gap:34px}.brand{display:block;flex-shrink:0;width:288px}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;justify-content:space-between;flex:1;gap:28px;margin-left:78px;font-size:13px;white-space:nowrap}.header-controls{display:flex;align-items:center;margin-left:38px}.header-controls select{color:var(--white);background:var(--navy);border:1px solid var(--blue-gray);border-radius:0;width:90px;height:34px;padding:0 12px;font-size:12px;font-weight:700}.header-controls option{background:var(--navy)}.header-contact{display:flex;align-items:center;border:1px solid var(--blue-gray-light);min-height:46px;min-width:210px;padding:0 18px;font-weight:700;font-size:14px}.menu-toggle{display:none}.mobile-nav{padding:12px 22px 24px;border-top:1px solid var(--blue-gray)}.mobile-nav a{display:block;padding:10px 0;border-bottom:1px solid var(--navy-secondary)}
/* 3. Shared sections and placeholders */
.section{padding:110px 0}.gray{background:var(--gray)}.pale{background:var(--pale)}.dark{background:var(--navy);color:var(--white)}.eyebrow{font-size:14px;font-weight:700;line-height:1.5;color:var(--blue-gray);margin-bottom:40px}.dark .eyebrow,.hero .eyebrow{color:var(--blue-gray-light)}h2{font-size:38px;line-height:1.45;font-weight:700;margin-bottom:42px}h3{font-size:21px;line-height:1.6}p{color:var(--muted)}.dark p,.hero p{color:inherit}.intro{font-size:18px;margin-bottom:34px}.note{font-size:13px;line-height:1.8;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:14px 30px;border-radius:3px;background:var(--white);color:var(--navy-secondary);font-size:14px;font-weight:700;text-align:center}.button:hover{background:var(--blue-gray-light);text-decoration:none}.placeholder{position:relative;overflow:hidden;background:var(--blue-gray-light);border:1px solid var(--line);border-radius:3px;min-width:0}.placeholder img{width:100%;height:100%;object-fit:cover;background:var(--blue-gray-light)}.placeholder figcaption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:20px;color:var(--navy-secondary);gap:6px;font-size:16px;font-weight:700}.placeholder figcaption span:first-child{position:absolute;top:20px;left:22px;font-size:13px;font-weight:400}.product-grid .placeholder{border-radius:0}.product-grid .placeholder figcaption span:first-child{position:static}
/* 4. Hero and about */
.hero{background:var(--hero-background);color:var(--white);padding:66px 0 104px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}.hero .eyebrow{margin-bottom:34px}.hero h1{font-size:48px;line-height:1.5;letter-spacing:-.035em;margin-bottom:32px}.hero-description{font-size:18px;line-height:1.95;margin-bottom:30px}.hero-image{height:540px}.about-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:66px;align-items:start}.about-grid h3{margin-bottom:30px}.about-grid p{font-size:18px;margin-bottom:30px}.factory{height:456px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:510px}.stats>div{background:var(--gray);padding:16px 20px;display:flex;flex-direction:column}.stats strong{font-size:44px;line-height:1.4}.stats span{font-size:14px;color:var(--muted)}
/* 5. Strengths, products, OEM and flow */
.strength-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 26px}.card{background:var(--white);padding:34px 36px}.card-number{color:var(--blue-gray);font-size:30px;font-weight:bold;line-height:1.5;margin-bottom:20px}.card h3{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}.card p:last-child{font-size:16px;line-height:1.9}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.product-grid .placeholder{height:210px}.product-category{color:var(--blue-gray);font-size:12px;font-weight:700;margin:14px 0}.product-grid h3{font-size:20px}.oem-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px 50px}.oem-copy h3{font-size:24px;margin-bottom:26px}.oem-copy p+p{margin-top:30px}.oem-industries{grid-column:2;grid-row:1 / 3}.oem-industries h3{font-size:20px;margin-bottom:18px}.oem-industries ul{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;list-style:none;padding:0}.oem-industries li{background:var(--navy-secondary);padding:24px 20px;font-size:15px;display:flex;align-items:center;min-height:76px}.flow-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;align-items:start}.flow-grid .card{padding:28px 30px}.step{color:var(--blue-gray);font-size:14px;font-weight:700;margin-bottom:16px}.flow-grid h3{font-size:20px;padding-bottom:16px;margin-bottom:16px}
/* 6. FAQ, contact, company */
.faq-list{margin-top:60px}.faq-item{display:grid;grid-template-columns:84px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.faq-number{font-size:20px;font-weight:700;color:var(--blue-gray)}.faq-item h3{font-size:20px;margin-bottom:18px}.faq-item p{font-size:16px}.contact-grid{display:grid;grid-template-columns:.8fr 1fr;gap:55px;align-items:start}.contact-copy>p{font-size:18px}.contact-advice{padding:22px;background:var(--gray);margin-top:28px;max-width:425px}.contact-advice h3{font-size:17px;margin-bottom:12px}.contact-advice ul{padding-left:1em;font-size:14px;color:var(--muted)}form{padding:34px;background:var(--gray)}.field{margin-bottom:18px}.field label{display:block;font-size:15px;font-weight:700;margin-bottom:7px}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:15px 18px;background:var(--white);color:var(--ink);font-size:16px;line-height:1.5;min-width:0}.field textarea{resize:vertical;min-height:145px}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}form .note{margin:16px 0}.submit-button{width:100%;border:0;padding:20px 12px;background:var(--navy);color:var(--white);font-weight:700;cursor:not-allowed;opacity:1}.company-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:66px}.company-grid dl>div{display:grid;grid-template-columns:145px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:17px 0;font-size:15px}.company-grid dt{font-weight:700}.company-grid dd{color:var(--muted)}.company-image{height:436px}
/* 7. Footer */
.site-footer{background:var(--navy-secondary);color:var(--white);padding:66px 0}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-top p{font-size:12px;color:var(--blue-gray-light);margin-top:18px}.footer-top nav{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;align-items:start}.footer-top nav a+a:before{content:'/';margin-right:22px;color:var(--blue-gray)}.copyright{font-size:12px;color:var(--blue-gray-light);margin-top:28px}.preview-notice{font-size:11px;color:var(--blue-gray-light);margin-top:10px}
/* 8. Tablet */
@media(max-width:1250px){.desktop-nav{margin-left:0;gap:16px}.header-inner{gap:22px}.header-controls{margin-left:0}.header-contact{min-width:155px}.brand{width:230px}.hero h1{font-size:clamp(32px,3.35vw,48px)}.hero-grid{gap:32px}.about-grid,.company-grid{gap:40px}.stats strong{font-size:36px}}
@media(max-width:1000px){.desktop-nav,.header-contact{display:none}.header-inner{justify-content:space-between}.header-controls{margin-left:auto}.menu-toggle{display:block;color:var(--white);background:transparent;border:1px solid var(--blue-gray);border-left:0;height:34px;padding:0 12px;font-size:12px;font-weight:700}.header-controls select{width:70px}.hero-image{height:430px}.hero-description{font-size:16px}.section{padding:80px 0}h2{font-size:32px}.about-grid,.contact-grid,.company-grid{gap:30px}.stats{gap:10px}.stats>div{padding:14px}.stats strong{font-size:30px}.card{padding:26px}.oem-grid{gap:24px}.oem-industries ul{grid-template-columns:1fr}.oem-industries li{padding:16px}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{gap:22px}.product-grid h3{font-size:18px}.footer-top{flex-direction:column}.company-grid dl>div{grid-template-columns:1fr;gap:4px}}
/* 9. Mobile */
@media(max-width:640px){:root{--gutter:22px}body{font-size:14px;line-height:1.95}.header-inner{min-height:68px;gap:12px}.brand{width:140px}.header-controls select{width:62px;height:32px;padding-left:9px}.menu-toggle{height:32px;padding:0 9px}.hero{padding:0 0 40px}.hero-grid{display:flex;flex-direction:column;gap:24px}.hero-image{order:-1;width:100%;height:310px;border-radius:0}.hero-copy{width:100%}.hero .eyebrow{font-size:11px;margin-bottom:28px}.desktop-only{display:none}.hero h1{font-size:40px;line-height:1.4;letter-spacing:0;margin-bottom:30px;overflow-wrap:anywhere}.hero-description{font-size:14px;line-height:2.05;margin-bottom:26px}.hero-description span{display:block}.hero .button{width:100%}.button{min-height:60px;padding:14px 16px;font-size:13px}.section{padding:58px 0}.eyebrow{font-size:11px;margin-bottom:26px}h2{font-size:27px;line-height:1.55;margin-bottom:28px}h3{font-size:18px}.about-grid,.company-grid,.contact-grid{grid-template-columns:1fr;gap:24px}.about-grid h3{font-size:18px;margin-bottom:26px}.about-grid p{font-size:14px;margin-bottom:26px}.factory{height:250px;border-radius:0}.stats{max-width:none;gap:10px}.stats>div{padding:16px}.stats strong{font-size:34px;white-space:nowrap}.stats>div:nth-child(2) strong{font-size:30px}.stats span{font-size:12px}.placeholder figcaption{font-size:12px;font-weight:500;padding:16px}.placeholder figcaption span:first-child{position:static;font-size:11px}.strength-grid{grid-template-columns:1fr;gap:16px}.card{padding:22px}.card-number{font-size:24px;margin-bottom:10px}.card h3{font-size:18px;padding-bottom:12px;margin-bottom:14px}.card p:last-child{font-size:14px}.intro{font-size:14px;line-height:1.95;margin-bottom:20px}.product-grid{grid-template-columns:1fr;gap:22px}.product-grid .placeholder{height:190px}.product-category{font-size:11px;margin:8px 0}.product-grid h3{font-size:18px}.note{font-size:11px;margin-top:24px}.oem-grid{display:flex;flex-direction:column;gap:28px}.oem-copy h3{font-size:20px;margin-bottom:24px}.oem-copy p+p{margin-top:26px}.oem-industries h3{font-size:18px;margin-bottom:20px}.oem-industries ul{gap:22px}.oem-industries li{padding:16px;font-size:14px;min-height:56px}.oem-cta .button{width:100%}.flow-grid{grid-template-columns:1fr;gap:18px}.flow-grid .card{padding:20px}.step{font-size:11px;margin-bottom:10px}.flow-grid h3{font-size:18px;padding-bottom:0;border-bottom:0;margin-bottom:12px}.faq-list{margin-top:0}.faq-item{display:block;padding:20px 0}.faq-item:first-child{padding-top:0}.faq-number{display:block;font-size:12px;margin-bottom:10px}.faq-item h3{font-size:18px;line-height:1.6;margin-bottom:14px}.faq-item p{font-size:14px}.contact-copy>p{font-size:14px}.contact-advice{display:none}form{padding:16px}.field{margin-bottom:16px}.field label{font-size:14px;margin-bottom:6px}.field input,.field textarea{padding:14px 12px;font-size:16px}.submit-button{font-size:14px}.company-grid dl>div{font-size:14px;padding:16px 0;gap:3px}.company-grid dl>div:first-child{padding-top:0}.company-image{height:255px;border-radius:0}.site-footer{padding:48px 0}.site-footer .brand{width:220px}.footer-top nav{gap:12px;font-size:10px}.footer-top nav a+a:before{margin-right:12px}.footer-top p{font-size:10px}.copyright{font-size:10px}.preview-notice{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:640px){.mobile-break{display:block}}
@media(min-width:641px) and (max-width:1000px){.hero h1{font-size:26px;letter-spacing:-.04em}}

/* 10. Corporate UI refinement — shared tokens and clear content hierarchy */
:root{--header-height:88px}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.site-header{position:sticky;top:0;border-bottom:1px solid var(--navy-secondary);z-index:20}
.header-inner{min-height:var(--header-height);gap:24px}.header-inner .brand{width:240px}
.desktop-nav{margin-left:auto;gap:24px;font-size:13px;font-weight:700;flex:0 1 auto}.desktop-nav a{padding:28px 0;border-bottom:2px solid transparent}.desktop-nav a:hover{border-color:var(--white);text-decoration:none}.header-controls{margin-left:8px}.header-contact{background:var(--blue);border-color:var(--blue);min-width:170px;justify-content:center}
a.button,.header-contact,.product-link{transition:background-color var(--motion-duration) var(--motion-easing),color var(--motion-duration) var(--motion-easing),border-color var(--motion-duration) var(--motion-easing)}
.header-contact:hover{background:var(--white);color:var(--navy);text-decoration:none}
.hero{padding:64px 0 80px}.hero-grid{grid-template-columns:1fr 1.12fr;gap:40px;align-items:center}.hero-image{height:560px;border:0;border-radius:0}.hero h1{font-size:clamp(32px,3vw,44px);line-height:1.65;letter-spacing:-.04em}.hero .eyebrow{font-size:12px;letter-spacing:.1em}.hero-description{font-size:16px}.button{border-radius:0;gap:24px;min-height:64px;padding:18px 24px}.button:after{content:'>';font-size:20px}.button:hover{background:var(--blue);color:var(--white)}
.section{padding:100px 0}.eyebrow{display:flex;align-items:center;gap:14px;color:var(--blue);letter-spacing:.14em;font-size:12px;margin-bottom:22px}.eyebrow:before{content:'';display:block;width:32px;height:2px;background:currentColor;flex-shrink:0}h2{color:var(--navy);font-size:38px;margin-bottom:44px;letter-spacing:.015em}.dark h2{color:var(--white)}.intro{font-size:16px;max-width:800px}.about-grid p{font-size:16px}.about-grid{gap:64px}.factory{height:430px;border:0}.stats{max-width:none;gap:24px;margin-top:36px}.stats>div{background:transparent;border-top:2px solid var(--blue);padding:18px 0}.stats strong{font-size:64px;color:var(--blue);letter-spacing:-.055em;line-height:1.25;font-variant-numeric:tabular-nums}.stats span{margin-top:10px;color:var(--navy);font-size:13px}
.strength-grid{gap:24px}.card{border-top:2px solid var(--blue);padding:32px}.card-number{color:var(--blue);font-size:36px;font-weight:400}.card h3{color:var(--navy);font-size:20px}.card p:last-child{font-size:15px}.product-grid{gap:24px}.product-grid article{background:var(--white);border:1px solid var(--line);padding:16px 16px 0;display:flex;flex-direction:column}.product-grid .placeholder{height:250px;border:0}.product-category{color:var(--blue);letter-spacing:.12em;margin:24px 8px 8px}.product-grid h3{font-size:19px;color:var(--navy);margin:0 8px 24px}.product-link{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:18px 8px;margin-top:auto;font-size:13px;color:var(--blue);font-weight:700}.product-link:hover{background:var(--blue-gray-light);text-decoration:none}.oem-industries li{border-left:0}.flow-grid{gap:24px}.step{color:var(--blue);letter-spacing:.08em}.flow-grid .card{height:100%}.flow-grid{align-items:stretch}
#faq{background:var(--white)}.faq-list{margin-top:0;border-top:1px solid var(--line)}.faq-item{display:block;padding:0}.faq-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:64px 1fr 24px;gap:24px;align-items:start;padding:26px 0;font-size:18px;font-weight:700;color:var(--navy);line-height:1.7}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.faq-number{font-size:16px;color:var(--blue);margin:0}.faq-icon{color:var(--blue);font-size:24px;line-height:1.3;text-align:center}.faq-item[open] .faq-icon{transform:rotate(45deg)}.faq-item>p{padding:0 48px 26px 88px;font-size:15px}.faq-item summary:hover{color:var(--blue)}
#contact{background:var(--blue-gray-light)}#contact form{background:var(--white);padding:36px;border-top:3px solid var(--blue)}.contact-copy>p{font-size:16px}.contact-advice{background:var(--white);border-left:0}.field input,.field textarea{border-color:var(--blue-gray);font-size:16px}.submit-button{background:var(--navy-secondary)}.site-footer{background:var(--navy)}
@media(max-width:1250px){.desktop-nav{gap:16px}.header-inner{gap:16px}.header-inner .brand{width:210px}.header-contact{min-width:150px}.hero-grid{gap:28px}.stats strong{font-size:52px}}
@media(max-width:1000px){:root{--header-height:76px}.header-contact{display:flex;margin-left:0;min-width:150px}.menu-toggle{display:flex;align-items:center;gap:8px;height:40px}.header-controls select{height:40px}.menu-icon{display:block;width:18px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.menu-icon:after{content:'';position:absolute;top:4px;left:0;width:18px;border-top:2px solid currentColor}.menu-toggle[aria-expanded=true] .menu-icon{border-bottom:0;transform:rotate(45deg);height:0}.menu-toggle[aria-expanded=true] .menu-icon:after{top:-2px;transform:rotate(90deg)}.mobile-nav{max-height:calc(100dvh - var(--header-height));overflow-y:auto}.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:28px}.hero-image{height:440px}.section{padding:76px 0}.about-grid{gap:30px}.stats strong{font-size:40px}.stats{gap:16px}.product-grid h3{font-size:17px}.product-grid .placeholder{height:190px}.product-link{font-size:12px}.product-grid{gap:16px}.product-grid article{padding:12px 12px 0}}
@media(max-width:640px){:root{--header-height:68px}.header-inner .brand{width:144px}.header-inner{gap:8px}.header-controls{margin-left:auto}.header-controls select{width:54px}.menu-toggle{padding:0 9px}.menu-text{font-size:10px}.header-contact{display:none}.hero{padding:0 0 44px}.hero-grid{gap:28px}.hero-image{height:300px;width:100%}.hero h1{font-size:34px;line-height:1.55;letter-spacing:0}.hero .eyebrow{font-size:10px;letter-spacing:.03em;gap:8px}.hero .eyebrow:before{width:20px}.hero-description{font-size:14px}.button{width:100%;font-size:12px;gap:10px;padding:16px;min-height:60px}.section{padding:60px 0}.eyebrow{font-size:11px;margin-bottom:18px}h2{font-size:26px;margin-bottom:30px}.about-grid p{font-size:14px}.stats strong,.stats>div:nth-child(2) strong{font-size:39px}.stats{gap:20px;margin-top:28px}.stats span{font-size:11px}.stats>div{padding:18px 0}.factory{height:250px}.card{padding:24px}.card-number{font-size:30px}.card h3{font-size:18px}.product-grid{gap:24px}.product-grid article{padding:16px 16px 0}.product-grid .placeholder{height:220px}.product-grid h3{font-size:18px}.product-category{margin-top:18px}.product-link{font-size:13px}.faq-item:first-child{padding:0}.faq-item summary{grid-template-columns:34px 1fr 18px;gap:12px;font-size:16px;padding:22px 0}.faq-number{font-size:12px;padding-top:3px}.faq-item>p{padding:0 0 22px 46px;font-size:14px}.contact-copy>p{font-size:14px}#contact form{padding:20px}.contact-advice{display:block}.contact-advice h3{font-size:16px}.footer-top nav{row-gap:16px}}
@media(prefers-reduced-motion:reduce){a.button,.header-contact,.product-link{transition:none}}
@media(min-width:641px) and (max-width:850px){.hero h1{font-size:24px}}
@media(max-width:640px){.header-controls select{width:62px}}

/* Primary contact actions use the yellow brand accent. */

.button,.header-contact{background:var(--contact);color:var(--contact-text);border-color:var(--contact)}
.button:hover,.header-contact:hover{background:var(--contact-hover);color:var(--contact-text);border-color:var(--contact-hover)}
.product-link,.product-link span{color:var(--blue)}

/* Production flow: cards connected in reading order. */
.flow-chart{--flow-gap:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:88px var(--flow-gap);align-items:stretch}
.flow-chart .card{position:relative;padding:28px 30px;background:var(--white);border:1px solid var(--line);border-radius:8px;height:100%}
.flow-chart .step{margin-bottom:16px;color:var(--blue);font-size:14px;font-weight:700}
.flow-chart h3{font-size:20px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.flow-chart .card:not(:last-child)::after{content:'';position:absolute;left:calc(100% + 18px);top:50%;transform:translateY(-50%);border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:12px solid var(--blue);}
.flow-chart .card:nth-child(3)::before{content:'';position:absolute;top:100%;right:50%;width:calc(200% + var(--flow-gap)*2 + 2px);height:44px;border-right:2px dotted var(--blue-gray);border-bottom:2px dotted var(--blue-gray);pointer-events:none}
.flow-chart .card:nth-child(4)::before{content:'';position:absolute;bottom:calc(100% + 20px);left:50%;height:24px;border-left:2px dotted var(--blue-gray)}
.flow-chart .card:nth-child(3)::after{left:calc(-150% - var(--flow-gap)*2 - 10px);top:calc(100% + 66px);transform:none;border-left:10px solid transparent;border-right:10px solid transparent;border-top:12px solid var(--blue);border-bottom:0}
@media(max-width:1000px) and (min-width:641px){.flow-chart{--flow-gap:34px}.flow-chart .card{padding:22px 18px}.flow-chart h3{font-size:17px}.flow-chart .card p:last-child{font-size:14px}.flow-chart .card:not(:last-child)::after{left:calc(100% + 11px);border-left-width:10px}.flow-chart .card:nth-child(3)::after{left:calc(-150% - var(--flow-gap)*2 - 10px);border-left-width:10px}}
@media(max-width:640px){.flow-chart{grid-template-columns:1fr;gap:48px}.flow-chart .card{padding:24px}.flow-chart h3{font-size:18px}.flow-chart .card:nth-child(3)::before,.flow-chart .card:nth-child(4)::before{display:none}.flow-chart .card:not(:last-child)::after{left:50%;top:calc(100% + 18px);transform:translateX(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-top:12px solid var(--blue);border-bottom:0}}

/* Product copy: consistent spacing beneath the images and headings. */
.product-grid h3{margin:0 8px 16px;line-height:1.65}
.product-description{margin:0 8px 28px;font-size:15px;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:1000px){.product-description{font-size:14px;margin-inline:4px}.product-grid h3{margin-inline:4px}}
@media(max-width:640px){.product-grid h3{margin:0 8px 12px}.product-description{margin:0 8px 24px;font-size:14px;line-height:1.95}}

/* Company information, factory photos and access map. */
.company-grid{align-items:start}
.company-address{display:block}.company-address+.company-address{margin-top:16px}
.company-photos{display:grid;grid-template-columns:1fr;gap:24px;min-width:0}
.company-photo{aspect-ratio:16/9;border:0}.company-photo img{height:100%}
.company-photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;color:var(--navy)}
.company-photo-placeholder span:first-child{font-size:10px;letter-spacing:.06em}.company-photo-placeholder span:last-child{font-size:14px;font-weight:700}
.company-photos figcaption{margin-top:12px;color:var(--navy);font-size:14px;font-weight:700}
.company-map{margin-top:48px}.company-map h3{margin-bottom:8px}.company-map>p{font-size:14px;margin-bottom:20px}.company-map iframe{display:block;width:100%;height:360px;border:1px solid var(--line);background:var(--white)}
.map-link{display:inline-block;margin-top:14px;font-size:13px;color:var(--blue)}
@media(max-width:1000px){.company-photos{grid-template-columns:1fr}.company-photo{aspect-ratio:16/9}}
@media(max-width:640px){.company-photos{gap:24px}.company-photo{aspect-ratio:4/3}.company-photo-placeholder span:last-child{font-size:16px}.company-map{margin-top:32px}.company-map iframe{height:300px}}

/* Shared motion: gradual acceleration and a soft, lingering finish. */
:root{--motion-duration:600ms;--motion-easing:cubic-bezier(.22,1,.36,1)}
.button,.header-contact,.product-link,.map-link,.desktop-nav a,.mobile-nav a,.footer-top a,.menu-toggle, .faq-item summary{transition:background-color var(--motion-duration) var(--motion-easing),color var(--motion-duration) var(--motion-easing),border-color var(--motion-duration) var(--motion-easing)}
.faq-icon{transition:transform var(--motion-duration) var(--motion-easing)}
.skip-link{transition:transform var(--motion-duration) var(--motion-easing)}
@media(max-width:1000px){
.menu-icon,.menu-toggle[aria-expanded=true] .menu-icon{height:12px;border:0;transform:none;position:relative}
.menu-icon::before,.menu-icon::after{content:'';position:absolute;left:0;width:18px;height:2px;background:currentColor;border:0;transform-origin:center;transition:transform var(--motion-duration) var(--motion-easing)}
.menu-icon::before{top:0}.menu-icon::after{top:10px}
.menu-toggle[aria-expanded=true] .menu-icon::before{transform:translateY(5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon::after{top:10px;transform:translateY(-5px) rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.button,.header-contact,.product-link,.map-link,.desktop-nav a,.mobile-nav a,.footer-top a,.menu-toggle,.faq-item summary,.faq-icon,.skip-link,.menu-icon::before,.menu-icon::after{transition:none}
}
