/* Mirror Factory homepage v5 sections (12 Nov 2026): In Plain Words, Four Examples, Industries, Our Commitment, Questions.
   Built on v4.css tokens (--paper, --ink, --fg2, --line, tones --oD --liD --pcD --lmD). Machines and places appear only as twin dots;
   photographs are never covered by dots. Every animated piece pauses off screen and holds a finished frame under reduced motion. */

/* shared */
.v5h{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:end;margin-bottom:56px}
.v5h .h2{margin-top:20px}
@media (max-width:900px){.v5h{grid-template-columns:1fr;gap:18px;margin-bottom:36px}}

/* 04 · In Plain Words: four terms, each with a small twin-dot drawing, each linking to its service */
.pw .pw-g{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pw .pw-c{position:relative;display:flex;flex-direction:column;min-height:100%;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:inherit;overflow:hidden;transition:box-shadow .45s var(--ease),transform .6s var(--ease)}
.pw .pw-c:hover{box-shadow:inset 0 0 0 1px var(--line2);transform:translateY(-3px)}
.pw .pw-art{display:block;width:100%;height:170px;background:#0B0D0A;box-shadow:inset 0 -1px 0 var(--line)}
.pw .pw-n{margin:20px 22px 0;font:500 12px/1 "MF Mono",monospace;color:var(--fg3)}
.pw .pw-c .h3{display:flex;align-items:center;gap:9px;margin:12px 22px 0;color:var(--ink)}
.pw .pw-c .h3 i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--c)}
.pw .pw-c>p{margin:10px 22px 0;font-size:14.5px;line-height:1.55;color:var(--fg2)}
.pw .pw-ex{display:block;margin:18px 22px 0;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.5;color:var(--fg3)}
.pw .pw-ex b{display:block;margin-bottom:6px;font:500 11px/1 "MF Mono",monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--c)}
.pw .pw-c .lk{margin:auto 22px 22px;padding-top:22px;font-size:13.5px}
.pw .pw-sum{display:flex;align-items:center;gap:14px;margin-top:48px;padding-top:26px;border-top:1px solid var(--line);font:400 28px/1.25 "MF Display Thin","MF Display",sans-serif;letter-spacing:-.02em;color:var(--fg2)}
.pw .pw-sum b{font-weight:400;color:var(--ink)}
@media (max-width:1100px){.pw .pw-g{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pw .pw-g{grid-template-columns:1fr}.pw .pw-sum{font-size:22px;align-items:flex-start}.pw .pw-sum .d4{margin-top:10px}}

/* 05 · Four Examples: the film's four made-up places, each a loop from the real place to its twin to AI */
.fx4 .fx-body{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:start}
.fx4 .fx-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.fx4 .fx-t{position:relative;display:grid;grid-template-columns:36px 1fr;gap:6px 8px;padding:20px 6px 20px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font:inherit;color:var(--fg3);cursor:pointer;transition:padding .45s var(--ease)}
.fx4 .fx-t:hover{padding-left:6px}
.fx4 .fx-t .n{grid-row:span 2;font:500 12px/1.7 "MF Mono",monospace}
.fx4 .fx-t b{font:400 22px/1.15 "MF Display Light","MF Display",sans-serif;letter-spacing:-.014em;font-weight:400;color:var(--fg2);transition:color .4s}
.fx4 .fx-t small{font-size:13.5px;color:var(--fg3)}
.fx4 .fx-t[aria-selected=true] b{color:var(--ink)}
.fx4 .fx-t[aria-selected=true] .n{color:var(--c)}
.fx4 .fx-t .pr{position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--c)}
.fx4 .fx-v{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#0B0D0A;box-shadow:0 34px 70px -44px rgba(11,13,10,.7)}
.fx4 .fx-v video,.fx4 .fx-v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s var(--ease)}
.fx4 .fx-v .on{opacity:1}
.fx4 .fx-v .tag{position:absolute;right:14px;bottom:12px;z-index:2;background:rgba(11,13,10,.62);color:rgba(242,238,229,.82);box-shadow:inset 0 0 0 1px rgba(242,238,229,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.fx4 .fx-beats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
.fx4 .fx-beats[hidden]{display:none}
.fx4 .fx-b{position:relative;padding-top:16px}
.fx4 .fx-b::before,.fx4 .fx-b::after{content:"";position:absolute;left:0;top:0;height:1px}
.fx4 .fx-b::before{right:0;background:var(--line)}
.fx4 .fx-b::after{width:var(--p,0%);background:var(--c)}
.fx4 .fx-b em{font:500 11px/1 "MF Mono",monospace;font-style:normal;letter-spacing:.07em;text-transform:uppercase;color:var(--fg3);transition:color .4s}
.fx4 .fx-b p{margin-top:9px;font-size:14px;line-height:1.5;color:var(--fg3);transition:color .45s}
.fx4 .fx-b.done p{color:var(--fg2)}
.fx4 .fx-b.on em{color:var(--c)}
.fx4 .fx-b.on p{color:var(--ink)}
.fx4 .fx-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.fx4 .fx-foot .btn .ic{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line2)}
.fx4 .fx-foot .btn .ic svg{width:9px;height:9px;fill:currentColor;margin-left:1px}
@media (max-width:900px){.fx4 .fx-body{grid-template-columns:1fr;gap:22px}.fx4 .fx-tabs{flex-direction:row;overflow-x:auto;border-top:0;gap:18px;scrollbar-width:none}.fx4 .fx-t{flex:none;grid-template-columns:1fr;padding:0 0 12px}.fx4 .fx-t:hover{padding-left:0}.fx4 .fx-t .n{grid-row:auto}.fx4 .fx-t small{display:none}.fx4 .fx-t b{font-size:18px;white-space:nowrap}.fx4 .fx-beats{grid-template-columns:1fr 1fr;gap:18px 16px}.fx4 .fx-foot{flex-direction:column;align-items:flex-start}}

/* 07 · Industries: the real place (photo tiles, the Where We Work row) and its twin (a faux app over twin dots) */
.ind .tiles{display:flex;gap:10px;height:300px;margin-bottom:22px}
.ind .tile{position:relative;flex:1;border:0;padding:0;border-radius:14px;overflow:hidden;cursor:pointer;background:#0B0D0A;text-align:left;font:inherit;transition:flex 1s var(--ease)}
.ind .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .8s}
.ind .tile:not(.on) img{filter:saturate(.62) brightness(.78)}
.ind .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,10,0) 45%,rgba(11,13,10,.8))}
.ind .tile div{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;color:#F2EEE5}
.ind .tile b{display:block;font:400 17px/1.15 "MF Display Light",sans-serif;font-weight:400;letter-spacing:-.01em;transition:font-size .6s var(--ease)}
.ind .tile span{display:block;margin-top:6px;font-size:13px;color:rgba(242,238,229,.74);opacity:0;transform:translateY(6px);transition:opacity .4s,transform .6s var(--ease);white-space:nowrap}
.ind .tile .tn{position:absolute;left:14px;top:12px;z-index:1;font:500 10.5px/1 "MF Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,229,.78)}
.ind .tile.on{flex:2.4}.ind .tile.on b{font-size:24px}.ind .tile.on span{opacity:1;transform:none}.ind .tile.on img{transform:scale(1.03)}
.ind .ind-b{display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:stretch}
.ind .ind-tx{display:flex;flex-direction:column;padding-top:8px;transition:opacity .35s}
.ind .ind-tx.sw{opacity:0}
.ind .ind-tx .micro{font:500 11px/1 "MF Mono",monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--fg3)}
.ind .ind-tx .h3{margin:14px 0 0;font-size:28px;line-height:1.12;color:var(--ink)}
.ind .ind-tx>p{margin-top:14px;font-size:15px;line-height:1.6}
.ind .ind-tx ul{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.ind .ind-tx li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--fg2)}
.ind .ind-tx li i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--c)}
.ind .ind-tx .lk{margin-top:auto;padding-top:24px}
.ind .itw{position:relative;min-height:440px;border-radius:14px;background:#0E100D;color:#F2EEE5;box-shadow:inset 0 0 0 1px rgba(242,238,229,.08),0 34px 70px -44px rgba(11,13,10,.75);overflow:hidden;font-family:"MF Manrope",sans-serif}
.ind .tw-bar{display:flex;align-items:center;gap:14px;height:42px;padding:0 16px;box-shadow:inset 0 -1px 0 rgba(242,238,229,.08)}
.ind .tw-bar .dots{display:flex;gap:6px}.ind .tw-bar .dots i{width:9px;height:9px;border-radius:50%;background:rgba(242,238,229,.16)}
.ind .tw-bar .tt{flex:1;text-align:center;font:500 10.5px/1 "MF Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,229,.6)}
.ind .tw-bar .lv{display:flex;align-items:center;gap:6px;font:500 10.5px/1 "MF Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,238,229,.75)}
.ind .tw-bar .lv i{width:6px;height:6px;border-radius:50%;background:#CEF25A;box-shadow:0 0 0 3px rgba(206,242,90,.18)}
.ind .tw-m{position:absolute;inset:42px 0 0 0;display:grid;grid-template-columns:184px 1fr}
.ind .tw-side{padding:16px 14px;box-shadow:inset -1px 0 0 rgba(242,238,229,.08)}
.ind .tw-side .k{display:block;margin-bottom:10px;font:500 9.5px/1 "MF Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,229,.45)}
.ind .tw-src{display:flex;align-items:center;gap:9px;height:34px;padding:0 9px;margin-bottom:4px;border-radius:8px;font-size:12.5px;color:rgba(242,238,229,.84);transition:background .4s}
.ind .tw-src i{flex:none;width:6px;height:6px;border-radius:50%;background:#90ECE2}
.ind .tw-src.pulse{background:rgba(242,238,229,.06)}
.ind .tw-side .fl{display:block;height:6px;margin:14px 9px 0;border-radius:3px;background:rgba(242,238,229,.07)}
.ind .tw-side .fl.s{width:60%}
.ind .tw-plan{position:relative;overflow:hidden}
.ind .tw-plan canvas{position:absolute;inset:0;width:100%;height:100%}
.ind .tw-flag{position:absolute;z-index:2;padding:5px 8px;border-radius:999px;background:#0B0D0A;box-shadow:inset 0 0 0 1px rgba(245,182,136,.45);font:500 10px/1 "MF Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:#F5B688;white-space:nowrap;opacity:0;transform:translate(-50%,calc(-100% - 8px)) translateY(6px);transition:opacity .5s var(--ease),transform .7s var(--ease),color .5s,box-shadow .5s}
.ind .tw-flag.on{opacity:1;transform:translate(-50%,calc(-100% - 8px))}
.ind .tw-flag.ok{color:#90ECE2;box-shadow:inset 0 0 0 1px rgba(144,236,226,.4)}
.ind .tw-card{position:absolute;right:16px;bottom:16px;z-index:3;width:252px;padding:13px 15px 14px;border-radius:11px;background:#F7F5EF;color:#121510;box-shadow:0 22px 44px -24px rgba(0,0,0,.85);opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.ind .tw-card.on{opacity:1;transform:none}
.ind .tw-card .lb{position:relative;height:12px;overflow:hidden;font:500 10px/12px "MF Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.ind .tw-card .lb>span{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;white-space:nowrap;transition:transform .6s var(--ease),opacity .4s}
.ind .tw-card .lb .s1{color:rgba(18,21,16,.6)}
.ind .tw-card .lb .s2{color:#5E7A12;transform:translateY(100%);opacity:0}
.ind .tw-card.ok .lb .s1{transform:translateY(-100%);opacity:0}
.ind .tw-card.ok .lb .s2{transform:none;opacity:1}
.ind .tw-card .sug{display:block;margin-top:9px;font:600 13.5px/1.3 "MF Manrope",sans-serif;text-wrap:balance}
.ind .tw-card .why{display:block;margin-top:4px;font-size:12px;line-height:1.38;color:rgba(18,21,16,.62)}
.ind .tw-card .bt{display:flex;gap:6px;max-height:40px;margin-top:11px;overflow:hidden;transition:max-height .6s var(--ease),margin .6s var(--ease),opacity .4s}
.ind .tw-card.ok .bt{max-height:0;margin-top:0;opacity:0}
.ind .tw-card .bt span{display:inline-flex;align-items:center;height:27px;padding:0 11px;border-radius:7px;font:500 12px/1 "MF Manrope",sans-serif;transition:transform .15s,background .2s}
.ind .tw-card .bt .y{background:#121510;color:#F7F5EF}.ind .tw-card .bt .y.press{transform:scale(.95)}
.ind .tw-card .bt .n{color:rgba(18,21,16,.6);box-shadow:inset 0 0 0 1px rgba(18,21,16,.14)}
.ind .tw-cur{position:absolute;z-index:4;width:17px;height:21px;margin:-2px 0 0 -3px;opacity:0;transition:opacity .35s;pointer-events:none;transform-origin:3px 2px}
.ind .tw-cur.press{transform:scale(.88)}
.ind .ind-note{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px}
@media (max-width:1100px){.ind .ind-b{grid-template-columns:1fr;gap:26px}}
@media (max-width:760px){.ind .tiles{height:auto;flex-direction:column}.ind .tile{flex:none;height:96px}.ind .tile.on{height:200px;flex:none}.ind .itw{min-height:380px}.ind .tw-m{grid-template-columns:1fr}.ind .tw-side{display:none}.ind .tw-card{left:12px;right:12px;width:auto;bottom:12px}.ind .tw-cur{display:none}}

/* 10 · Our Commitment: six promises in a letter, signed by the team */
.cm .cm-g{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:start}
.cm .cm-l{position:relative;padding:46px 50px 40px;border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line),0 40px 80px -56px rgba(18,21,16,.45)}
.cm .cm-to{font:400 22px/1.3 "MF Display Light","MF Display",sans-serif;letter-spacing:-.01em;color:var(--fg2)}
.cm .cm-l ol{list-style:none;margin:26px 0 0;padding:0}
.cm .cm-l li{display:grid;grid-template-columns:40px 1fr;gap:4px 8px;padding:17px 0;border-top:1px solid var(--line)}
.cm .cm-l li .n{grid-row:span 2;font:500 12px/1.75 "MF Mono",monospace;color:var(--c)}
.cm .cm-l li b{font:400 20px/1.25 "MF Display Light","MF Display",sans-serif;font-weight:400;letter-spacing:-.012em;color:var(--ink)}
.cm .cm-l li span{font-size:14px;line-height:1.55;color:var(--fg2)}
.cm .cm-sig{display:flex;align-items:center;gap:16px;margin-top:22px;padding-top:24px;border-top:1px solid var(--line)}
.cm .cm-sig img{width:46px;height:auto}
.cm .cm-sig .lt{display:none}
html[data-theme=dark] .cm .cm-sig .dk{display:none}
html[data-theme=dark] .cm .cm-sig .lt{display:block}
.cm .cm-sig b{display:block;font:500 14px/1.3 "MF Manrope",sans-serif;color:var(--ink)}
.cm .cm-sig small{display:block;margin-top:3px;font-size:13px;color:var(--fg3)}
.cm .cm-sig .sl{margin-left:auto;font:400 19px/1 "MF Display Thin","MF Display",sans-serif;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.cm .cm-sig .sl i{display:inline-block;width:.24em;height:.24em;margin-left:.05em;border-radius:50%;background:var(--lmD)}
.cm .cm-side .lede{margin-top:22px}
.cm .cm-side .cm-q{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.cm .cm-side .cm-q b{display:block;font:400 26px/1.25 "MF Display Thin","MF Display",sans-serif;font-weight:400;letter-spacing:-.02em;color:var(--ink)}
.cm .cm-side .cm-q span{display:block;margin-top:10px;font-size:14px;color:var(--fg3)}
@media (max-width:900px){.cm .cm-g{grid-template-columns:1fr;gap:36px}.cm .cm-l{padding:30px 22px 26px}.cm .cm-sig{flex-wrap:wrap}.cm .cm-sig .sl{margin-left:0}}

/* 12 · Questions: plain answers; each is a <details name="faq">, which also feeds the FAQPage data */
.fq .fq-g{display:grid;grid-template-columns:1fr 1.5fr;gap:72px;align-items:start}
.fq .fq-side .lede{margin-top:22px}
.fq .fq-side .btn{margin-top:28px}
.fq .fq-l{border-top:1px solid var(--line)}
.fq details{border-bottom:1px solid var(--line)}
.fq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 2px;list-style:none;cursor:pointer;font:400 20px/1.3 "MF Display Light","MF Display",sans-serif;letter-spacing:-.012em;color:var(--ink)}
.fq summary::-webkit-details-marker{display:none}
.fq summary i{position:relative;flex:none;width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line2);transition:background .3s,box-shadow .3s}
.fq summary i::before,.fq summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;margin:-.75px 0 0 -5px;background:var(--ink);transition:transform .45s var(--ease)}
.fq summary i::after{transform:rotate(90deg)}
.fq details[open] summary i{background:var(--ink)}
.fq details[open] summary i::before,.fq details[open] summary i::after{background:var(--paper)}
.fq details[open] summary i::after{transform:rotate(0)}
.fq summary:hover i{box-shadow:inset 0 0 0 1px var(--fg3)}
.fq details .a{padding:0 64px 24px 2px}
.fq details .a p{font-size:15.5px;line-height:1.65;color:var(--fg2)}
.fq details[open] .a{animation:fqIn .6s var(--ease)}
@keyframes fqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:900px){.fq .fq-g{grid-template-columns:1fr;gap:32px}.fq summary{font-size:18px}.fq details .a{padding-right:8px}}


/* ---------------------------------------------------------------- 12 Nov 2026 revisions */
/* In Plain Words: one venue, four ideas, a live twin stage */
.pw2 .pw-story{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:52px;align-items:start}
.pw2 .pw-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pw2 .pw-s{position:relative;border-bottom:1px solid var(--line)}
.pw2 .pw-s button{display:grid;grid-template-columns:36px 1fr;gap:0 4px;width:100%;padding:22px 0 20px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}
.pw2 .pw-s .n{grid-row:span 2;font:500 12px/2 "MF Mono",monospace;color:var(--fg3);transition:color .4s}
.pw2 .pw-s b{display:flex;align-items:center;gap:10px;font:400 24px/1.2 "MF Display Light","MF Display",sans-serif;letter-spacing:-.015em;color:var(--fg2);transition:color .4s}
.pw2 .pw-s b i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--c);opacity:.45;transition:opacity .4s,transform .6s var(--ease)}
.pw2 .pw-s .d{display:block;margin-top:9px;font-size:14.5px;line-height:1.55;color:var(--fg3);transition:color .45s}
.pw2 .pw-s .pr{position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--c)}
.pw2 .pw-s .lk{position:absolute;right:0;top:26px;font-size:13px;opacity:0;transform:translateX(-6px);transition:opacity .4s,transform .6s var(--ease);pointer-events:none}
.pw2 .pw-s:hover b{color:var(--ink)}
.pw2 .pw-s.on b{color:var(--ink)}.pw2 .pw-s.on .n{color:var(--c)}.pw2 .pw-s.on b i{opacity:1;transform:scale(1.35)}.pw2 .pw-s.on .d{color:var(--fg2)}
.pw2 .pw-s.on .lk{opacity:1;transform:none;pointer-events:auto}
.pw2 .pw-s button:focus-visible{outline:2px solid var(--c);outline-offset:4px;border-radius:6px}
.pw2 .pw-stage{position:relative;margin:0;--c:var(--oD)}
.pw2 .pw-view{position:relative;height:580px;border-radius:16px;background:#0E100D;box-shadow:inset 0 0 0 1px rgba(242,238,229,.09),0 40px 90px -50px rgba(0,0,0,.85);overflow:hidden}
.pw2 .pw-view canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s}
.pw2 .pw-stage.live .pw-view canvas{opacity:1}
.pw2 .pw-hud{position:absolute;left:20px;right:20px;top:18px;z-index:3;display:flex;justify-content:space-between;align-items:center;font:500 11px/1 "MF Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,238,229,.6)}
.pw2 .pw-hud .st{display:flex;align-items:center;gap:10px}.pw2 .pw-hud .st b{font-weight:500;color:var(--c)}.pw2 .pw-hud .st .nm{color:#F2EEE5}
.pw2 .pw-hud .d4{gap:5px}.pw2 .pw-hud .d4 i{width:6px;height:6px}
.pw2 .pw-hud .d4 i:nth-child(1){background:#90ECE2}.pw2 .pw-hud .d4 i:nth-child(2){background:#A6B5DD}.pw2 .pw-hud .d4 i:nth-child(3){background:#CEF25A}.pw2 .pw-hud .d4 i:nth-child(4){background:#F5B688}
.pw2 .pw-hud .lv{display:flex;align-items:center;gap:7px}.pw2 .pw-hud .lv i{width:6px;height:6px;border-radius:50%;background:rgba(242,238,229,.5)}
.pw2 .pw-tag{position:absolute;z-index:2;display:flex;align-items:center;gap:7px;padding:6px 10px 6px 8px;border-radius:999px;background:#0B0D0A;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 55%,transparent);font:500 10.5px/1 "MF Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:#F2EEE5;white-space:nowrap;transform:translate(-50%,calc(-100% - 12px)) translateY(6px);opacity:0;transition:opacity .5s,transform .7s var(--ease);pointer-events:none}
.pw2 .pw-tag i{width:6px;height:6px;border-radius:50%;background:var(--c)}
.pw2 .pw-tag::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:12px;background:color-mix(in srgb,var(--c) 60%,transparent)}
.pw2 .pw-tag.on{opacity:1;transform:translate(-50%,calc(-100% - 12px))}
.pw2 .pw-card{position:absolute;right:18px;top:52px;z-index:3;width:262px;padding:13px 15px 14px;border-radius:11px;background:#F7F5EF;color:#121510;box-shadow:0 22px 44px -24px rgba(0,0,0,.85);opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.pw2 .pw-card.on{opacity:1;transform:none}
.pw2 .pw-card .lb{position:relative;height:12px;overflow:hidden;font:500 10px/12px "MF Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.pw2 .pw-card .lb>span{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;white-space:nowrap;transition:transform .6s var(--ease),opacity .4s}
.pw2 .pw-card .lb .s1{color:rgba(18,21,16,.6)}.pw2 .pw-card .lb .s2{color:#5E7A12;transform:translateY(100%);opacity:0}
.pw2 .pw-card .lb .d4{gap:4px}.pw2 .pw-card .lb .d4 i{width:5px;height:5px}
.pw2 .pw-card.ok .lb .s1{transform:translateY(-100%);opacity:0}.pw2 .pw-card.ok .lb .s2{transform:none;opacity:1}
.pw2 .pw-card .sug{display:block;margin-top:9px;font:600 14px/1.3 "MF Manrope",sans-serif}
.pw2 .pw-card .why{display:block;margin-top:4px;font-size:12.5px;line-height:1.4;color:rgba(18,21,16,.62)}
.pw2 .pw-card .bt{display:flex;gap:6px;max-height:40px;margin-top:11px;overflow:hidden;transition:max-height .6s var(--ease),margin .6s var(--ease),opacity .4s}
.pw2 .pw-card.ok .bt{max-height:0;margin-top:0;opacity:0}
.pw2 .pw-card .bt span{display:inline-flex;align-items:center;height:27px;padding:0 11px;border-radius:7px;font:500 12px/1 "MF Manrope",sans-serif;transition:transform .15s}
.pw2 .pw-card .bt .y{background:#121510;color:#F7F5EF}.pw2 .pw-card .bt .y.press{transform:scale(.95)}
.pw2 .pw-card .bt .n{color:rgba(18,21,16,.6);box-shadow:inset 0 0 0 1px rgba(18,21,16,.14)}
.pw2 .pw-cur{position:absolute;z-index:4;width:17px;height:21px;margin:-2px 0 0 -3px;opacity:0;transition:opacity .35s;pointer-events:none;transform-origin:3px 2px}
.pw2 .pw-cur.press{transform:scale(.88)}
.pw2 .pw-cap{display:flex;align-items:flex-start;gap:16px;min-height:62px;margin-top:20px}
.pw2 .pw-cap p{margin:0;max-width:640px;font:400 21px/1.4 "MF Display Light","MF Display",sans-serif;letter-spacing:-.01em;color:var(--ink);transition:opacity .4s,transform .6s var(--ease)}
.pw2 .pw-cap.sw p{opacity:0;transform:translateY(6px)}
@media (max-width:1100px){.pw2 .pw-story{grid-template-columns:1fr;gap:28px}.pw2 .pw-view{height:480px}}
@media (max-width:640px){.pw2 .pw-view{height:380px}.pw2 .pw-card{left:12px;right:12px;top:auto;bottom:12px;width:auto}.pw2 .pw-cur{display:none}.pw2 .pw-s .lk{position:static;display:none;margin:0 0 16px 40px}.pw2 .pw-s.on .lk{display:inline-flex}.pw2 .pw-cap p{font-size:18px}.pw2 .pw-hud .lv{display:none}}
/* Industries: the twin window draws a live twin scene */
.ind .itw .tw-plan canvas{opacity:0;transition:opacity 1s}.ind .itw.live .tw-plan canvas{opacity:1}
.ind .itw{min-height:480px}
/* Our Commitment: three phases on a dotted landscape */
.cm2 .cm-band{position:relative;height:150px;margin:6px 0 0}
.cm2 .cm-band canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.cm2 .cm-band .mk{position:absolute;left:var(--x);top:50%;width:13px;height:13px;margin:-6.5px;border-radius:50%;background:var(--c);box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 16%,transparent);transition:transform .6s var(--ease),box-shadow .6s}
.cm2 .cm-band .mk.lit{transform:scale(1.4);box-shadow:0 0 0 7px color-mix(in srgb,var(--c) 22%,transparent)}
.cm2 .cm-cols{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.cm2 .cm-p{position:relative;padding:30px 40px 6px 0}
.cm2 .cm-p+.cm-p{padding-left:40px;box-shadow:inset 1px 0 0 var(--line)}
.cm2 .cm-p::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--c);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.1s var(--ease)}
.cm2 .cm-p.lit::before,.cm2 .cm-p:hover::before{transform:none}
.cm2 .cm-k{display:flex;align-items:center;gap:9px;font:500 11.5px/1 "MF Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.cm2 .cm-k i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.cm2 .cm-t{margin:18px 0 0;font:400 clamp(30px,2.7vw,40px)/1.08 "MF Display Thin","MF Display",sans-serif;letter-spacing:-.028em;color:var(--ink)}
.cm2 .cm-p ol{list-style:none;margin:28px 0 0;padding:0}
.cm2 .cm-p li{display:grid;grid-template-columns:34px 1fr;gap:5px 4px;padding:18px 0;border-top:1px solid var(--line)}
.cm2 .cm-p li .n{grid-row:span 2;font:500 12px/1.8 "MF Mono",monospace;color:var(--fg3);transition:color .5s}
.cm2 .cm-p:hover li .n,.cm2 .cm-p.lit li .n{color:var(--c)}
.cm2 .cm-p li b{font:400 19px/1.25 "MF Display Light","MF Display",sans-serif;font-weight:400;letter-spacing:-.012em;color:var(--ink)}
.cm2 .cm-p li span{font-size:14px;line-height:1.55;color:var(--fg2)}
.cm2 .cm-sig{margin-top:34px}
@media (max-width:900px){.cm2 .cm-band{height:110px}.cm2 .cm-cols{grid-template-columns:1fr;border-top:0}.cm2 .cm-p,.cm2 .cm-p+.cm-p{padding:26px 0 4px;box-shadow:inset 0 1px 0 var(--line)}.cm2 .cm-band .mk{display:none}}
/* Next step: a brighter consultation card */
.sg.nb .bk.tw .shade{background:linear-gradient(180deg,rgba(var(--g),.38) 0%,rgba(var(--g),0) 18%,rgba(var(--g),0) 44%,rgba(var(--g),.42) 70%,rgba(var(--g),.78) 100%)}


.pw2 .pw-s .lk{position:static;display:none;margin:-6px 0 20px 40px;font-size:13.5px;opacity:1;transform:none;pointer-events:auto}.pw2 .pw-s.on .lk{display:inline-flex}.pw2 .pw-s.on button{padding-bottom:14px}

/* Industries (12 Nov 2026, later): the photos alone, each a link to its industry page */
.ind .tiles{height:420px;margin-bottom:0}
.ind a.tile{display:block;color:inherit;text-decoration:none}
.ind .tile .go{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font:500 13.5px/1 "MF Manrope",sans-serif;font-style:normal;color:#F2EEE5;opacity:0;transform:translateY(6px);transition:opacity .45s .1s,transform .6s var(--ease)}
.ind .tile .go i{font-style:normal;transition:transform .4s var(--ease)}
.ind .tile.on .go{opacity:1;transform:none}.ind .tile:hover .go i{transform:translateX(4px)}
.ind a.tile:focus-visible{outline:2px solid var(--oD);outline-offset:3px}
.ind .ind-note{margin-top:20px}
@media (max-width:760px){.ind .tiles{height:auto}.ind .tile .go{display:none}}

