/* ==========================================================================
   ILLUVATION · Unified Site Design
   One semantic design layer over reset.css, variables.css, main.css and
   page-specific structural CSS.
   ========================================================================== */

:root{
  --color-corporate-navy:#151B2A;--color-navy-dark:#0B1220;--color-illuvation-blue:#0047C1;--color-electric-blue:#0052DC;--color-cloud-white:#F7F9FD;--color-text-heading:#151B2A;--color-text-body:#455064;--color-text-muted:#687386;--color-border:#DCE2EC;--color-white:#FFF;
  --font-family-sans:'Pretendard',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-mono:'Pretendard',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--container-max-width:1280px;--container-padding:24px;--header-height:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;
}
html,body{overflow-x:hidden}html{scroll-behavior:smooth}body{background:#FAFBFD;color:var(--color-text-body);font-family:var(--font-family-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#DBE1FF;color:#00174B}h1,h2,h3,h4,h5,h6{color:var(--color-text-heading);font-family:var(--font-family-sans);letter-spacing:-.03em}h1,h2{font-weight:700}h3,h4{font-weight:600}p{color:var(--color-text-body);line-height:1.72}.container{max-width:1280px}.section-padding{padding-top:100px!important;padding-bottom:100px!important}.reader-section{padding-top:92px!important;padding-bottom:92px!important}.section-intro,.intro{max-width:900px;margin-bottom:42px!important}.section-intro h2,.intro h2,.reader-title{max-width:860px;line-height:1.14!important;letter-spacing:-.035em!important;text-wrap:balance}.section-intro p,.intro p,.reader-lead{max-width:780px;color:var(--color-text-body)!important}.section-tag,.section-kicker,.kicker,.eyebrow,.company-kicker,.tech-kicker,.af-kicker,.product-kicker,.reader-kicker,[class*="-kicker"]{font-family:var(--font-family-mono);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--color-illuvation-blue)}main>section{position:relative;overflow:hidden}main img{max-width:100%}

/* Navigation */
.site-header,.site-header.scrolled{height:64px;background:rgba(250,251,253,.96)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,27,43,.09)!important;box-shadow:none!important;position:sticky!important;top:0!important;z-index:1000!important}.header-container{max-width:1280px;min-height:64px;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:12px!important}.brand-logo{gap:8px;flex-shrink:0!important}.logo-symbol-img{width:28px;height:28px;border-radius:4px}.logo-brand{color:#0047C1;font-size:1.02rem;line-height:1;font-weight:700;letter-spacing:-.03em;white-space:nowrap!important}.logo-tagline{display:none}.main-nav{gap:14px;display:flex;align-items:center}.nav-list{gap:2px;display:flex;align-items:center}.nav-link{padding:21px 10px 19px;border-radius:0;font-size:var(--type-small-size);line-height:1;font-weight:500;color:#151B2A;border-bottom:2px solid transparent;background:transparent;white-space:nowrap!important}.nav-link:hover,.nav-link.active,.nav-link.highlight,.nav-link.highlight.active{color:#0047C1;background:transparent;border-bottom-color:#0047C1}.dropdown-menu{top:calc(100% + 1px);min-width:260px;padding:8px;border:1px solid var(--color-border);border-radius:10px!important;box-shadow:0 16px 36px rgba(20,32,55,.10)!important;background:rgba(255,255,255,.99)}.dropdown-item{padding:11px 12px;border-radius:5px}.dropdown-item:hover{background:#F1F3FF}.dropdown-item-title{font-size:var(--type-small-size);font-weight:600}.dropdown-item-desc{font-size:.7rem;line-height:1.5}.dropdown-service-item{margin-top:8px!important;padding-top:14px!important;border-top:1px solid #E1E6EF!important}.dropdown-service-item .dropdown-item-title::before{content:'SERVICE';display:block;margin-bottom:4px;color:#7A8496;font-family:var(--font-family-mono);font-size:.58rem;font-weight:700;letter-spacing:.08em}.header-cta{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important}.header-cta .btn{min-width:88px;min-height:34px;padding:8px 12px;border-radius:6px!important;box-shadow:none!important;white-space:nowrap!important}.header-cta .btn.active{outline:2px solid rgba(0,71,193,.15);outline-offset:2px}.mobile-toggle{width:34px;height:34px;display:none}
.lang-dropdown{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.lang-switcher.is-open .lang-dropdown{display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}

/* Buttons */
.btn{min-height:42px;padding:10px 18px;border-radius:6px!important;font-family:var(--font-family-sans);font-size:var(--type-small-size);font-weight:600;box-shadow:none!important;transform:none!important;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.btn-primary,.btn-cyan{background:#0047C1!important;border:1px solid #0047C1!important;color:#FFF!important}.btn-primary:hover,.btn-cyan:hover{background:#003DA9!important;border-color:#003DA9!important;color:#FFF!important}.btn-secondary{background:transparent;color:#0047C1;border:1px solid #0047C1}.btn-secondary:hover{background:#F1F3FF;color:#003DA9;border-color:#003DA9}.btn-outline-white{background:#FFF;color:#151B2A;border:1px solid #AEB8D0}.btn-outline-white:hover{background:#F1F3FF;color:#003DA9;border-color:#003DA9}.btn-white{background:#FFF;color:#0047C1;border:1px solid #FFF}.text-link{color:#0047C1;font-weight:600;text-decoration:none}.text-link:hover{color:#003DA9}

/* Shared light heroes */
.company-hero,.tech-hero,.af-hero,.product-hero,.history-hero,.contact-hero,.evidence-hero,.case-hero,.service-hero,.solution-hero,.tech-evidence-hero{background:linear-gradient(180deg,#FAFBFF 0%,#F7F9FD 100%)!important;color:#151B2A!important;border-bottom:1px solid var(--color-border)!important}.company-hero,.tech-hero,.af-hero,.product-hero,.evidence-hero,.case-hero,.service-hero,.solution-hero,.tech-evidence-hero{padding-top:96px!important;padding-bottom:82px!important}.history-hero,.contact-hero{padding-top:96px!important;padding-bottom:78px!important}.company-hero h1,.tech-hero h1,.af-hero h1,.product-hero h1,.history-hero h1,.contact-hero h1,.evidence-hero h1,.case-hero h1,.service-hero h1,.solution-hero h1,.tech-evidence-hero h1{color:#151B2A!important;line-height:.96!important}.company-lead,.tech-hero .lead,.af-lead,.product-hero .lead,.history-hero p,.contact-hero .lead,.evidence-hero p,.case-hero .lead,.service-hero .hero-lead,.solution-lead,.tech-evidence-hero .hero-lead{color:#455064!important}.company-thesis,.solution-kicker,.hero-sub,.history-hero .section-tag,.history-hero .thesis,.contact-hero .sub,.tech-hero .thesis,.tech-evidence-hero .hero-sub,.case-hero .kicker,.product-hero .hero-product-desc,.tech-hero > .container > p[style*="color:#38BDF8"],.product-hero .product-hero-grid > div > p[style*="color:#38BDF8"]{color:#0047C1!important}.af-lead strong,.af-hero .af-lead strong,.solution-hero .solution-lead strong{color:#151B2A!important}.af-formula > small,.af-formula small{color:#0047C1!important}.af-formula .formula-row b{color:#151B2A!important}.af-formula .formula-row span{color:#0047C1!important}.hero-aside,.af-formula,.hero-facts,.hero-count,.count-grid{border-color:var(--color-border)!important;background:#FFF!important;color:#151B2A!important;box-shadow:none!important}.hero-aside strong,.af-formula strong,.hero-facts strong,.hero-count strong,.count-grid strong{color:#151B2A!important}.hero-aside p,.af-formula p,.hero-facts span,.hero-count span,.count-grid span{color:#687386!important}.evidence-hero-grid,.case-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:64px;align-items:end}.service-hero{min-height:520px;display:flex;align-items:center}.service-hero h1{font-size:clamp(3.6rem,7vw,6.2rem);margin:18px 0 10px}.service-hero .hero-product-desc{font-size:clamp(1.3rem,2vw,1.7rem);color:#0047C1;font-weight:600}.service-hero .hero-lead{max-width:800px;margin-top:18px}.service-hero .hero-actions{margin-top:28px}

/* HOME */
.home-product-hero{min-height:auto!important;padding:52px 0 48px!important;background:linear-gradient(180deg,#FAFBFF 0%,#F4F7FC 100%)!important;border-bottom:1px solid var(--color-border)!important}.home-product-hero::before,.home-product-hero::after{display:none!important}.home-product-hero .hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;gap:clamp(24px,3.5vw,42px)!important;align-items:center!important}.home-product-hero .hero-copy{max-width:620px}.home-product-hero .eyebrow{padding:0!important;border:0!important;background:transparent!important;font-size:.75rem!important;letter-spacing:.08em!important;color:#0047C1!important}.home-product-hero .hero-brand-slogan{margin:4px 0 8px!important;font-size:.86rem!important;letter-spacing:.06em!important}.home-product-hero h1{color:#151B2A!important;line-height:.95!important;margin-bottom:4px!important}.home-product-hero .hero-product-desc{margin-top:8px!important;margin-bottom:8px!important;font-size:clamp(1.2rem,1.8vw,1.55rem)!important;font-weight:700!important;color:#0047C1!important;letter-spacing:-.02em!important}.home-product-hero .hero-lead{margin-top:8px!important;max-width:620px!important;color:#475569!important;font-size:1rem!important;line-height:1.68!important;word-break:keep-all!important}.home-product-hero .hero-actions{margin-top:18px!important;display:flex!important;gap:10px!important;align-items:center!important}.home-product-hero .hero-actions .btn{padding:10px 20px!important;font-size:.92rem!important;font-weight:700!important;border-radius:6px!important}.hero-specs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:22px!important;border:0!important;padding:0!important}.hero-specs div{display:flex!important;flex-direction:column!important;justify-content:center!important;padding:13px 18px!important;background:#FFF!important;border:1px solid #E2E8F0!important;border-radius:10px!important;box-shadow:0 2px 6px rgba(15,23,42,.04)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}.hero-specs div:hover{transform:translateY(-2px)!important;box-shadow:0 6px 14px rgba(0,71,193,.08)!important;border-color:#C7D7FE!important}.hero-specs span{display:block!important;margin-bottom:2px!important;color:#475569!important;font-family:var(--font-family-sans)!important;font-size:.84rem!important;font-weight:700!important;letter-spacing:-.01em!important;text-transform:none!important;line-height:1.3!important}.hero-specs strong{display:block!important;color:#0047C1!important;font-size:clamp(1.4rem,2.1vw,1.8rem)!important;font-weight:800!important;line-height:1.15!important;letter-spacing:-.02em!important}.hero-product-stage{padding:16px!important;border:1px solid rgba(226,232,240,.9)!important;border-radius:18px!important;background:radial-gradient(circle at 50% 50%,rgba(21,94,239,.06) 0%,rgba(248,250,252,.85) 60%,#FFF 100%)!important;box-shadow:0 16px 36px -12px rgba(15,23,42,.08),0 0 0 1px rgba(226,232,240,.6)!important;width:100%!important}.home-product-hero .hero-product-visual{min-height:330px!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important}.home-product-hero .hero-product-visual::before,.home-product-hero .hero-product-visual::after,.home-product-hero .hero-product-visual figcaption{display:none!important}.home-product-hero .hero-product-visual img{width:100%!important;height:auto!important;max-height:380px!important;object-fit:contain!important;transform:none!important;filter:drop-shadow(0 16px 22px rgba(15,23,42,.13))!important}.home-company-bridge{padding:76px 0 80px;background:#FFF;border-bottom:1px solid var(--color-border)}.home-company-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(44px,7vw,92px);align-items:end}.home-company-intro h2{max-width:720px;margin-top:10px;font-size:clamp(2rem,3.8vw,3.05rem);line-height:1.16}.home-company-intro p{max-width:560px;margin:0;color:#596579}.home-research-flow{margin-top:38px}.home-research-foundation{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:28px;align-items:center;padding:28px 30px;border:1px solid #D9DFEA;border-radius:10px;background:#F7F9FD}.home-research-foundation small,.home-company-map small{display:block;color:#0047C1;font-family:var(--font-family-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em}.home-research-foundation h3{margin:8px 0 0;font-size:clamp(1.35rem,2.3vw,1.9rem)}.home-research-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid #D9DFEA}.home-research-nodes span{padding:8px 18px;color:#596579;font-size:var(--type-small-size);line-height:1.55}.home-research-nodes span+span{border-left:1px solid #E3E8F0}.home-research-nodes b{display:block;margin-bottom:4px;color:#151B2A;font-family:var(--font-family-mono);font-size:.66rem;letter-spacing:.06em}.home-research-arrow{display:flex;align-items:center;justify-content:center;height:34px;color:#7A8496;font-size:1.15rem}.home-company-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #D9DFEA;border-radius:10px;overflow:hidden}.home-company-map article{padding:24px;border-right:1px solid #D9DFEA;background:#FFF}.home-company-map article:last-child{border-right:0}.home-company-map strong{display:block;margin-top:8px;line-height:1.5}.home-pivot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.home-pivot-grid article{padding:24px;border:1px solid var(--color-border);border-radius:10px;background:#FFF}.home-pivot-grid small{display:block;color:#0047C1;font-family:var(--font-family-mono);font-size:.68rem;font-weight:700;margin-bottom:9px}.home-pivot-grid strong{display:block;color:#151B2A;margin-bottom:8px}.home-pivot-grid span{display:block;color:#687386;font-size:var(--type-small-size);line-height:1.6}.home-pivot-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}

/* Cards and system diagrams */
.proof-grid,.evidence-grid,.business-model,.reader-grid{gap:16px!important;background:transparent!important;border:0!important}.proof-grid article,.evidence-link,.evidence-item,.business-model article,.reader-card,.asset-group,.mode,.deploy article,.weight-evidence,.vertical,.partner-item,.feature-item,.ppc-node,.architecture article{border:1px solid var(--color-border)!important;border-radius:10px!important;background:#FFF!important;box-shadow:none!important}.proof-grid article,.evidence-link,.evidence-item,.business-model article,.reader-card,.asset-group,.mode,.deploy article,.weight-evidence,.vertical,.partner-item,.feature-item,.ppc-node,.architecture article{padding:28px!important}.proof-grid article:hover,.evidence-link:hover,.evidence-item:hover,.business-model article:hover,.reader-card:hover{border-color:#8EA8E8!important}.reader-card small,.proof-grid small,.evidence-link small,.business-model small,.asset-group>small,.mode small,.deploy small,.process small{font-family:var(--font-family-mono);color:#0047C1}.reader-card h3{color:#151B2A}.reader-card p{color:#687386}.reader-table-wrap{border:1px solid var(--color-border)!important;border-radius:10px;overflow:auto}.reader-table th{background:#F1F3FF!important;color:#151B2A}.reader-step{border:1px solid var(--color-border)!important;border-top:3px solid #0047C1!important;border-radius:10px!important;background:#FFF!important}.reader-note{border-left:4px solid #0047C1!important;border-radius:8px;background:#F1F3FF!important}.need-conclusion{border-left-color:#B4C5FF!important;border-radius:8px!important}.ppc-flow,.architecture{gap:12px!important}.ppc-node,.architecture article{min-height:220px}.flow-arrow,.architecture .arrow{width:34px;justify-content:center;color:#737687}.process{gap:8px!important;border:0!important;background:transparent!important}.process div{border:1px solid var(--color-border)!important;border-radius:8px!important;background:#FFF}.vertical.farm,.partner-item.farm{border-top:4px solid #16A34A!important}.vertical.farm small,.partner-item.farm small{color:#15803D!important}.vertical.factory,.partner-item.factory{border-top:4px solid #F59E0B!important}.vertical.factory small,.partner-item.factory small{color:#B45309!important}.mode.agentic small{color:#4F46E5!important}.business-model{border:0!important}.milestone{border:1px solid var(--color-border)!important;border-radius:10px;background:#FFF}.evolution{gap:12px!important;border:0!important}.evolution div,.evolution article{border:1px solid var(--color-border)!important;border-radius:10px!important;background:#FFF!important;transform:none!important}.evolution div::before{display:none!important}

@media(max-width:1050px){:root{--container-padding:24px}.main-nav{position:fixed;top:64px;left:0;width:100%;height:calc(100vh - 64px);background:rgba(255,255,255,.98);flex-direction:column;align-items:flex-start;padding:24px;gap:12px;overflow-y:auto;transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility .2s ease;box-shadow:0 20px 40px rgba(0,0,0,.15);border-left:1px solid var(--color-border)}.main-nav.open{transform:translateX(0);visibility:visible;pointer-events:auto}.nav-list{flex-direction:column;align-items:flex-start;width:100%;gap:4px}.nav-item{width:100%}.nav-link{width:100%;padding:14px 0;border-bottom:1px solid var(--color-border);font-size:1.05rem}.dropdown-menu{position:static!important;box-shadow:none!important;border:0!important;background:#F8FAFC!important;transform:none!important;width:100%!important;padding:10px 14px!important;display:none}.dropdown-menu.mobile-active,.nav-item:focus-within .dropdown-menu{display:block}.mobile-toggle{display:flex!important}.header-cta{gap:6px}.header-cta .btn{min-width:76px;padding:7px 10px;font-size:.84rem}.mobile-lang-wrap{display:block!important}}
@media(max-width:1024px){.section-padding{padding-top:76px!important;padding-bottom:76px!important}.home-product-hero .hero-grid,.company-hero-grid,.product-hero-grid,.af-grid,.solution-hero-grid,.evidence-hero-grid,.case-hero-grid{grid-template-columns:1fr!important;gap:36px!important}.home-product-hero .hero-copy{max-width:100%!important}.hero-product-stage{max-width:620px!important;margin:0 auto!important}.home-product-hero .hero-product-visual{min-height:300px!important}.home-company-intro,.home-research-foundation{grid-template-columns:1fr;gap:20px}.home-research-nodes{border-left:0;border-top:1px solid #D9DFEA;padding-top:14px}.home-company-map{grid-template-columns:1fr}.home-company-map article{border-right:0;border-bottom:1px solid #D9DFEA}.home-company-map article:last-child{border-bottom:0}.home-pivot-grid{grid-template-columns:1fr 1fr}.ppc-flow,.architecture{grid-template-columns:1fr!important}.flow-arrow,.architecture .arrow{width:auto!important;min-height:28px;transform:none!important}.core-ip-grid{grid-template-columns:1fr}.product-trust-grid{grid-template-columns:1fr;gap:12px}.technical-glossary dl div{grid-template-columns:1fr;gap:5px}}
@media(max-width:680px){.home-product-hero{padding:42px 0 38px!important}.home-product-hero h1{color:#151B2A!important;line-height:.95!important}.hero-specs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.hero-specs div{padding:12px 14px!important}.hero-specs span{font-size:.76rem!important}.hero-specs strong{font-size:1.35rem!important}.home-product-hero .hero-product-visual{min-height:260px!important}.home-company-bridge{padding:58px 0 64px}.home-research-nodes{grid-template-columns:1fr}.home-research-nodes span{padding:10px 0}.home-research-nodes span+span{border-left:0;border-top:1px solid #E3E8F0}.home-pivot-grid{grid-template-columns:1fr}.service-hero h1,.company-hero h1,.tech-hero h1,.af-hero h1,.product-hero h1,.evidence-hero h1,.case-hero h1,.solution-hero h1,.tech-evidence-hero h1{border-bottom:1px solid var(--color-border)}}
/* Products */
.product-hero{background:linear-gradient(180deg,#FAFBFF 0%,#F4F7FC 100%)!important;border-bottom:1px solid var(--color-border)!important;padding:76px 0 64px!important}.product-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr)!important;gap:48px!important;align-items:center!important;margin-bottom:36px!important}.product-hero-copy{display:flex!important;flex-direction:column!important;justify-content:center!important}.product-hero .lead,.product-hero p,.product-hero h1,.product-hero-sub,.spec-card-text strong,.spec-card-text small{word-break:keep-all!important;overflow-wrap:break-word!important}.product-hero-visual-wrap{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important}.product-visual{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:360px!important;padding:36px 32px 20px!important;border:1px solid rgba(21,94,239,.18)!important;border-radius:20px!important;background:radial-gradient(circle at 50% 45%,rgba(21,94,239,.09) 0%,rgba(241,245,249,.85) 60%,#FFF 100%)!important;box-shadow:0 24px 50px -15px rgba(21,94,239,.12),0 0 0 1px rgba(226,232,240,.8)!important;position:relative!important;overflow:hidden!important;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)!important;margin:0!important}.product-visual:hover{transform:translateY(-4px)!important;box-shadow:0 32px 65px -15px rgba(21,94,239,.18),0 0 0 1px rgba(21,94,239,.3)!important}.product-visual img{width:auto!important;max-width:min(100%,460px)!important;max-height:280px!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 18px 28px rgba(15,23,42,.16))!important;transition:transform .35s cubic-bezier(.16,1,.3,1)!important}.product-visual:hover img{transform:scale(1.03)!important}.product-visual figcaption{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-top:16px!important;padding:6px 18px!important;background:#FFF!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:9999px!important;color:#334155!important;font-size:.8125rem!important;font-weight:700!important;letter-spacing:.03em!important;box-shadow:0 4px 12px rgba(15,23,42,.06)!important}.product-hero-spec-bar{background:#FFF!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:16px!important;padding:22px 26px!important;box-shadow:0 12px 32px -10px rgba(15,23,42,.06)!important}.spec-bar-header{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:16px!important;padding-bottom:12px!important;border-bottom:1px solid #F1F5F9!important}.spec-bar-kicker{font-size:.725rem!important;font-weight:800!important;color:#0047C1!important;letter-spacing:.08em!important;background:rgba(21,94,239,.08)!important;padding:4px 9px!important;border-radius:4px!important}.spec-bar-title{font-size:.95rem!important;font-weight:700!important;color:#0F172A!important}.spec-bar-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px!important}.spec-bar-card{display:flex!important;flex-direction:column!important;justify-content:center!important;padding:16px 18px!important;background:#F8FAFC!important;border:1px solid #0047C1!important;border-radius:8px!important;transition:all .2s ease!important}.spec-bar-card:hover{background:#FFF!important;box-shadow:0 8px 20px rgba(21,94,239,.12)!important;transform:translateY(-2px)!important}.spec-card-text{display:flex!important;flex-direction:column!important;gap:5px!important}.spec-card-text small{font-size:.725rem!important;font-weight:800!important;color:#0047C1!important;letter-spacing:.04em!important}.spec-card-text strong{font-size:.875rem!important;font-weight:700!important;color:#0F172A!important;line-height:1.4!important}@media(max-width:1024px){.spec-bar-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:768px){.product-hero-grid{grid-template-columns:1fr!important;gap:36px!important;margin-bottom:28px!important}.spec-bar-grid{grid-template-columns:1fr!important}.product-visual{min-height:280px!important;padding:28px 20px 16px!important}}.spec-highlight-grid{gap:0!important}.spec-highlight{border-color:var(--color-border)!important;background:#FFF}.measurement-shot,.tech-evidence-link{border-radius:10px!important;overflow:hidden}.product-trust-strip{padding:34px 0;background:#F7F9FD;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.product-trust-grid{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:40px;align-items:center}.product-trust-grid strong{display:block;margin-top:7px;color:#151B2A;font-size:1.25rem}.product-trust-grid p{margin:0;color:#596579}.tech-evidence-link{border:1px solid var(--color-border)!important;border-left:3px solid #0047C1!important}.product-list{gap:12px!important}.product-row{border:1px solid var(--color-border)!important;border-radius:12px!important;box-shadow:none!important}

/* Dark evidence / CTA */
.field,.case,.ir-band,.reader-dark,.inquiry{background:linear-gradient(135deg,#0A1322 0%,#0C1830 100%)!important;color:#FFF}.field h2,.case h2,.ir-band h2,.reader-dark .reader-title,.inquiry h2{color:#FFF!important}.field p,.case p,.ir-band p,.reader-dark .reader-lead,.inquiry p{color:#CBD5E1!important}.reader-dark .reader-kicker,.reader-dark .kicker,.reader-dark [class*="-kicker"]{color:#38BDF8!important}.viiew-family-proof .viiew-proof-note,.viiew-proof-note{color:#94A3B8!important;font-size:var(--type-small-size)!important;line-height:1.6!important;}section[style*="background:#0B1220"] .intro p,section[style*="background:#0B1220"] .section-intro p{color:#CBD5E1!important}.field .btn-outline-white,.case .btn-outline-white,.ir-band .btn-outline-white,.reader-dark .btn-outline-white,.inquiry .btn-outline-white{color:#FFF!important;border-color:rgba(255,255,255,.55)!important;background:transparent!important}.contact-band,.cta,.cta-band{background:linear-gradient(135deg,#E4E9FF,#F5F6FF 68%,#E8EDFF)!important;color:#151B2A!important;border-top:1px solid #CAD3EE!important;border-bottom:1px solid #CAD3EE!important}.contact-band h2,.cta h2,.cta-band h2{color:#151B2A!important}.contact-band p,.cta p,.cta-band p{color:#465166!important}.contact-band .section-kicker,.contact-band .kicker,.contact-band .section-tag,.cta .kicker,.cta-band .section-tag,.contact-band [style*="color:#DBEAFE"],.cta [style*="color:#DBEAFE"],.cta-band [style*="color:#DBEAFE"]{color:#0047C1!important}.contact-band .btn-white,.cta .btn-white,.cta-band .btn-white{background:#0047C1!important;border-color:#0047C1!important;color:#FFF!important}

/* Evidence and disclosure */
.evidence-context{margin:24px 0 0;padding:18px 20px;border-left:3px solid #0047C1;background:#F1F3FF;color:#455064;font-size:.9rem;line-height:1.7}.core-ip-section{border-bottom:1px solid var(--color-border)}.core-ip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.core-ip-grid article{padding:26px;border:1px solid var(--color-border);border-radius:10px;background:#FFF}.core-ip-grid small{display:block;color:#0047C1;font-family:var(--font-family-mono);font-size:.68rem;font-weight:700;margin-bottom:8px}.core-ip-grid strong{display:block;color:#151B2A;margin-bottom:8px}.core-ip-grid span{display:block;color:#687386;font-size:var(--type-small-size);line-height:1.6;line-height:1.6}.technical-glossary{border:1px solid var(--color-border);border-radius:10px;background:#FFF;overflow:hidden}.technical-glossary summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;cursor:pointer;list-style:none}.technical-glossary summary::-webkit-details-marker{display:none}.technical-glossary summary small{display:block;color:#0047C1;font-family:var(--font-family-mono);font-size:.68rem;font-weight:700;margin-bottom:5px}.technical-glossary summary strong{display:block;color:#151B2A;font-size:1.1rem}.technical-glossary-body{padding:0 26px 24px;border-top:1px solid var(--color-border)}.technical-glossary dl{margin:0}.technical-glossary dl div{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--color-border)}.technical-glossary dl div:last-child{border-bottom:0}.technical-glossary dt{font-weight:700;color:#151B2A}.technical-glossary dd{margin:0;color:#687386;line-height:1.65}

/* Contact */
.form-card,.info-panel{box-shadow:none!important}.form-card{border-radius:10px}.form-optional{margin-left:5px;color:#596579;font-size:.75rem;font-weight:500}.form-control{border-color:var(--color-border)!important}.route{background:#FFF}.contact-grid{gap:48px!important}

/* Footer */
.site-footer{background:#EEF1FA!important;color:#4E5A70!important;padding-top:64px;padding-bottom:32px;border-top:1px solid #D5DCEA!important}.footer-top{margin-bottom:48px}.site-footer .footer-brand .logo-brand{color:#0047C1!important}.site-footer .footer-col-title{color:#1A2233!important;font-weight:700}.site-footer .footer-nav-link,.site-footer .footer-nav-list a,.site-footer .footer-desc,.site-footer .footer-company-info,.site-footer .footer-company-info span,.site-footer .footer-legal-links,.site-footer .footer-legal-links span{color:#4E5A70!important}.site-footer .footer-nav-link:hover{color:#0047C1!important}.site-footer .footer-bottom{border-top-color:#C8D0DF!important}.footer-slogan{color:#151B2A!important;font-weight:600}.footer-social-btn{border-color:#C3C6D8!important;color:#434655!important}.footer-social-btn:hover{border-color:#0047C1!important;color:#0047C1!important;background:transparent!important}


.ip-heritage-intro{max-width:900px!important}.ip-heritage-intro h2{font-size:var(--type-section-title-size)!important;max-width:900px!important}.ip-heritage-stage{display:grid;grid-template-columns:minmax(260px,.64fr) minmax(0,1.36fr);gap:42px;margin-top:34px;padding:42px;border-radius:18px;background:#0B1220;box-shadow:0 24px 60px rgba(15,23,42,.12)}
.ip-heritage-copy{display:flex;flex-direction:column;justify-content:center}.ip-heritage-copy>small{color:#7DD3FC;font-family:var(--font-family-mono);font-size:.7rem;font-weight:700;letter-spacing:.09em}.ip-heritage-copy h3{margin:14px 0 8px;color:#FFF;font-size:var(--type-subsection-title-size);letter-spacing:-.04em}.ip-heritage-copy>strong{display:block;color:#BFDBFE;font-family:var(--font-family-mono);font-size:var(--type-small-size);line-height:1.65}.ip-heritage-copy p{margin-top:20px;color:#CBD5E1;line-height:1.78}.ip-heritage-note{margin-top:24px;padding-top:18px;border-top:1px solid #263248;color:#8FA0B8;font-size:var(--type-small-size);line-height:1.65}
.ip-feature-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ip-gallery-card{display:flex;min-width:0;flex-direction:column;appearance:none;padding:0;border:1px solid #DCE2EC;border-radius:12px;background:#FFF;color:#151B2A;text-align:left;font:inherit;overflow:hidden;cursor:pointer;box-shadow:0 10px 26px rgba(15,23,42,.05);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.ip-gallery-card:hover{transform:translateY(-4px);border-color:#9EB2DF;box-shadow:0 18px 40px rgba(15,23,42,.1)}.ip-gallery-card:focus-visible{outline:3px solid rgba(0,71,193,.28);outline-offset:3px}.ip-gallery-card--featured{border-color:#2A3952;box-shadow:0 16px 34px rgba(0,0,0,.18)}.ip-gallery-card--featured:hover{border-color:#7DD3FC;box-shadow:0 20px 46px rgba(0,0,0,.28)}
.ip-document-frame{position:relative;display:block;aspect-ratio:3/4;padding:16px;background:linear-gradient(145deg,#E9EDF3,#F8FAFC);overflow:hidden}.ip-document-frame img{display:block;width:100%;height:100%;object-fit:contain;background:#FFF;box-shadow:0 8px 24px rgba(15,23,42,.12)}.ip-view-label{position:absolute;right:14px;bottom:14px;padding:7px 9px;border-radius:5px;background:rgba(11,18,32,.88);color:#FFF;font-family:var(--font-family-mono);font-size:var(--type-label-size);font-weight:700;letter-spacing:.07em;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}.ip-gallery-card:hover .ip-view-label,.ip-gallery-card:focus-visible .ip-view-label{opacity:1;transform:translateY(0)}.ip-card-meta{display:flex;flex-direction:column;gap:7px;padding:18px 18px 20px}.ip-card-meta small{color:#0047C1;font-family:var(--font-family-mono);font-size:.67rem;font-weight:700;letter-spacing:.04em}.ip-card-meta strong{color:#151B2A;font-size:.9rem;line-height:1.52;font-weight:600}.ip-card-meta em{color:#7B8495;font-size:var(--type-small-size);font-style:normal;line-height:1.45}
.ip-portfolio-section{background:#FFF!important}.ip-gallery-index{margin-bottom:66px}.ip-gallery-section{scroll-margin-top:92px;margin-top:82px}.ip-gallery-section:first-of-type{margin-top:0}.ip-gallery-section .group-head{margin-bottom:26px}.ip-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.ip-gallery-card--text{min-height:390px;cursor:default;background:linear-gradient(155deg,#F7F9FD,#EDF1F7);box-shadow:none}.ip-gallery-card--text:hover{transform:none;border-color:#DCE2EC;box-shadow:none}.ip-text-certificate{display:flex;flex:1;min-height:270px;flex-direction:column;align-items:center;justify-content:center;padding:28px;background:#E9EDF4;text-align:center}.ip-text-certificate span{color:#7B8495;font-family:var(--font-family-mono);font-size:.65rem;font-weight:700;letter-spacing:.1em}.ip-text-certificate b{margin-top:13px;color:#151B2A;font-family:var(--font-family-mono);font-size:1rem}
.ip-lightbox{width:min(1080px,94vw);max-width:none;max-height:92vh;margin:auto;padding:0;border:0;border-radius:16px;background:#0B1220;color:#FFF;box-shadow:0 36px 100px rgba(0,0,0,.42);overflow:hidden}.ip-lightbox::backdrop{background:rgba(3,7,18,.82);backdrop-filter:blur(5px)}.ip-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border-bottom:1px solid #243047}.ip-lightbox-toolbar>div:first-child{min-width:0}.ip-lightbox-toolbar small{display:block;color:#7DD3FC;font-family:var(--font-family-mono);font-size:var(--type-label-size);font-weight:700;letter-spacing:.06em}.ip-lightbox-toolbar strong{display:block;max-width:660px;margin-top:4px;color:#FFF;font-size:.9rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ip-lightbox-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.ip-lightbox-actions a{color:#BFDBFE;font-size:.76rem;font-weight:600;text-decoration:none}.ip-lightbox-actions a:hover{color:#FFF}.ip-lightbox-actions button{display:grid;width:36px;height:36px;place-items:center;padding:0;border:1px solid #3B485E;border-radius:50%;background:transparent;color:#FFF;font-size:1.45rem;line-height:1;cursor:pointer}.ip-lightbox-image-wrap{max-height:calc(92vh - 74px);padding:28px;overflow:auto;background:#E8ECF2}.ip-lightbox-image-wrap img{display:block;max-width:100%;height:auto;margin:0 auto;background:#FFF;box-shadow:0 18px 50px rgba(15,23,42,.2)}body:has(.ip-lightbox[open]){overflow:hidden}
@media(max-width:1180px){.ip-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.ip-heritage-stage{grid-template-columns:1fr}.ip-heritage-copy{max-width:760px}}
@media(max-width:860px){.ip-feature-gallery{grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto;padding-bottom:8px}.ip-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-heritage-stage{padding:30px}.ip-lightbox-toolbar{align-items:flex-start}.ip-lightbox-actions a{display:none}}
@media(max-width:560px){.ip-heritage-stage{padding:22px;border-radius:12px}.ip-feature-gallery{grid-template-columns:repeat(3,76vw)}.ip-gallery{grid-template-columns:1fr}.ip-gallery-card--text{min-height:0}.ip-text-certificate{min-height:220px}.ip-lightbox{width:96vw;max-height:94vh;border-radius:12px}.ip-lightbox-toolbar strong{max-width:64vw}.ip-lightbox-image-wrap{max-height:calc(94vh - 72px);padding:12px}}


/* Certifications · Corporate Achievement Gallery */
.cert-achievement-section{background:#fff;border-bottom:1px solid var(--color-border)}
.page-certifications .evidence-hero p{line-height:1.8}.cert-achievement-intro{margin-bottom:34px!important}.cert-achievement-intro p{line-height:1.8}
.cert-achievement-stage{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:42px;align-items:center;padding:38px;border:1px solid #27344C;border-radius:14px;background:#101827}
.cert-achievement-copy small{display:block;color:#74A7FF;font-family:var(--font-family-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em}
.cert-achievement-copy h3{margin:10px 0 8px;color:#fff;font-size:var(--type-subsection-title-size);font-weight:700;line-height:var(--type-heading-line)}
.cert-achievement-copy>strong{display:block;color:#DCE8FF;font-family:var(--font-family-mono);font-size:var(--type-small-size);letter-spacing:.05em}
.cert-achievement-copy p{margin-top:18px;color:#C8D2E4;line-height:1.78}
.cert-achievement-note{margin-top:22px;padding-top:18px;border-top:1px solid #334158;color:#93A3BA;font-size:var(--type-small-size);line-height:1.65}
.cert-feature-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cert-portfolio-section{background:#F7F9FD}
.cert-gallery-section{margin-top:64px;scroll-margin-top:92px}
.cert-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cert-gallery-card{display:flex;min-width:0;flex-direction:column;padding:0;border:1px solid var(--color-border);border-radius:10px;background:#fff;text-align:left;overflow:hidden;cursor:pointer;box-shadow:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.cert-gallery-card:hover,.cert-gallery-card:focus-visible{border-color:#8EA8E8;transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,32,55,.08);outline:none}
.cert-document-frame{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;padding:18px;background:#F1F4F8;overflow:hidden}
.cert-document-frame img{width:100%;height:100%;object-fit:contain;background:#fff;box-shadow:0 8px 20px rgba(20,32,55,.10)}
.cert-view-label{position:absolute;right:14px;bottom:14px;padding:7px 9px;border-radius:5px;background:rgba(15,23,42,.88);color:#fff;font-family:var(--font-family-mono);font-size:var(--type-label-size);font-weight:700;letter-spacing:.08em;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}
.cert-gallery-card:hover .cert-view-label,.cert-gallery-card:focus-visible .cert-view-label{opacity:1;transform:none}
.cert-card-meta{display:flex;min-height:126px;flex-direction:column;padding:17px 18px 19px;border-top:1px solid #E7EBF2}
.cert-card-meta strong{color:#151B2A;font-size:.9rem;line-height:1.52}
.cert-card-meta em{display:block;margin-top:auto;padding-top:10px;color:#687386;font-style:normal;font-size:var(--type-small-size);line-height:1.45}
.cert-gallery-card--featured{border-color:#34445E;background:#172235}
.cert-gallery-card--featured .cert-document-frame{background:#172235}
.cert-gallery-card--featured .cert-card-meta{min-height:118px;border-top-color:#34445E}
.cert-gallery-card--featured .cert-card-meta strong{color:#fff}
.cert-gallery-card--featured .cert-card-meta em{color:#9FB0C8}
.cert-gallery-index{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:10px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.cert-gallery-index a{display:block;padding:24px;border-right:1px solid var(--color-border);background:#fff;text-decoration:none}.cert-gallery-index a:last-child{border-right:0}.cert-gallery-index small{font-size:var(--type-label-size);font-weight:800;color:var(--color-illuvation-blue)}.cert-gallery-index strong{display:block;margin:8px 0;color:var(--color-corporate-navy)}.cert-gallery-index span{font-size:var(--type-small-size);color:var(--color-text-muted);line-height:1.6}
.cert-gallery-section .group-head{display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:start;margin-bottom:18px}.cert-gallery-section .group-head small{font-size:.72rem;font-weight:800;color:var(--color-illuvation-blue);letter-spacing:.05em}.cert-gallery-section .group-head h2{font-size:1.7rem}.cert-gallery-section .group-head p{color:var(--color-text-muted);line-height:1.7}
.cert-lightbox{width:min(920px,94vw);max-height:92vh;padding:0;border:0;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.35);overflow:hidden}
.cert-lightbox::backdrop{background:rgba(4,9,20,.78);backdrop-filter:blur(4px)}
.cert-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--color-border);background:#fff}
.cert-lightbox-toolbar>div:first-child{min-width:0}.cert-lightbox-toolbar small{display:block;color:#0047C1;font-family:var(--font-family-mono);font-size:var(--type-label-size);font-weight:700;letter-spacing:.08em}.cert-lightbox-toolbar strong{display:block;max-width:560px;margin-top:3px;color:#151B2A;font-size:var(--type-small-size);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.cert-lightbox-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.cert-lightbox-actions a,.cert-lightbox-actions button{padding:8px 10px;border:1px solid var(--color-border);border-radius:5px;background:#fff;color:#151B2A;font-family:var(--font-family-mono);font-size:var(--type-label-size);font-weight:700;text-decoration:none;cursor:pointer}.cert-lightbox-actions a:hover,.cert-lightbox-actions button:hover{border-color:#0047C1;color:#0047C1}
.cert-lightbox-image-wrap{display:flex;align-items:flex-start;justify-content:center;max-height:calc(92vh - 72px);padding:22px;background:#E9EDF4;overflow:auto}.cert-lightbox-image-wrap img{max-width:100%;height:auto;background:#fff;box-shadow:0 10px 28px rgba(20,32,55,.16)}
@media(max-width:1000px){.cert-achievement-stage{grid-template-columns:1fr;gap:28px}.cert-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cert-feature-gallery{grid-template-columns:repeat(3,68vw);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.cert-gallery-card--featured{scroll-snap-align:start}.cert-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-gallery-index{grid-template-columns:1fr}.cert-gallery-index a{border-right:0;border-bottom:1px solid var(--color-border)}.cert-gallery-index a:last-child{border-bottom:0}.cert-gallery-section .group-head{grid-template-columns:1fr;gap:8px}.cert-lightbox-toolbar{align-items:flex-start;flex-direction:column}.cert-lightbox-actions{width:100%;justify-content:space-between}.cert-lightbox-image-wrap{max-height:calc(92vh - 126px)}}
@media(max-width:560px){.cert-achievement-stage{padding:22px;border-radius:12px}.cert-feature-gallery{grid-template-columns:repeat(3,78vw)}.cert-gallery{grid-template-columns:1fr}.cert-card-meta{min-height:0}.cert-lightbox{width:96vw;max-height:94vh;border-radius:12px}.cert-lightbox-toolbar strong{max-width:82vw}.cert-lightbox-image-wrap{max-height:calc(94vh - 126px);padding:12px}}

/* 3D Printing · scoped layout repair */
.page-3d-printing .service-hero .container{width:100%}
.page-3d-printing .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.page-3d-printing .service-hero .hero-actions{margin-top:28px!important}
.page-3d-printing .proof-grid,.page-3d-printing .evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;align-items:stretch}
.page-3d-printing .proof-grid>article,.page-3d-printing .evidence-grid>article{display:flex;min-width:0;min-height:220px;flex-direction:column;align-items:flex-start}
.page-3d-printing .proof-grid small,.page-3d-printing .proof-grid strong,.page-3d-printing .proof-grid span,.page-3d-printing .evidence-grid small,.page-3d-printing .evidence-grid h3,.page-3d-printing .evidence-grid p{display:block;max-width:100%}
.page-3d-printing .proof-grid small,.page-3d-printing .evidence-grid small{margin-bottom:10px}
.page-3d-printing .proof-grid strong{margin:0;color:#151B2A;font-size:1.08rem;line-height:1.45}
.page-3d-printing .proof-grid span{margin-top:12px;color:#687386;font-size:var(--type-small-size);line-height:1.68}
.page-3d-printing .evidence-grid h3{margin:0;color:#151B2A;line-height:1.45}
.page-3d-printing .evidence-grid p{margin-top:12px;color:#687386;font-size:var(--type-small-size);line-height:1.68}
.page-3d-printing .evolution{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important;align-items:stretch}
.page-3d-printing .evolution>div{display:flex;min-width:0;min-height:230px;flex-direction:column;padding:28px!important}
.page-3d-printing .evolution small,.page-3d-printing .evolution strong,.page-3d-printing .evolution span{display:block;max-width:100%}
.page-3d-printing .evolution small{margin-bottom:10px;color:#0047C1;font-family:var(--font-family-mono);font-size:.68rem;font-weight:700;letter-spacing:.06em}
.page-3d-printing .evolution strong{margin:0;color:#151B2A;font-size:1.05rem;line-height:1.45}
.page-3d-printing .evolution span{margin-top:12px;color:#687386;font-size:var(--type-small-size);line-height:1.68}
.page-3d-printing .contact-band .hero-actions{margin-top:26px}
@media(max-width:1000px){.page-3d-printing .proof-grid,.page-3d-printing .evidence-grid,.page-3d-printing .evolution{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.page-3d-printing .proof-grid,.page-3d-printing .evidence-grid,.page-3d-printing .evolution{grid-template-columns:1fr}.page-3d-printing .proof-grid>article,.page-3d-printing .evidence-grid>article,.page-3d-printing .evolution>div{min-height:0}.page-3d-printing .hero-actions{align-items:stretch;flex-direction:column}.page-3d-printing .hero-actions .btn{width:100%}}

.loop article p,.loop p{color:#CBD5E1!important;font-size:var(--type-small-size)!important;line-height:1.7!important;}

/* ==========================================================================
   ILLUVATION Language Switcher & Multilingual Typography
   ========================================================================== */

/* --- Multi-Language Font Family Rules --- */
@import url("/assets/css/fonts.css");
:lang(zh-CN) {
  --font-family-sans: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', 'SimHei', sans-serif;
  --font-family-mono: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', 'SimHei', sans-serif;
  word-break: break-all;
}

:lang(ja) {
  --font-family-sans: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
  --font-family-mono: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
  word-break: break-word;
}

:lang(de),
:lang(nl),
:lang(da),
:lang(es),
:lang(en) {
  --font-family-sans: 'Pretendard', 'Noto Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-family-mono: 'Pretendard', 'Noto Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

:lang(de),
:lang(nl) {
  hyphens: auto;
}

/* --- Header Actions Container --- */
.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}

/* --- Desktop Language Switcher --- */
.lang-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.lang-switcher-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  padding: 0 12px;
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  color: var(--color-text-body);
  font-family: var(--font-family-sans);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.lang-switcher-btn:hover,
.lang-switcher-btn:focus-visible,
.lang-switcher.is-open .lang-switcher-btn {
  background: rgba(21, 94, 239, 0.08);
  border-color: var(--color-illuvation-blue);
  color: var(--color-illuvation-blue);
  outline: none;
}

.lang-globe-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  stroke: currentColor;
}

.lang-arrow-icon {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.lang-switcher.is-open .lang-arrow-icon {
  transform: rotate(180deg);
}

.lang-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 184px;
  margin: 0;
  padding: 6px;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12), 0 2px 6px rgba(15, 23, 42, 0.04);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1050;
  box-sizing: border-box;
}

.lang-switcher.is-open .lang-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.lang-dropdown a,
.lang-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px 12px;
  border-radius: 8px;
  color: var(--color-text-body);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  box-sizing: border-box;
  transition: all 0.15s ease;
}

.lang-dropdown a:hover,
.lang-dropdown a:focus-visible,
.lang-option:hover,
.lang-option:focus-visible {
  background: rgba(21, 94, 239, 0.08);
  color: var(--color-illuvation-blue);
  outline: none;
}

.lang-dropdown a.active,
.lang-dropdown a.is-active,
.lang-option.active,
.lang-option.is-active {
  background: rgba(21, 94, 239, 0.12);
  color: var(--color-illuvation-blue);
  font-weight: 700;
}

.lang-dropdown .lang-name {
  flex: 1;
  text-align: left;
}

.lang-dropdown .lang-code {
  font-size: 0.725rem;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(15, 23, 42, 0.06);
  color: var(--color-text-muted);
  margin-left: 8px;
}

.lang-dropdown a.active .lang-code,
.lang-dropdown a.is-active .lang-code,
.lang-option.active .lang-code,
.lang-option.is-active .lang-code {
  background: var(--color-illuvation-blue);
  color: #ffffff;
}

/* --- Mobile Nav Language Selector --- */
.mobile-lang-wrap {
  display: none;
  padding: 16px 20px 24px;
  border-top: 1px solid var(--color-border);
  margin-top: 12px;
}

.mobile-lang-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.mobile-lang-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.mobile-lang-grid a,
.mobile-lang-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 8px;
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  color: var(--color-text-body);
  text-decoration: none;
  font-size: 0.825rem;
  font-weight: 600;
  text-align: center;
  box-sizing: border-box;
  transition: all 0.15s ease;
}

.mobile-lang-grid a:hover,
.mobile-lang-grid a:focus-visible,
.mobile-lang-item:hover,
.mobile-lang-item:focus-visible {
  border-color: var(--color-illuvation-blue);
  color: var(--color-illuvation-blue);
  background: rgba(21, 94, 239, 0.06);
}

.mobile-lang-grid a.active,
.mobile-lang-grid a.is-active,
.mobile-lang-item.active,
.mobile-lang-item.is-active {
  background: var(--color-illuvation-blue);
  border-color: var(--color-illuvation-blue);
  color: #ffffff;
  font-weight: 700;
}

@media (max-width: 991px) {
  .header-actions .header-cta {
    display: none;
  }
  .mobile-lang-wrap {
    display: block;
  }
}


/* ==========================================================================
   Email Rejection Policy & Legal Modal
   ========================================================= */
.footer-legal-link {
  background: none;
  border: none;
  padding: 0;
  margin-right: 16px;
  color: #4E5A70 !important;
  font-size: var(--type-small-size);
  font-family: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition-fast);
}
.footer-legal-link:hover,
.footer-legal-link:focus-visible {
  color: #0047C1 !important;
  text-decoration: underline;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(11, 18, 32, 0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.modal-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}
.modal-dialog {
  background: #ffffff;
  border-radius: 12px;
  max-width: 520px;
  width: 90%;
  padding: 32px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  border: 1px solid #E2E8F0;
  transform: scale(0.95);
  transition: transform 0.25s ease;
}
.modal-backdrop.is-open .modal-dialog {
  transform: scale(1);
}
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E2E8F0;
}
.modal-title {
  color: var(--color-corporate-navy);
  margin: 0;
}
.modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  color: #64748B;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
}
.modal-close:hover {
  color: #0F172A;
  background: #F1F5F9;
}
.modal-body {
  color: var(--color-text-body);
  line-height: 1.7;
  margin-bottom: 24px;
}
.modal-body strong {
  color: var(--color-corporate-navy);
}
.modal-footer {
  display: flex;
  justify-content: flex-end;
}
.modal-close-btn {
  padding: 10px 24px;
  background: var(--color-illuvation-blue);
  color: #ffffff;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--transition-fast);
}
.modal-close-btn:hover {
  background: #003AA8;
}


.modal-dialog-scrollable {
  max-height: 85vh;
  display: flex;
  flex-direction: column;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
  max-height: calc(85vh - 160px);
  padding-right: 8px;
}
.privacy-subtitle {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-corporate-navy);
  margin: 16px 0 6px;
}
.modal-dialog-scrollable ul {
  padding-left: 20px;
  margin: 8px 0 12px;
}
.modal-dialog-scrollable li {
  margin-bottom: 4px;
}


/* ==========================================================================
   Cookie Consent Banner
   ========================================================= */
.cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 40px);
  max-width: 980px;
  background: rgba(15, 23, 42, 0.96);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #F8FAFC;
  border-radius: 12px;
  padding: 16px 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
  z-index: 9998;
}
.cookie-banner-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.cookie-banner-text {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #E2E8F0;
}
.cookie-policy-link {
  background: none;
  border: none;
  padding: 0;
  color: #38BDF8 !important;
  font-size: inherit;
  font-family: inherit;
  cursor: pointer;
  text-decoration: underline;
  margin-left: 4px;
}
.cookie-policy-link:hover {
  color: #7DD3FC !important;
}
.cookie-banner-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.btn-cookie {
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
}
.btn-cookie-essential {
  background: transparent;
  color: #94A3B8;
  border: 1px solid #475569;
}
.btn-cookie-essential:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #F8FAFC;
  border-color: #64748B;
}
.btn-cookie-accept {
  background: #155EEF;
  color: #ffffff;
  border: 1px solid #155EEF;
}
.btn-cookie-accept:hover {
  background: #0047C1;
  border-color: #0047C1;
}
@media (max-width: 768px) {
  .cookie-banner {
    bottom: 12px;
    width: calc(100% - 24px);
    padding: 14px 18px;
  }
  .cookie-banner-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .cookie-banner-actions {
    width: 100%;
    justify-content: flex-end;
  }
}
