:root { color-scheme: dark; --black:#050607; --surface:#0b0d0f; --silver:#e6e8eb; --muted:#9ba3ad; --line:rgba(230,235,240,.18); --blue:#4d9fff; --font-sans:'Archivo','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif; --font-mono:ui-monospace,SFMono-Regular,Menlo,monospace; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--silver); background:var(--black); font-family:var(--font-sans); overflow-x:hidden; }
    a { color:inherit; text-decoration:none; }
    button,a { -webkit-tap-highlight-color:transparent; }
    a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
    .grid-bg { position:fixed; inset:0; z-index:-2; pointer-events:none; opacity:.28; background-image:linear-gradient(to right,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.07) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(ellipse at 50% 35%,#000 0%,transparent 82%); }
    .beam { position:fixed; z-index:-1; top:0; bottom:0; left:50%; width:1px; background:linear-gradient(transparent,rgba(77,159,255,.16),transparent); pointer-events:none; }
    .wrap { width:min(1320px,calc(100% - 72px)); margin-inline:auto; }
    .site-header { position:sticky; top:0; z-index:10; background:rgba(5,6,7,.82); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); }
    .header-inner { min-height:76px; display:flex; align-items:center; gap:32px; }
    .brand { display:flex; align-items:center; gap:12px; white-space:nowrap; }
    .brand-mark { width:38px; height:38px; display:grid; place-items:center; background:#104fb2; border:1px solid rgba(255,255,255,.22); border-radius:8px; color:#fff; font-weight:700; font-size:22px; box-shadow:0 0 28px rgba(45,120,255,.18); }
    .brand-mark svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
    .brand-copy { display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:0; }
    .brand-name { font-size:18px; font-weight:700; letter-spacing:.015em; color:#fff; }
    .brand-company-name { color:#687581; font-size:9px; font-weight:500; line-height:1.2; letter-spacing:.06em; white-space:nowrap; }
    .desktop-nav { display:flex; align-items:center; gap:clamp(18px,3vw,42px); margin-left:auto; font-size:13px; color:#c7cbd0; }
    .desktop-nav a { transition:color .2s; }
    .desktop-nav a:hover { color:#fff; }
    .header-cta,.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; gap:14px; padding:0 22px; color:#fff; background:#104fb2; border:1px solid rgba(255,255,255,.24); font-size:13px; font-weight:600; letter-spacing:.025em; transition:background .2s,transform .2s; }
    .header-cta:hover,.button:hover { background:#1767d9; transform:translateY(-1px); }
    .button.secondary { background:rgba(255,255,255,.035); border-color:var(--line); color:#edf0f3; }
    .button.secondary:hover { background:rgba(255,255,255,.09); }
    .arrow { font-size:18px; line-height:1; }
    .mobile-nav { display:none; margin-left:auto; position:relative; }
    .mobile-nav summary { list-style:none; cursor:pointer; width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); }
    .mobile-nav summary::-webkit-details-marker { display:none; }
    .mobile-nav nav { position:absolute; top:52px; right:0; width:230px; display:grid; gap:0; padding:8px 16px; background:#0b0d0f; border:1px solid var(--line); box-shadow:0 20px 50px #000; }
    .mobile-nav nav a { padding:14px 4px; border-bottom:1px solid var(--line); font-size:14px; }
    .mobile-nav nav a:last-child { border:0; }
    .mono { font:500 10px/1.5 var(--font-mono); letter-spacing:.14em; text-transform:uppercase; color:#a5b4c5; }
    .hero { min-height:650px; display:grid; grid-template-columns:1fr .94fr; align-items:center; gap:clamp(32px,6vw,84px); padding:68px 0 82px; }
    .hero-copy { position:relative; z-index:1; }
    .hero-kicker { display:flex; align-items:center; gap:12px; margin:0 0 30px; }
    .hero-kicker::before { content:""; width:28px; height:1px; background:var(--blue); box-shadow:0 0 12px var(--blue); }
    h1 { margin:0; max-width:690px; font-size:clamp(42px,6.2vw,84px); line-height:1.18; letter-spacing:-.045em; font-weight:600; color:#fff; }
    h1 span { display:block; }
    .hero-lead { max-width:550px; margin:26px 0 0; font-size:clamp(16px,1.5vw,19px); line-height:1.95; color:#c4c9ce; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
    .hero-note { display:flex; align-items:center; gap:14px; margin-top:32px; color:#89919b; font-size:12px; }
    .hero-note::before { content:""; width:34px; height:1px; background:#717981; }
    .hero-visual { position:relative; min-height:440px; border:1px solid rgba(230,235,240,.2); background:#0c1117; overflow:hidden; box-shadow:0 28px 90px rgba(0,0,0,.45); }
    .hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,7,11,.2),transparent 52%),linear-gradient(0deg,rgba(4,7,11,.75),transparent 54%); pointer-events:none; }
    .hero-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.76) brightness(.84); }
    .hero-visual-grid { position:absolute; inset:0; z-index:1; opacity:.35; background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(135deg,#000,transparent 85%); }
    .route-lines { position:absolute; z-index:2; inset:0; width:100%; height:100%; opacity:.85; }
    .visual-caption { position:absolute; z-index:2; left:24px; right:24px; bottom:24px; }
    .visual-caption strong { display:block; font-size:15px; font-weight:600; color:#fff; }
    .visual-caption small { display:block; margin-top:6px; color:#c0cad5; font-size:11px; }
    section.content { padding:120px 0; }
    .section-head { display:grid; grid-template-columns:.62fr 1fr; align-items:end; gap:28px; margin-bottom:48px; }
    .section-label { margin-bottom:14px; color:#99a7b7; }
    h2 { margin:0; color:#fff; font-size:clamp(30px,4vw,52px); font-weight:500; line-height:1.32; letter-spacing:-.035em; }
    .section-intro { max-width:560px; margin:0; color:#aeb6bf; line-height:1.9; font-size:14px; }
    .product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
    .product-card { min-width:0; position:relative; min-height:330px; overflow:hidden; border:1px solid rgba(230,235,240,.16); background:#0b0d0f; }
    .product-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.74; transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .35s; }
    .product-card:hover img { transform:scale(1.045); opacity:.9; }
    .product-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,6,8,.96),rgba(4,6,8,.12) 72%); }
    .product-card-copy { position:absolute; z-index:1; left:20px; right:20px; bottom:22px; display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:end; gap:12px; }
    .product-card-text { min-width:0; }
    .product-card h3 { margin:0 0 7px; color:white; font-size:20px; font-weight:600; }
    .product-card p { margin:0; color:#c4cbd2; font-size:12px; line-height:1.7; }
    .product-card .card-arrow { display:grid; place-items:center; width:28px; height:28px; color:white; font-size:22px; line-height:1; }
    .flow-section { position:relative; padding:100px 0 112px!important; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(110deg,rgba(255,255,255,.035),rgba(255,255,255,0) 48%); }
    .flow-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:64px; align-items:start; }
    .flow-copy p { color:#aeb6bf; font-size:14px; line-height:1.9; max-width:400px; }
    .flow-list { border-top:1px solid var(--line); }
    .flow-item { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:23px 0; border-bottom:1px solid var(--line); }
    .flow-item .mono { color:#7ba9d7; }
    .flow-item strong { display:block; color:#f1f3f5; font-size:17px; font-weight:500; }
    .flow-item p { margin:6px 0 0; color:#9fa7b1; font-size:12px; line-height:1.7; }
    .tech-feature { display:grid; grid-template-columns:1.05fr .95fr; min-height:360px; border:1px solid var(--line); background:rgba(10,12,14,.75); }
    .tech-image { min-height:320px; position:relative; overflow:hidden; }
    .tech-image img { width:100%; height:100%; min-height:320px; object-fit:cover; filter:saturate(.65); }
    .tech-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 66%,rgba(10,12,14,.7)); }
    .tech-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,5vw,66px); }
    .tech-copy h2 { font-size:clamp(28px,3.4vw,42px); }
    .tech-copy p { color:#aeb6bf; font-size:13px; line-height:1.9; }
    .text-link { margin-top:14px; color:#fff; font-size:13px; display:inline-flex; align-items:center; gap:12px; }
    .text-link span { color:var(--blue); font-size:18px; }
    .inquiry { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:44px clamp(24px,5vw,64px); border:1px solid rgba(230,235,240,.2); background:linear-gradient(110deg,rgba(19,29,42,.9),rgba(8,10,13,.92)); }
    .inquiry h2 { font-size:clamp(25px,3.3vw,40px); }
    .inquiry p { margin:12px 0 0; color:#b7c0ca; font-size:13px; line-height:1.8; }
    footer { padding:42px 0 28px; border-top:1px solid var(--line); }
    .footer-top { display:flex; justify-content:space-between; gap:32px; align-items:flex-start; }
    .footer-summary { max-width:460px; color:#949da7; font-size:12px; line-height:1.8; }
    .footer-nav { display:flex; gap:clamp(20px,4vw,56px); color:#c5cbd1; font-size:12px; }
    .footer-nav div { display:grid; align-content:start; gap:12px; }
    .footer-nav .mono { margin-bottom:4px; }
    .footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:38px; padding-top:18px; border-top:1px solid var(--line); color:#777f88; font:10px var(--font-mono); letter-spacing:.04em; }
    @media(max-width:920px) { .wrap{width:min(100% - 48px,760px)} .desktop-nav,.header-cta{display:none} .mobile-nav{display:block} .hero{grid-template-columns:1fr; padding-top:54px; gap:42px} .hero-copy{max-width:680px} .hero-visual{min-height:420px} .section-head{grid-template-columns:1fr; gap:18px} .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .flow-grid{grid-template-columns:1fr;gap:36px} }
    @media(max-width:600px) { .wrap{width:calc(100% - 36px)} .header-inner{min-height:66px} .brand-mark{width:36px;height:36px} .brand-name{font-size:16px} .hero{min-height:auto;padding:48px 0 56px;gap:32px} .hero-kicker{margin-bottom:22px} h1{font-size:clamp(38px,10.2vw,54px);line-height:1.25;letter-spacing:-.045em} .hero-lead{font-size:14px;line-height:1.9;margin-top:18px} .hero-actions{display:grid;grid-template-columns:1fr;margin-top:25px} .button{width:100%;min-height:50px} .hero-note{font-size:10px;margin-top:22px} .hero-visual{min-height:300px} .visual-caption{left:16px;right:16px;bottom:16px} .visual-caption strong{font-size:13px} .signal-rail{grid-template-columns:1fr} .signal{padding:17px 4px;border-right:0;border-bottom:1px solid var(--line)} .signal:last-child{border:0} .signal b{font-size:14px} .signal span{font-size:11px} section.content{padding:76px 0} .section-head{margin-bottom:28px} h2{font-size:30px} .section-intro{font-size:13px} .product-grid{grid-template-columns:minmax(0,1fr);gap:12px} .product-card{min-height:clamp(220px,64vw,280px)} .product-card-copy{left:18px;right:18px;bottom:18px;grid-template-columns:minmax(0,1fr) 28px;gap:12px} .product-card .card-arrow{width:28px;height:28px;font-size:20px} .product-card h3{font-size:19px;line-height:1.45;margin:0 0 7px;word-break:keep-all;overflow-wrap:normal} .product-card p{font-size:12px;line-height:1.7} .flow-section{padding:72px 0!important} .flow-item{grid-template-columns:36px 1fr;gap:12px;padding:18px 0} .flow-item strong{font-size:15px} .tech-feature{grid-template-columns:1fr} .tech-image{min-height:220px} .tech-image img{min-height:220px} .tech-copy{padding:25px 20px 30px} .tech-copy h2{font-size:27px} .inquiry{display:block;padding:26px 20px} .inquiry h2{font-size:27px} .inquiry .button{margin-top:22px} .footer-top{display:block} .footer-nav{margin-top:28px;justify-content:space-between;gap:20px} .footer-bottom{font-size:8px} }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


    :root { color-scheme:light; --black:#f3f5f7; --surface:#fff; --silver:#17212b; --muted:#5b6671; --line:rgba(18,31,45,.16); }
    body { color:#17212b; background:#f3f5f7; }
    .grid-bg { opacity:.11; background-image:linear-gradient(to right,rgba(24,44,64,.28) 1px,transparent 1px),linear-gradient(to bottom,rgba(24,44,64,.28) 1px,transparent 1px); }
    .beam { background:linear-gradient(transparent,rgba(28,105,191,.18),transparent); }
    .ambient-background { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
    .ambient-background canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.42; }
    .ambient-background .grid-bg { position:absolute; inset:0; z-index:1; opacity:.12; }
    .ambient-background .beam { position:absolute; z-index:2; top:0; bottom:0; left:-45%; width:34%; opacity:.85; transform:skewX(-18deg); background:linear-gradient(90deg,transparent,rgba(30,104,184,.1),rgba(30,104,184,.34),rgba(30,104,184,.1),transparent); animation:ambient-sweep 20s linear infinite; }
    .ambient-bar { position:absolute; z-index:2; display:block; height:1px; width:clamp(90px,16vw,250px); background:linear-gradient(90deg,transparent,rgba(37,111,190,.06),rgba(28,105,191,.62),rgba(37,111,190,.08),transparent); box-shadow:0 0 9px rgba(32,111,190,.25); transform:rotate(-24deg); animation:bar-drift 17s linear infinite; }
    .ambient-bar.one { top:24%; left:-20%; animation-delay:-3s; }
    .ambient-bar.two { top:61%; left:-28%; width:clamp(110px,20vw,300px); opacity:.7; animation-duration:23s; animation-delay:-12s; }
    .ambient-bar.three { top:82%; left:-15%; width:clamp(70px,12vw,180px); opacity:.55; animation-duration:19s; animation-delay:-7s; }
    .site-header { position:sticky; top:0; z-index:10; }
    main, footer { position:relative; z-index:1; }
    @keyframes ambient-sweep { 0%,8% { left:-45%; opacity:0; } 18% { opacity:.85; } 82% { opacity:.7; } 100% { left:115%; opacity:0; } }
    @keyframes bar-drift { from { transform:translate3d(0,0,0) rotate(-24deg); } to { transform:translate3d(145vw,18vh,0) rotate(-24deg); } }
    @media(max-width:600px) { .ambient-background canvas { opacity:.44; } .ambient-background .beam { width:46%; animation-duration:25s; } .ambient-bar { height:1.5px; } }
    .site-header { background:rgba(246,248,250,.88); border-bottom-color:rgba(18,31,45,.14); }
    .brand-name { color:#101820; }
    .desktop-nav { color:#384550; }
    .desktop-nav a:hover { color:#101820; }
    .mobile-nav summary { border-color:rgba(18,31,45,.2); }
    .mobile-nav nav { background:#f9fafb; border-color:rgba(18,31,45,.18); box-shadow:0 20px 50px rgba(12,22,32,.18); }
    .mobile-nav nav a { color:#202b35; border-bottom-color:rgba(18,31,45,.12); }
    .mono,.section-label { color:#536779; }
    .hero-kicker::before { background:#155fbe; box-shadow:0 0 12px rgba(21,95,190,.42); }
    h1,h2 { color:#111a22; }
    .hero-lead,.section-intro,.flow-copy p { color:#46515b; }
    .hero-note { color:#65717c; }
    .hero-note::before { background:#87919b; }
    .section-label { color:#536779; }
    .product-card { border-color:rgba(18,31,45,.14); }
    .flow-section { border-color:rgba(18,31,45,.16); background:linear-gradient(110deg,rgba(222,231,239,.82),rgba(243,246,248,.94) 58%); }
    .flow-list,.flow-item { border-color:rgba(18,31,45,.17); }
    .flow-item .mono { color:#155fbe; }
    .flow-item strong { color:#18232d; }
    .flow-item p { color:#5e6973; }
    .text-link { color:#17212b; }
    .text-link span { color:#155fbe; }
    .tech-feature { background:rgba(255,255,255,.84); border-color:rgba(18,31,45,.16); box-shadow:0 18px 60px rgba(28,47,66,.08); }
    .tech-image::after { background:linear-gradient(90deg,transparent 70%,rgba(255,255,255,.25)); }
    .tech-copy p { color:#4e5963; }
    .tech-copy .section-label { color:#536779; }
    .inquiry { background:linear-gradient(110deg,#101a25,#172637); border-color:rgba(21,95,190,.5); }
    .inquiry h2 { color:#fff; }
    footer { background:#07090b; border-top-color:rgba(230,235,240,.17); }
    footer .brand-name { color:#fff; }
    .theme-compare { color:#596978; white-space:nowrap; }


    /* Live-site details translated into a restrained light palette. */
    :root { --live-gold:#b28d36; --live-gold-soft:rgba(178,141,54,.28); }
    .grid-bg { background-size:40px 40px; opacity:.13; }
    .site-header { backdrop-filter:blur(22px); box-shadow:0 8px 32px rgba(20,32,46,.035); }
    .brand-mark { box-shadow:0 0 22px rgba(21,95,190,.16),inset 0 0 0 1px rgba(255,255,255,.18); }
    .hero-kicker { color:#80631d; letter-spacing:.22em; }
    .hero-kicker::before { background:var(--live-gold); box-shadow:0 0 12px var(--live-gold-soft); }
    .section-label { color:#80631d; letter-spacing:.25em; }
    .header-cta,.button:not(.secondary) { background:var(--live-gold); border-color:var(--live-gold); color:#101214; letter-spacing:.12em; }
    .header-cta:hover,.button:not(.secondary):hover { background:#d0ad5d; border-color:#d0ad5d; }
    .hero-visual { box-shadow:0 30px 90px rgba(14,24,34,.22),0 0 0 1px rgba(255,255,255,.35) inset; }
    .hero-visual::before { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 34%); pointer-events:none; }
    .route-lines path:first-child { stroke-dasharray:4 9; animation:route-trace 18s linear infinite; }
    .route-lines circle { animation:node-pulse 2.8s ease-in-out infinite alternate; transform-box:fill-box; transform-origin:center; }
    .route-lines circle:nth-of-type(2) { animation-delay:.7s; }
    .route-lines circle:nth-of-type(3) { animation-delay:1.4s; }
    .product-card { transition:border-color .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1); }
    .product-card::before { content:""; position:absolute; z-index:1; inset:-60% -80%; transform:translateX(-35%) rotate(18deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent); transition:transform .9s cubic-bezier(.16,1,.3,1); pointer-events:none; }
    .product-card:hover { transform:translateY(-4px); border-color:rgba(178,141,54,.65); box-shadow:0 18px 42px rgba(13,22,31,.2); }
    .product-card:hover::before { transform:translateX(35%) rotate(18deg); }
    .flow-item>.mono { font-family:var(--font-sans); font-size:16px; font-weight:700; letter-spacing:0; color:var(--live-gold); }
    .tech-feature { backdrop-filter:blur(16px); transition:border-color .45s,box-shadow .45s; }
    .tech-feature:hover { border-color:rgba(178,141,54,.52); box-shadow:0 24px 70px rgba(26,40,54,.12); }
    .inquiry { position:relative; overflow:hidden; }
    .inquiry::after { content:""; position:absolute; top:0; bottom:0; left:-35%; width:20%; transform:skewX(-20deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent); animation:inquiry-beam 8s ease-in-out infinite; pointer-events:none; }
    html.motion-ready [data-reveal] { opacity:0; transform:translateY(22px); transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1); }
    html.motion-ready [data-reveal].is-in-view { opacity:1; transform:translateY(0); }
    [data-stagger] [data-reveal]:nth-child(2) { transition-delay:.08s; }
    [data-stagger] [data-reveal]:nth-child(3) { transition-delay:.16s; }
    [data-stagger] [data-reveal]:nth-child(4) { transition-delay:.24s; }
    @keyframes route-trace { to { stroke-dashoffset:-260; } }
    @keyframes node-pulse { from { opacity:.55; scale:.8; } to { opacity:1; scale:1.35; } }
    @keyframes inquiry-beam { 0%,22% { left:-35%; } 66%,100% { left:125%; } }
    @media(prefers-reduced-motion:reduce) {
      .route-lines path:first-child,.route-lines circle,.inquiry::after { animation:none!important; }
      html.motion-ready [data-reveal] { opacity:1!important; transform:none!important; transition:none!important; }
    }

/* Open Sigma theme layout additions */
:root { color-scheme: light; }
body { isolation: isolate; color: #17212b; background: #f3f5f7; }
.ambient-background { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.ambient-background canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .42; }
.ambient-background .grid-bg { position: absolute; inset: 0; z-index: 1; opacity: .12; }
.ambient-background .beam { position: absolute; z-index: 2; top: 0; bottom: 0; left: -45%; width: 34%; opacity: .85; transform: skewX(-18deg); background: linear-gradient(90deg, transparent, rgba(30,104,184,.1), rgba(30,104,184,.34), rgba(30,104,184,.1), transparent); animation: ambient-sweep 20s linear infinite; }
.ambient-bar { position: absolute; z-index: 2; display: block; height: 1px; width: clamp(90px,16vw,250px); background: linear-gradient(90deg,transparent,rgba(37,111,190,.06),rgba(28,105,191,.62),rgba(37,111,190,.08),transparent); box-shadow: 0 0 9px rgba(32,111,190,.25); transform: rotate(-24deg); animation: bar-drift 17s linear infinite; }
.ambient-bar.one { top: 24%; left: -20%; animation-delay: -3s; }
.ambient-bar.two { top: 61%; left: -28%; width: clamp(110px,20vw,300px); opacity: .7; animation-duration: 23s; animation-delay: -12s; }
.ambient-bar.three { top: 82%; left: -15%; width: clamp(70px,12vw,180px); opacity: .55; animation-duration: 19s; animation-delay: -7s; }
.site-header { position: sticky; top: 0; z-index: 10; background: rgba(246,248,250,.88); border-bottom-color: rgba(18,31,45,.14); }
main, .theme-footer { position: relative; z-index: 1; }
.skip-link { position: absolute; top: -9999px; left: 1rem; z-index: 9999; padding: 10px 18px; background: #104fb2; color: #fff; font-weight: 700; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline-color: #104fb2; }
.language-switch { flex: 0 0 auto; padding: 9px 11px; color: #155fbe; border: 1px solid rgba(18,31,45,.16); border-radius: 4px; font-size: 10px; letter-spacing: .06em; }
.language-switch:hover { background: rgba(21,95,190,.07); }
.mobile-nav { margin-left: 0; }
.mobile-nav summary { width:46px; height:46px; display:grid; place-items:center; border:1px solid #d2dbe4; border-radius:8px; background:#fff; transition:background .2s,border-color .2s,box-shadow .2s; }
.mobile-nav summary:hover { background:#f5f8fb; border-color:#aebdcb; }
.menu-lines, .menu-lines::before, .menu-lines::after { display:block; width:20px; height:2px; border-radius:2px; background:#243344; transition:top .2s ease,transform .2s ease,background .2s ease; }
.menu-lines { position:relative; }
.menu-lines::before, .menu-lines::after { position:absolute; left:0; content:''; }
.menu-lines::before { top:-6px; }
.menu-lines::after { top:6px; }
.mobile-nav[open] .menu-lines { background:transparent; }
.mobile-nav[open] .menu-lines::before { top:0; transform:rotate(45deg); }
.mobile-nav[open] .menu-lines::after { top:0; transform:rotate(-45deg); }
.mobile-nav nav { background: #f9fafb; border-color: rgba(18,31,45,.18); box-shadow: 0 20px 50px rgba(12,22,32,.18); }
.mobile-nav nav a { color: #202b35; border-bottom-color: rgba(18,31,45,.12); }
.theme-home h1 span, .theme-home h2 span { display: block; }
.theme-home h1 { color: #17212b; }
.theme-home .hero-lead { color: #4e5963; }
.theme-home .hero-note { color: #65717c; }
.theme-home .button.secondary { color: #17212b; border-color: rgba(18,31,45,.2); background: rgba(255,255,255,.74); }
.theme-home .button.secondary:hover { background: #fff; }
.theme-home .contact-section { padding-bottom: clamp(72px,9vw,124px); }
.theme-footer { padding: 42px 0 28px; color: var(--silver); background: #07090b; border-top: 1px solid rgba(230,235,240,.17); }
.theme-footer .brand-name { color: #fff; }

/* The logo lockup follows the original outlined cube and spaced OPEN SIGMA wordmark. */
.brand { gap: 18px; }
.brand-mark { width: 28px; height: 28px; background: transparent; border: 0; border-radius: 0; color: currentColor; box-shadow: none; }
.brand-mark svg { width: 26px; height: 26px; stroke-width: 1.15; }
.site-header .brand { color: #172330; }
.brand-name { font-family: var(--font-latin); font-size: 13px; font-weight: 500; letter-spacing: .34em; white-space: nowrap; }
.theme-footer .brand { color: #fff; }
@media (max-width: 600px) {
  .brand { gap: 12px; }
  .brand-mark { width: 28px; height: 28px; }
  .brand-name { font-size: 12px; letter-spacing: .28em; }
}
.theme-footer .footer-summary { margin: 18px 0 14px; }
.theme-footer .footer-nav a:hover { color: #fff; }
.theme-footer .footer-bottom { margin-top: 38px; }
@keyframes ambient-sweep { 0%,8% { left: -45%; opacity: 0; } 18% { opacity: .85; } 82% { opacity: .7; } 100% { left: 115%; opacity: 0; } }
@keyframes bar-drift { from { transform: translate3d(0,0,0) rotate(-24deg); } to { transform: translate3d(145vw,18vh,0) rotate(-24deg); } }
@media (max-width: 1080px) { .language-switch { margin-left: auto; } }
@media (max-width: 920px) { .language-switch { margin-left: auto; } .header-inner { gap: 12px; } }
@media (max-width: 600px) { .ambient-background canvas { opacity: .44; } .ambient-background .beam { width: 46%; animation-duration: 25s; } .ambient-bar { height: 1.5px; } .theme-footer .footer-bottom { font-size: 8px; } }
@media (prefers-reduced-motion: reduce) { .ambient-background .beam, .ambient-bar { animation: none !important; opacity: .42; } }

/* Shared inner-page system */
.site-inner main { min-height: 55vh; padding-bottom: clamp(56px, 8vw, 112px); }
.site-inner .breadcrumbs { padding: 13px 0; background: rgba(255,255,255,.54); border-bottom: 1px solid rgba(18,31,45,.08); }
.site-inner .breadcrumbs ol { max-width: 1240px; margin: 0 auto; padding: 0 28px; }
.site-inner .page-hero { min-height: clamp(250px, 36vw, 430px); background-position: center 48%; }
.site-inner .page-hero::before { background: linear-gradient(90deg,rgba(9,20,31,.68),rgba(9,20,31,.12) 75%),linear-gradient(0deg,rgba(9,20,31,.28),transparent 55%); }
.site-inner .page-hero > .container { padding-bottom: clamp(30px,5vw,58px); }
.site-inner .page-hero .sys { font-size: clamp(26px,5vw,48px); font-weight: 700; letter-spacing: .08em; }
.site-inner .page-hero h1 { font-size: clamp(28px,4vw,48px); letter-spacing: -.025em; }
.site-inner .page-intro { padding: clamp(42px,7vw,82px) 0; }
.site-inner .page-intro-statement { max-width: 900px; margin-inline: auto; font-size: clamp(28px,4vw,48px); line-height: 1.45; letter-spacing: -.025em; }
.site-inner .page-intro .lead { margin-top: 20px; font-size: clamp(15px,1.5vw,18px); line-height: 1.9; }
.site-inner .section { position: relative; }
.site-inner .section-head .index h2 { font-size: clamp(25px,3.2vw,38px); letter-spacing: -.02em; }
.site-inner .section-head .aside { max-width: 520px; line-height: 1.9; }
.site-inner .spec-panel { overflow: hidden; background: rgba(255,255,255,.88); border: 1px solid rgba(18,31,45,.12); border-radius: 14px; box-shadow: 0 18px 48px rgba(20,35,50,.055); }
.site-inner .spec-table th { background: #eef2f5; }
.site-inner .ledger { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; border: 0; }
.site-inner .ledger-row { min-width: 0; grid-template-columns: minmax(0,1fr); align-content: start; gap: 0; overflow: hidden; background: #fff; border: 1px solid #d2dbe4; border-radius: 12px; box-shadow: 0 10px 28px rgba(20,35,50,.075); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.site-inner .ledger-row:hover { transform: translateY(-3px); border-color: rgba(21,95,190,.45); box-shadow: 0 20px 42px rgba(20,35,50,.13); }
.site-inner .ledger-media { aspect-ratio: 16/9; background: #e8edf1; }
.site-inner .ledger-media img { width: 100%; height: 100%; object-fit: cover; }
.site-inner .ledger-body { padding: 24px 24px 18px; }
.site-inner .ledger-body h3 { margin: 0 0 8px; font-size: clamp(17px,1.6vw,21px); line-height:1.45; }
.site-inner .ledger-body p { margin:0; font-size: 14px; line-height:1.7; }
.site-inner .ledger-tags { gap:8px; margin-top:16px; }
.site-inner .ledger-tags li { padding:5px 10px; color:#435365; background:#f2f5f8; border-color:#dce3ea; line-height:1.4; }
.site-inner .ledger-meta { display: flex; align-items: flex-start; gap:12px; padding: 16px 24px 22px; border-top:1px solid #e1e7ed; text-align: left; }
.site-inner .ledger-meta dl { display: flex; flex-wrap: wrap; gap: 8px; }
.site-inner .ledger-meta dl dt { display: none; }
.site-inner .ledger-meta dl dd { padding: 5px 10px; color: #344558; background: #eaf0f5; border:1px solid #dce4eb; border-radius: 99px; font-size: 11px; line-height:1.4; }
.site-inner .ledger-meta .text-link { margin-top:4px; color:#174f98; }
.site-inner .inquiry-band { margin-top: clamp(40px,7vw,88px); color: var(--ink); background: #edf2f6; border-block:1px solid rgba(18,31,45,.1); }
.site-inner .inquiry-band h2 { color:#17212b; }
.site-inner .inquiry-band p { color:#465768; }
.site-inner .inquiry-band .sys { color:#155fbe; }
.site-inner .inquiry-band .btn { color: #fff; background: var(--accent); border-color: var(--accent); }
.site-inner .btn { min-height: 50px; border-radius: 5px; letter-spacing: .03em; }
.site-inner .btn-outline { color: #17212b; border-color: rgba(18,31,45,.22); }
.site-inner .actions { display: flex; flex-wrap: wrap; gap: 12px; }
.site-inner .feature-item { padding: 24px 0; }
.site-inner input,.site-inner select,.site-inner textarea { border-radius: 6px; border-color: rgba(18,31,45,.2); background: #fff; }
.site-inner .form-note { line-height: 1.8; }
.site-inner .section-paper { background: rgba(255,255,255,.5); }
.site-inner .theme-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.site-inner .theme-step { min-width:0; padding:26px; background:rgba(255,255,255,.88); border:1px solid rgba(18,31,45,.11); border-radius:12px; box-shadow:0 14px 38px rgba(20,35,50,.045); }
.site-inner .theme-step .mono { color:var(--accent); font-size:12px; letter-spacing:.12em; }
.site-inner .theme-step h3 { margin:18px 0 8px; font-size:18px; }
.site-inner .theme-step p { margin:0; color:var(--ink-secondary); font-size:14px; line-height:1.8; }
.site-inner .contact-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr); gap:36px; align-items:start; }
.site-inner .contact-form { padding:clamp(20px,3vw,36px); }
.site-inner .contact-mailto-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; }
.site-inner .contact-mailto-field { min-width:0; display:grid; gap:7px; }
.site-inner .contact-mailto-field--wide { grid-column:1 / -1; }
.site-inner .contact-mailto-field label { color:var(--ink); font-size:13px; font-weight:700; }
.site-inner .contact-mailto-field input,
.site-inner .contact-mailto-field select,
.site-inner .contact-mailto-field textarea { width:100%; min-height:46px; padding:11px 13px; color:var(--ink); background:#fff; border:1px solid var(--line-strong); border-radius:5px; font:inherit; font-size:14px; }
.site-inner .contact-mailto-field textarea { min-height:150px; resize:vertical; }
.site-inner .contact-mailto-field input:focus-visible,
.site-inner .contact-mailto-field select:focus-visible,
.site-inner .contact-mailto-field textarea:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.site-inner .contact-mailto-actions { display:grid; justify-items:start; gap:12px; margin-top:22px; }
.site-inner .contact-mailto-actions .btn { min-height:50px; }
.site-inner .contact-mailto-note { max-width:70ch; margin:0; color:var(--ink-secondary); font-size:12px; line-height:1.8; }
.site-inner .contact-form-status { min-height:1.5em; margin:0; color:var(--ink); font-size:14px; line-height:1.7; }
.site-inner .contact-form-status[data-state="error"] { color:#a32828; }
.site-inner .contact-form-status[data-state="success"] { color:#18643c; }
.site-inner .contact-honeypot { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.site-inner .contact-email .contact-email-address { overflow-wrap:anywhere; }
.site-inner .contact-email .contact-email-address a { font-size:16px; }
.site-inner .contact-submit { margin-top:24px; }
.site-inner .contact-submit .btn { display:inline-flex; justify-content:space-between; align-items:center; gap:24px; min-width:min(100%,300px); padding:12px 18px; }
.site-inner .contact-submit .btn span { font-size:20px; }
.site-inner .contact-aside { display:grid; gap:20px; align-content:start; }
.site-inner .contact-email { padding:26px; }
.site-inner .contact-email h3 { margin:12px 0; }
.site-inner .contact-email p { font-size:14px; }
.site-inner .contact-email .muted { margin-top:12px; font-size:13px; line-height:1.8; }
.site-inner .theme-footer { margin-top: clamp(56px,8vw,112px); }
.site-inner .reveal { opacity:1; transform:none; }
html.motion-ready .site-inner .reveal { opacity:0; transform:translateY(20px); transition:opacity .6s ease,transform .6s ease; }
html.motion-ready .site-inner .reveal.in-view { opacity:1; transform:none; }
@media (max-width: 760px) {
  .site-inner .breadcrumbs ol { padding-inline: 18px; }
  .site-inner .ledger { grid-template-columns: 1fr; gap: 14px; }
  .site-inner .ledger-row { grid-template-columns: 1fr; }
  .site-inner .ledger-meta { padding: 16px 18px 20px; }
  .site-inner .ledger-body { padding: 20px 18px 18px; }
  .site-inner .section { padding-block: 54px; }
  .site-inner .page-intro { padding-block: 44px; }
  .site-inner .inquiry-inner { grid-template-columns: 1fr; padding-block: 42px; }
  .site-inner .theme-steps { grid-template-columns:1fr; }
  .site-inner .contact-layout { grid-template-columns:1fr; gap:22px; }
  .site-inner .contact-form { padding:20px 16px; }
  .site-inner .contact-mailto-fields { grid-template-columns:1fr; gap:15px; }
  .site-inner .contact-mailto-field--wide { grid-column:auto; }
  .site-inner .contact-mailto-actions { justify-items:stretch; }
  .site-inner .contact-submit .btn { width:100%; }
  .site-inner .theme-footer { margin-top:56px; }
}
@media (max-width: 760px) {
  .site-inner .catalog-panel { overflow:visible; border:0; background:transparent; box-shadow:none; }
  .site-inner .catalog-table { display:block; width:100%; background:transparent; }
  .site-inner .catalog-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .site-inner .catalog-table tbody { display:grid; gap:12px; }
  .site-inner .catalog-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px 12px; padding:16px; background:#fff; border:1px solid #d2dbe4; border-radius:10px; box-shadow:0 8px 22px rgba(20,35,50,.07); }
  .site-inner .catalog-table tbody td { display:block; min-width:0; padding:0; border:0; overflow-wrap:anywhere; font-size:14px; line-height:1.55; }
  .site-inner .catalog-table tbody td::before { content:attr(data-label); display:block; margin-bottom:4px; color:#657587; font-size:10px; font-weight:700; letter-spacing:.05em; }
  .site-inner .catalog-table tbody td:first-child { grid-column:1/-1; color:#657587; font-size:11px; }
  .site-inner .catalog-table tbody td:first-child::before { display:inline; margin:0 6px 0 0; }
  .site-inner .catalog-table tbody td:nth-child(2) { grid-column:1/-1; font-size:16px; line-height:1.45; }
  .site-inner .catalog-table tbody td:nth-child(3),.site-inner .catalog-table tbody td:nth-child(4) { padding:10px; background:#f2f5f8; border-radius:6px; }
  .site-inner .catalog-table tbody td:last-child { grid-column:1/-1; padding-top:10px; border-top:1px solid #e1e7ed; }
  .site-inner .catalog-table tbody td:last-child .text-link { margin-top:0; }
}

/* BaseLayout also loads legacy VOX globals; keep its shared header identical to the homepage. */
.site-inner .site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  color: #172330;
  background: rgba(246,248,250,.88);
  border-bottom: 1px solid rgba(18,31,45,.14);
  box-shadow: 0 8px 32px rgba(20,32,46,.035);
}
.site-inner .site-header .header-inner {
  max-width: none;
  margin-inline: auto;
  padding: 0;
  height: auto;
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 32px;
}
.site-inner .site-header .brand { display: flex; align-items: center; gap: 18px; white-space: nowrap; }
.site-inner .site-header .brand-mark {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #172330;
  box-shadow: none;
}
.site-inner .site-header .brand-mark svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
.site-inner .site-header .brand-name { color: #101820; font-family: var(--font-latin); font-size: 13px; font-weight: 500; letter-spacing: .34em; white-space: nowrap; }
.site-inner .site-header .desktop-nav { display: flex; align-items: center; gap: clamp(18px,3vw,42px); margin-left: auto; color: #384550; font-size: 13px; }
.site-inner .site-header .desktop-nav a { padding: 0; font-size: inherit; font-weight: 400; color: inherit; }
.site-inner .site-header .desktop-nav a::after { content: none; }
.site-inner .site-header .desktop-nav a:hover { color: #101820; }
.site-inner .site-header .header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  gap: 14px;
  padding: 0 22px;
  color: #fff;
  background: #104fb2;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .025em;
}
.site-inner .site-header .header-cta:hover { color: #fff; background: #1767d9; }
.site-inner .site-header .language-switch { flex: 0 0 auto; padding: 9px 11px; color: #155fbe; border: 1px solid rgba(18,31,45,.16); border-radius: 4px; font-size: 10px; letter-spacing: .06em; }
.site-inner .site-header .mobile-nav { display: none; margin-left: 0; position: relative; }

@media (max-width: 920px) {
  .site-inner .site-header .header-inner { gap: 12px; }
  .site-inner .site-header .desktop-nav,
  .site-inner .site-header .header-cta { display: none; }
  .site-inner .site-header .mobile-nav { display: block; margin-left: 0; }
  .site-inner .site-header .language-switch { margin-left: auto; }
  .site-inner .site-header .mobile-nav summary { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #d2dbe4; border-radius: 8px; background: #fff; }
  .site-inner .site-header .mobile-nav summary .menu-lines { display: block; position: relative; width: 20px; height: 2px; border-radius: 2px; background: #243344; }
  .site-inner .site-header .mobile-nav summary .menu-lines::before,
  .site-inner .site-header .mobile-nav summary .menu-lines::after { width: 20px; height: 2px; border-radius: 2px; background: #243344; }
  .site-inner .site-header .mobile-nav nav { background: #f9fafb; border: 1px solid rgba(18,31,45,.18); border-radius: 0; box-shadow: 0 20px 50px rgba(12,22,32,.18); }
  .site-inner .site-header .mobile-nav nav a { display: block; padding: 14px 4px; color: #202b35; border-bottom: 1px solid rgba(18,31,45,.12); border-radius: 0; background: transparent; margin: 0; font-size: 14px; font-weight: 400; }
  .site-inner .site-header .mobile-nav nav a:last-child { justify-content: initial; border: 0; color: #202b35; background: transparent; }
}

@media (max-width: 600px) {
  .site-inner .site-header .header-inner { min-height: 66px; }
  .site-inner .site-header .brand { gap: 12px; }
  .site-inner .site-header .brand-mark { width: 28px; height: 28px; }
  .site-inner .site-header .brand-name { font-size: 12px; letter-spacing: .28em; }
}

/* Homepage catalog, company identity, and glyph-safe links. */
@media(min-width:601px) { .theme-home .hero h1 { font-size:clamp(40px,5.4vw,68px); line-height:1.2; } }
.arrow svg,.text-link svg,.product-register-arrow svg { display:block; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.frozen-products { background:#f8f9fa; border-block:1px solid rgba(18,31,45,.12); }
.frozen-products h2 { font-size:clamp(24px,3vw,36px); }
.frozen-products-grid { border-top:1px solid rgba(18,31,45,.14); }
.product-register-row { display:grid; grid-template-columns:minmax(180px,1.4fr) minmax(120px,.75fr) minmax(190px,1.5fr) 20px; align-items:center; gap:20px; padding:15px 18px; color:#17212b; background:rgba(255,255,255,.72); border:1px solid rgba(18,31,45,.12); border-top:0; transition:background .2s,border-color .2s; }
.product-register-row:hover { background:#fff; border-color:rgba(21,95,190,.3); }
.product-register-row strong { font-size:15px; font-weight:650; }
.product-register-row>span { min-width:0; color:#374653; font-size:13px; line-height:1.5; }
.product-register-row small { display:block; margin-bottom:3px; color:#7a8792; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.product-register-arrow { color:#155fbe!important; }
.frozen-products-actions { display:flex; justify-content:flex-start; align-items:center; gap:22px; margin-top:20px; }
.frozen-products-actions .text-link { margin-top:0; }
.company-proof { display:grid; grid-template-columns:1fr 1fr 1fr; margin-top:24px; border-block:1px solid rgba(18,31,45,.17); }
.company-proof>div { display:flex; flex-direction:column; gap:5px; min-width:0; padding:15px 18px; border-right:1px solid rgba(18,31,45,.13); }
.company-proof>div:first-child { padding-left:0; }
.company-proof>div:last-child { border-right:0; }
.company-proof small { color:#74818c; font-size:10px; letter-spacing:.08em; }
.company-proof strong,.company-proof a { color:#17212b; font-size:14px; font-weight:650; overflow-wrap:anywhere; }
.theme-home section#frozen-vegetables,.theme-home section#products,.theme-home section#company,.theme-home section#technology,.theme-home section#contact { scroll-margin-top:88px; }
@media(max-width:600px) { .theme-home .hero h1 { font-size:clamp(32px,9vw,38px); } }
@media(max-width:700px) {
  .product-register-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 18px; gap:8px 14px; padding:14px; }
  .product-register-row strong { grid-column:1 / -1; }
  .product-register-row>span { font-size:12px; }
  .product-register-row>span:nth-of-type(1) { grid-column:1; }
  .product-register-row>span:nth-of-type(2) { grid-column:2; }
  .product-register-arrow { grid-column:3; grid-row:2; }
  .frozen-products-actions { align-items:flex-start; flex-direction:column; gap:8px; }
  .company-proof { grid-template-columns:1fr; }
  .company-proof>div,.company-proof>div:first-child { padding:12px 0; border-right:0; border-bottom:1px solid rgba(18,31,45,.13); }
  .company-proof>div:last-child { border-bottom:0; }
}

/* Company purpose leads the homepage; product details follow on a white surface. */
.purpose-hero { position:relative; isolation:isolate; overflow:hidden; background:#fff; }
.purpose-visual { position:absolute; inset:0 0 0 34%; z-index:-1; }
.purpose-visual img { width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.purpose-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.94) 17%,rgba(255,255,255,.18) 72%,transparent 100%); }
.purpose-content { min-height:max(560px,calc(100svh - 76px)); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:38px; padding-block:64px; }
.purpose-mission { max-width:660px; }
.purpose-label,.purpose-vision h2 { margin:0; color:#155fbe; font:700 11px/1.4 var(--font-sans); letter-spacing:.14em; text-transform:uppercase; }
.purpose-label { display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.purpose-label::before { content:""; width:30px; height:1px; background:#155fbe; }
.theme-home .purpose-mission h1 { max-width:660px; color:#17212b; font-size:clamp(42px,5.1vw,68px); font-weight:600; line-height:1.28; letter-spacing:-.05em; white-space:pre-line; text-wrap:balance; }
.purpose-vision { width:min(100%,560px); padding-top:20px; border-top:1px solid rgba(18,31,45,.25); }
.purpose-vision p { max-width:560px; margin:10px 0 0; color:#24313d; font-size:clamp(18px,2vw,23px); font-weight:600; line-height:1.6; }
.sourcing-intro { background:#fff; border-bottom:1px solid rgba(18,31,45,.12); scroll-margin-top:88px; }
.sourcing-content { padding-block:clamp(66px,8vw,108px); }
.sourcing-copy { max-width:780px; }
.sourcing-copy .hero-kicker { margin-bottom:22px; color:#536779; letter-spacing:.13em; }
.sourcing-copy .hero-kicker::before { background:#155fbe; box-shadow:none; }
.theme-home .sourcing-copy h2 { color:#17212b; font-size:clamp(34px,4vw,52px); line-height:1.28; }
.sourcing-copy .hero-lead { max-width:690px; margin-top:22px; color:#46515b; }
.sourcing-copy .hero-actions { margin-top:28px; }
.sourcing-copy .hero-actions .button:not(.secondary) { background:#155fbe; border-color:#155fbe; color:#fff; letter-spacing:.025em; }
.sourcing-copy .hero-actions .button:not(.secondary):hover { background:#104f9e; border-color:#104f9e; }
.sourcing-copy .hero-actions .button.secondary { background:#fff; border-color:#cbd5de; color:#17212b; letter-spacing:.025em; }
.sourcing-copy .hero-actions .button.secondary:hover { background:#f3f7fb; }
.sourcing-copy .hero-note { margin-top:24px; color:#65717c; }
.sourcing-copy .hero-note::before { background:#9eabb7; }
.corporate-strip { background:#fff; color:#17212b; border-bottom:1px solid rgba(18,31,45,.12); }
.corporate-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:20px; }
.corporate-grid>div { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:6px; padding:4px 24px; border-right:1px solid rgba(18,31,45,.14); }
.corporate-grid>div:first-child { padding-left:0; }
.corporate-grid>div:last-child { padding-right:0; border-right:0; }
.corporate-grid span { color:#65717c; font-size:11px; letter-spacing:.04em; }
.corporate-grid strong { color:#17212b; font-size:clamp(14px,1.35vw,17px); font-weight:650; line-height:1.45; overflow-wrap:anywhere; }
@media(max-width:920px) {
  .purpose-hero { display:flex; flex-direction:column; height:calc(100svh - 76px); min-height:640px; border-bottom:1px solid rgba(18,31,45,.12); }
  .purpose-visual { position:relative; inset:auto; z-index:0; flex:1 1 auto; min-height:0; }
  .purpose-visual img { object-position:center 54%; }
  .purpose-visual::after { display:none; }
  .purpose-content { position:relative; z-index:1; display:block; flex:none; min-height:0; margin-top:-24px; padding:34px 30px 36px; background:#fff; }
  .theme-home .purpose-mission h1 { font-size:clamp(36px,5.2vw,46px); }
  .purpose-vision { margin-top:28px; }
}
@media(max-width:600px) {
  .purpose-hero { height:calc(100svh - 66px); min-height:560px; }
  .purpose-content { margin-top:-20px; padding:30px 22px 28px; }
  .purpose-label { margin-bottom:17px; font-size:10px; }
  .theme-home .purpose-mission h1 { font-size:clamp(26px,7.5vw,36px); line-height:1.32; }
  .purpose-vision { margin-top:26px; padding-top:18px; }
  .purpose-vision p { font-size:17px; line-height:1.55; }
  .sourcing-content { padding-block:52px 68px; }
  .sourcing-copy .hero-kicker { margin-bottom:15px; font-size:10px; line-height:1.6; letter-spacing:.08em; }
  .theme-home .sourcing-copy h2 { font-size:clamp(30px,8vw,38px); line-height:1.28; letter-spacing:-.035em; }
  .sourcing-copy .hero-lead { margin-top:17px; font-size:14px; line-height:1.8; }
  .sourcing-copy .hero-actions { display:grid; grid-template-columns:1fr; gap:9px; margin-top:22px; }
  .sourcing-copy .hero-actions .button { min-height:48px; padding:10px 14px; font-size:13px; }
  .sourcing-copy .hero-note { margin-top:18px; font-size:11px; line-height:1.5; }
  .sourcing-copy .hero-note::before { width:20px; flex:none; }
  .corporate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:10px; }
  .corporate-grid>div { gap:4px; padding:10px 12px; border-right:0; }
  .corporate-grid>div:nth-child(odd) { padding-left:0; }
  .corporate-grid>div:nth-child(even) { border-left:1px solid rgba(18,31,45,.14); }
  .corporate-grid>div:last-child { grid-column:1 / -1; padding-left:0; border-top:1px solid rgba(18,31,45,.14); border-left:0; }
  .corporate-grid span { font-size:10px; }
  .corporate-grid strong { font-size:13px; line-height:1.4; }
}
