/* About page: two disciplines, one platform. Layout follows the owner's
   supplied reference; the original Hairline animation and camera remain. */
.about-main .about-connect{background:#201d19;color:#f1eee8;padding:84px 0 76px;overflow:hidden}
.about-connect>.company-wrap{max-width:1513px;padding-left:clamp(24px,4.2vw,64px);padding-right:clamp(24px,4.2vw,64px)}
.about-connect-head{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:72px;align-items:start;padding:0 26px}
.about-main .about-connect .company-label{color:#dfbc7f;margin-bottom:18px;font-size:13px;letter-spacing:.19em}
.about-main .about-connect h2{color:#fafaf9;max-width:720px;font-size:clamp(42px,5vw,76px);line-height:1.03;letter-spacing:-.035em;text-wrap:initial}
.about-main .about-connect-lead{font-size:clamp(18px,1.5vw,22px);line-height:1.65;color:#cfc6ba;margin:34px 0 0;max-width:590px;text-wrap:pretty}
.fc-figure{margin:32px 0 0}
.fc-stage{position:relative;width:100%;cursor:crosshair;--hairline-plate:#201d19;--hairline-hi:#e6c487;--hairline-edge:#c5a773;--hairline-mid:#776749;--hairline-lo:#4c4332;--hairline-stroke:1}
.fc-stage .fc-dim{--hl-hi:#8b7757;--hl-edge:#6d5e45;--hl-mid:#49402f;--hl-lo:#352f25}
.fc-stage .fc-trace-base{stroke:#eed4a1;opacity:.38}
.fc-stage .fc-trace-halo{stroke:#eedfc2;opacity:.1;stroke-width:4.2;stroke-dasharray:.14 .86;animation:fc-travel-halo 8s linear infinite}
.fc-stage .fc-trace-core{stroke:#f6ead2;opacity:.8;stroke-width:1.4;stroke-dasharray:.08 .92;animation:fc-travel 8s linear infinite}
.fc-stage .fc-dim .fc-trace-core{opacity:.18}
.fc-stage .fc-dim .fc-trace-halo{opacity:.03}
@keyframes fc-travel{from{stroke-dashoffset:0}to{stroke-dashoffset:-1}}
@keyframes fc-travel-halo{from{stroke-dashoffset:.03}to{stroke-dashoffset:-.97}}
.fc-stage .fc-owl{position:absolute;z-index:1;object-fit:contain;pointer-events:none;animation:fc-breathe 6s ease-in-out infinite}
.fc-stage .fc-owl.is-on{animation:none;opacity:1}
@keyframes fc-breathe{0%,100%{opacity:.86}50%{opacity:1}}
.fc-legend{display:grid;grid-template-columns:1.03fr 1fr .94fr;gap:66px;margin-top:12px;padding-top:30px;border-top:1px solid #b49663}
.fc-col{transition:opacity .45s cubic-bezier(.5,0,.1,1);border-radius:2px;text-align:left}
.fc-k{display:block;font:400 13px/1.4 var(--sans);letter-spacing:.19em;text-transform:uppercase;color:#dfbc7f;margin:0 0 12px}
.fc-n{display:block;font:400 clamp(25px,2.45vw,37px)/1.2 var(--serif);letter-spacing:-.025em;color:#fafaf9;margin:0 0 16px}
.fc-f{display:block;font-size:clamp(17px,1.4vw,21px);line-height:1.5;color:#cfc6ba;margin:0;text-wrap:pretty}
.about-connect[data-focus] .fc-col:not(.is-on){opacity:.36}
.fc-col:focus-visible{outline:1.5px solid #d9c29f;outline-offset:8px}
@media(max-width:1100px) and (min-width:761px){
.about-main .about-connect{padding:72px 0 68px}
.about-connect-head{gap:40px;padding:0}
.about-main .about-connect-lead{margin-top:28px}
.fc-legend{gap:30px}
.fc-k{font-size:11px}
}
@media(max-width:760px){
.about-main .about-connect{padding:54px 0 56px}
.about-connect-head{grid-template-columns:1fr;gap:22px;padding:0}
.about-main .about-connect .company-label{font-size:10px;margin-bottom:20px;letter-spacing:.16em}
.about-main .about-connect h2{font-size:clamp(37px,7vw,52px);line-height:1.08}
.about-main .about-connect-lead{font-size:17px;line-height:1.65;margin:0}
.fc-figure{margin-top:20px}
.fc-stage{cursor:default}
.fc-legend{grid-template-columns:1fr;gap:30px;margin-top:8px;padding-top:26px}
.fc-k{font-size:11px;margin-bottom:10px}
.fc-n{font-size:28px;margin-bottom:12px}
.fc-f{font-size:17px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){
.fc-col{transition:none}
.fc-stage .fc-trace-halo,.fc-stage .fc-trace-core{animation:none;opacity:0}
.fc-stage .fc-owl{animation:none;opacity:1}
}
