@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500&family=Manrope:wght@400;500;600;700&family=Noto+Sans+JP:wght@300;400;500&display=swap');

:root{--paper:#f3f1eb;--ink:#161713;--muted:#686b64;--line:#c8c7c0;--signal:#ec4d2f;--surface:#faf9f5;--radius:2px;--shell:min(1440px,calc(100vw - 48px));font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button,a{color:inherit}a{text-decoration:none}img{display:block;max-width:100%}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:72px;width:var(--shell);margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.04em}.brand span{display:grid;place-items:center;width:27px;height:27px;color:var(--paper);background:var(--ink);font-size:14px}.site-header nav{display:flex;gap:28px;font-size:13px}.site-header nav a{padding:12px 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a.is-current{border-color:currentColor}.site-header :focus-visible,.button:focus-visible,.filter:focus-visible,
.intro{min-height:640px;padding:70px 0 56px;display:grid;grid-template-columns:minmax(350px,.78fr) 1.6fr;gap:6vw;align-items:center}.intro-copy{position:relative;z-index:2}.kicker,.section-index{font:500 11px/1 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.16em;margin:0 0 24px}.intro h1{font-size:clamp(54px,6.4vw,102px);line-height:1.06;letter-spacing:-.075em;margin:0 0 30px;font-weight:600}.lede{font-size:17px;line-height:1.55;max-width:470px;color:#454842;margin:0 0 36px}.text-link{font:500 12px/1 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.1em;display:inline-flex;gap:10px;padding-bottom:7px;border-bottom:1px solid}.intro-art{margin:0;min-width:0;overflow:hidden}.intro-art img{width:100%;height:390px;object-fit:cover;object-position:center;border:1px solid rgba(0,0,0,.08)}
.collection{padding:72px 0 110px;border-top:1px solid var(--ink)}.collection-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.collection-head h2{font-size:clamp(36px,4vw,64px);letter-spacing:-.055em;line-height:1;margin:0;font-weight:600}.collection-head .section-index{margin-bottom:18px}.result-count{font:400 12px "IBM Plex Mono",monospace;color:var(--muted);margin:0 0 6px}.toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:36px}.search input{width:100%;border:0;background:transparent;padding:8px 0;color:var(--ink);outline:none}.search input::placeholder{color:#7c7e78}.filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid transparent;background:transparent;border-radius:999px;padding:8px 13px;font-size:12px;cursor:pointer}.filter:hover{border-color:var(--line)}.filter.is-active{background:var(--ink);color:var(--paper)}
.style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 20px}.style-card{min-width:0}.card-meta p{font-size:12px;line-height:1.45;color:var(--muted);margin:0;max-width:36ch}
.empty{text-align:center;padding:80px 20px;border:1px solid var(--line)}.empty button{border:0;border-bottom:1px solid;background:none;padding:5px;cursor:pointer}.site-footer{min-height:110px;border-top:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;font-size:12px}.site-footer a{border-bottom:1px solid}
.prompt-dialog{width:min(860px,calc(100vw - 32px));max-height:86dvh;padding:0;border:1px solid var(--ink);background:var(--surface);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.22)}.prompt-dialog::backdrop{background:rgba(15,16,14,.66);backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;padding:28px 30px 22px;border-bottom:1px solid var(--line)}.dialog-head .kicker{margin-bottom:10px}.dialog-head h2{margin:0;font-size:28px}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:transparent;font-size:24px;cursor:pointer}.prompt-dialog pre{white-space:pre-wrap;word-break:break-word;margin:0;padding:28px 30px;max-height:52dvh;overflow:auto;font:12px/1.65 "IBM Plex Mono",monospace}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 30px;border-top:1px solid var(--line)}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--ink);font-size:12px;font-weight:600;cursor:pointer}.button.primary{background:var(--ink);color:var(--paper)}.button.secondary{background:transparent}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,24px);opacity:0;background:var(--ink);color:#fff;padding:12px 18px;font-size:12px;transition:.2s ease;z-index:100;pointer-events:none}.toast.is-visible{transform:translate(-50%,0);opacity:1}
.detail-hero{width:var(--shell);margin:auto;padding:64px 0 70px;display:grid;grid-template-columns:.8fr 1.35fr;gap:6vw;align-items:end}.detail-title .kicker{margin-bottom:18px}.detail-title h1{font-size:clamp(54px,7vw,112px);line-height:.88;letter-spacing:-.075em;margin:0 0 26px}.detail-title>p:not(.kicker){font-size:17px;line-height:1.55;max-width:440px;color:var(--muted)}.detail-actions{display:flex;gap:10px;margin-top:32px}.detail-content{padding:75px 0 110px;border-top:1px solid var(--ink)}.detail-section{display:grid;grid-template-columns:280px 1fr;gap:40px;padding:36px 0;border-bottom:1px solid var(--line)}.detail-section h2{font-size:13px;text-transform:uppercase;letter-spacing:.09em;margin:0}.detail-section .body{max-width:840px}.detail-section .body>p{font-size:25px;line-height:1.35;letter-spacing:-.025em;margin:0}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:150px}.swatch-color{height:86px;border:1px solid rgba(0,0,0,.12)}.swatch code{display:block;margin-top:9px;font:11px "IBM Plex Mono",monospace}.type-specimen{display:grid;grid-template-columns:1fr 1fr;gap:20px}.type-block{border:1px solid var(--line);padding:24px}.type-block span{font:10px "IBM Plex Mono",monospace;text-transform:uppercase}.type-block strong{display:block;font-size:42px;margin-top:25px;line-height:1}.dial-list{display:grid;gap:16px}.dial{display:grid;grid-template-columns:160px 1fr 30px;align-items:center;gap:16px;font-size:12px}.dial-track{height:3px;background:var(--line)}.dial-track i{display:block;height:100%;background:var(--ink)}.guardrails{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guardrails div{padding:22px;border:1px solid var(--line)}.guardrails h3{margin:0 0 16px;font-size:12px;text-transform:uppercase}.guardrails ul{margin:0;padding-left:18px;line-height:1.7;font-size:14px}

.demo-shell{min-height:100dvh;background:var(--demo-bg);color:var(--demo-text);font-family:var(--demo-body);--accent:var(--demo-accent);--line:color-mix(in srgb,var(--demo-text),transparent 76%)}.demo-nav{height:72px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:13px}.demo-nav strong{font-family:var(--demo-display);font-size:19px}.demo-nav div{display:flex;gap:22px}.demo-exit{position:fixed;right:16px;bottom:16px;background:var(--demo-text);color:var(--demo-bg);padding:12px 15px;font:11px "IBM Plex Mono",monospace;z-index:10}.demo-hero{min-height:630px;padding:8vw 4vw 6vw;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.demo-hero h1{font-family:var(--demo-display);font-size:clamp(58px,8vw,132px);line-height:.84;letter-spacing:-.07em;margin:0}.demo-hero p{font-size:17px;line-height:1.6;max-width:37ch}.demo-cta{margin-top:28px;display:inline-flex;padding:13px 17px;background:var(--accent);color:var(--demo-button);border:1px solid var(--demo-text);box-shadow:var(--demo-shadow);border-radius:var(--demo-radius);font-weight:600}.demo-object{height:430px;background:var(--accent);position:relative;border-radius:var(--demo-radius);box-shadow:var(--demo-shadow);overflow:hidden}.demo-object:before{content:"";position:absolute;width:65%;aspect-ratio:1;border:2px solid var(--demo-text);border-radius:50%;top:12%;left:18%}.demo-object:after{content:"";position:absolute;inset:auto 10% 10% 10%;height:28%;background:var(--demo-bg);border:1px solid var(--demo-text)}.demo-content{padding:6vw 4vw;border-top:1px solid var(--line)}.demo-content h2{font-family:var(--demo-display);font-size:clamp(36px,5vw,72px);line-height:.95;max-width:13ch;margin:0 0 50px}.demo-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:16px}.demo-panel{min-height:230px;border:1px solid var(--line);padding:24px;border-radius:var(--demo-radius)}.demo-panel:nth-child(2){background:var(--accent);color:var(--demo-button)}.demo-panel span{font:10px "IBM Plex Mono",monospace;text-transform:uppercase}.demo-panel h3{font-family:var(--demo-display);font-size:26px;margin:70px 0 10px}.demo-panel p{font-size:13px;line-height:1.55;opacity:.76}.demo-footer{padding:28px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}
.intro h1{font-size:clamp(54px,5.6vw,86px)}
body{min-width:1024px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.detail-title .style-source{font-size:12px!important;margin-top:18px}
.style-source a{border-bottom:1px solid currentColor}
.demo-shell.style-apple-cupertino{background:radial-gradient(circle at 78% 18%,rgba(10,132,255,.16),transparent 34%),var(--demo-bg)}
.demo-shell.style-apple-cupertino .demo-nav{margin:14px 2vw 0;height:58px;padding:0 24px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:rgba(255,255,255,.58);box-shadow:0 12px 38px rgba(71,89,112,.12);backdrop-filter:blur(20px)}
.demo-shell.style-apple-cupertino .demo-object,.demo-shell.style-apple-cupertino .demo-panel{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.5);box-shadow:0 22px 60px rgba(71,89,112,.16);backdrop-filter:blur(20px)}
.demo-shell.style-apple-cupertino .demo-object:before{background:linear-gradient(145deg,rgba(10,132,255,.76),rgba(111,188,255,.18));border:0}
.demo-shell.style-apple-cupertino .demo-cta{border:0;border-radius:999px;box-shadow:0 10px 24px rgba(10,132,255,.24)}
.demo-shell.style-google-material .demo-nav{border:0;background:#eeeefe;margin:12px 2vw 0;border-radius:28px;padding:0 24px}
.demo-shell.style-google-material .demo-object{border-radius:42px 14px 42px 42px;background:linear-gradient(145deg,#4f55d9 0 48%,#d9c7ff 48% 70%,#f9d46c 70%);box-shadow:0 18px 38px rgba(79,85,217,.18)}
.demo-shell.style-google-material .demo-object:before{border:0;background:#fff;border-radius:44% 56% 60% 40%}
.demo-shell.style-google-material .demo-cta{border:0;border-radius:18px 6px 18px 18px;box-shadow:0 8px 18px rgba(79,85,217,.2)}
.demo-shell.style-google-material .demo-panel{border:0;background:#eeedf8;border-radius:28px 8px 28px 28px}
.demo-shell.style-google-material .demo-panel:nth-child(2){background:#d9c7ff;color:#1d1b20}
.demo-shell.style-japan-ma .demo-nav{margin:0 4vw;padding:0;border-color:#c8c4ba}
.demo-shell.style-japan-ma .demo-hero{grid-template-columns:1.4fr .6fr;gap:12vw}
.demo-shell.style-japan-ma .demo-hero h1{font-weight:500;letter-spacing:-.045em}
.demo-shell.style-japan-ma .demo-object{height:360px;align-self:end;background:transparent;border:1px solid #171714}
.demo-shell.style-japan-ma .demo-object:before{width:44%;left:28%;background:#b3151b;border:0}
.demo-shell.style-japan-ma .demo-object:after{height:1px;background:#171714}
.demo-shell.style-japan-ma .demo-cta{background:transparent;color:#171714;border-width:0 0 1px;padding-left:0;padding-right:0}
.demo-shell.style-japan-ma .demo-content{padding-top:9vw;padding-bottom:9vw}
.demo-shell.style-japan-ma .demo-grid{gap:0;border-top:1px solid #c8c4ba}
.demo-shell.style-japan-ma .demo-panel{border:0;border-right:1px solid #c8c4ba;border-radius:0;padding:32px}
.demo-shell.style-japan-ma .demo-panel:last-child{border-right:0}
.demo-shell.style-japan-ma .demo-panel:nth-child(2){background:transparent;color:#171714}

/* Immersive style detail */
.showcase-page{background:#111}
.showcase-toolbar{height:52px;position:fixed;inset:0 0 auto;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;background:#151614;color:#f7f6f1;border-bottom:1px solid rgba(255,255,255,.2);font:500 11px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em}
.showcase-toolbar span{justify-self:center;color:#a9aaa5}.showcase-toolbar button{justify-self:end;border:1px solid #f7f6f1;background:#f7f6f1;color:#151614;padding:9px 13px;cursor:pointer;text-transform:uppercase;font:inherit}.showcase-toolbar a,.showcase-toolbar button{transition:opacity .15s ease}.showcase-toolbar a:hover,.showcase-toolbar button:hover{opacity:.7}.showcase-toolbar a:focus-visible,.showcase-toolbar button:focus-visible{outline:3px solid #ec4d2f;outline-offset:2px}
.showcase-page .demo-shell{padding-top:52px}
.demo-eyebrow{font:500 10px "IBM Plex Mono",monospace!important;text-transform:uppercase;letter-spacing:.14em;margin:0 0 24px!important;opacity:.7}
.demo-marquee{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.demo-marquee span{padding:22px 4vw;border-right:1px solid var(--line);font:500 11px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.demo-marquee span:last-child{border-right:0}
.demo-approach{padding:8vw 4vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;border-top:1px solid var(--line);align-items:start}
.demo-approach blockquote{font-family:var(--demo-display);font-size:clamp(34px,4vw,66px);line-height:1.08;letter-spacing:-.045em;margin:0}
.demo-approach h2,.demo-contact h2{font-family:var(--demo-display);font-size:clamp(42px,5vw,82px);line-height:.95;letter-spacing:-.055em;margin:0 0 28px}.demo-approach>div>p{max-width:54ch;font-size:17px;line-height:1.65}
.demo-approach dl{display:grid;grid-template-columns:repeat(3,1fr);margin:64px 0 0;border-top:1px solid var(--line)}.demo-approach dl div{padding:20px 14px 0 0}.demo-approach dt{font-family:var(--demo-display);font-size:42px}.demo-approach dd{margin:6px 0 0;font-size:11px;opacity:.68}
.demo-contact{min-height:520px;padding:8vw 4vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:var(--accent);color:var(--demo-button)}.demo-contact p{font:500 11px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.demo-contact h2{max-width:14ch}.demo-contact a{display:inline-block;border-bottom:1px solid;padding-bottom:6px;font-weight:700}
.style-apple-cupertino .demo-marquee{margin:0 2vw;border:1px solid rgba(255,255,255,.74);border-radius:18px;background:rgba(255,255,255,.42);box-shadow:0 14px 40px rgba(71,89,112,.1);backdrop-filter:blur(18px);overflow:hidden}.style-apple-cupertino .demo-approach blockquote{color:#0a84ff}.style-apple-cupertino .demo-contact{margin:0 2vw 2vw;border-radius:28px;background:linear-gradient(145deg,#087bf0,#72baff)}
.style-google-material .demo-marquee{margin:0 2vw;border:0;border-radius:28px 8px 28px 28px;background:#eeeefe;overflow:hidden}.style-google-material .demo-approach blockquote{color:#4f55d9}.style-google-material .demo-contact{margin:0 2vw 2vw;border-radius:42px 14px 42px 42px;background:#4f55d9}
.style-japan-ma .demo-marquee{margin:0 4vw}.style-japan-ma .demo-approach{grid-template-columns:1.25fr .75fr;gap:14vw}.style-japan-ma .demo-approach blockquote{font-weight:400}.style-japan-ma .demo-contact{background:#171714;color:#f7f5ef;align-items:center;text-align:center}.style-japan-ma .demo-contact p{color:#c8c4ba}.style-japan-ma .demo-contact a{color:#f7f5ef}

/* Fieldwork canonical demo */
.fieldwork{--fw-surface:color-mix(in srgb,var(--demo-bg),var(--demo-text) 4%);--fw-raised:color-mix(in srgb,var(--demo-bg),#fff 38%);--fw-line:color-mix(in srgb,var(--demo-text),transparent 82%);font-family:var(--demo-body)}
.fw-nav{height:76px;padding:0 3vw;display:grid;grid-template-columns:1fr auto minmax(220px,.55fr) 42px;gap:26px;align-items:center;border-bottom:1px solid var(--fw-line);position:relative;z-index:2}.fw-brand{display:flex;align-items:center;gap:11px;font-family:var(--demo-display);font-size:20px;font-weight:700}.fw-brand i{display:block;width:22px;height:22px;background:var(--accent);border-radius:var(--demo-radius)}.fw-navlinks{display:flex;gap:24px;font-size:12px}.fw-navlinks a{opacity:.68}.fw-search{height:40px;display:flex;align-items:center;gap:10px;border:1px solid var(--fw-line);padding:0 12px;border-radius:var(--demo-radius);font-size:11px}.fw-search span{opacity:.56}.fw-search input{width:100%;border:0;outline:0;background:transparent;color:inherit;font-size:12px}.fw-avatar{width:38px;height:38px;border:0;border-radius:50%;background:var(--demo-text);color:var(--demo-bg);font-size:10px;font-weight:700}
.fw-hero{padding:58px 4vw 44px;border-bottom:1px solid var(--fw-line)}.fw-breadcrumb{font-size:11px;opacity:.58;margin-bottom:54px}.fw-title{display:flex;justify-content:space-between;gap:7vw;align-items:flex-end}.fw-title>div:first-child{max-width:850px}.fw-status{display:inline-flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}.fw-status:before{content:"";width:7px;height:7px;background:var(--accent);border-radius:50%}.fw-title h1{font-family:var(--demo-display);font-size:clamp(74px,9vw,148px);line-height:.78;letter-spacing:-.075em;margin:0}.fw-title p{font-size:17px;line-height:1.6;max-width:50ch;margin:32px 0 0;opacity:.7}.fw-actions{display:flex;gap:9px;padding-bottom:5px}.fw-primary,.fw-secondary{min-height:44px;padding:0 17px;border-radius:var(--demo-radius);font-weight:700;font-size:12px;cursor:pointer}.fw-primary{background:var(--accent);color:var(--demo-button);border:1px solid var(--accent)}.fw-secondary{background:transparent;color:inherit;border:1px solid var(--fw-line)}
.fw-metrics{display:grid;grid-template-columns:1.2fr repeat(3,1fr);margin-top:70px;border-top:1px solid var(--fw-line);border-bottom:1px solid var(--fw-line)}.fw-metrics article{min-height:150px;padding:22px 22px 18px 0;border-right:1px solid var(--fw-line);display:flex;flex-direction:column}.fw-metrics article+article{padding-left:22px}.fw-metrics article:last-child{border-right:0}.fw-metrics span,.fw-metrics small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.58}.fw-metrics strong{font-family:var(--demo-display);font-size:46px;margin:auto 0 5px}.fw-metrics i{height:4px;background:var(--fw-line);margin-top:auto}.fw-metrics i b{display:block;height:100%;background:var(--accent)}
.fw-workspace,.fw-timeline,.fw-assets,.fw-settings{padding:7vw 4vw;border-bottom:1px solid var(--fw-line)}.fw-section-head{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:45px}.fw-section-head p,.fw-settings-copy>p{margin:0 0 13px;font-size:10px;text-transform:uppercase;letter-spacing:.13em;opacity:.58}.fw-section-head h2,.fw-settings h2,.fw-closing h2{font-family:var(--demo-display);font-size:clamp(40px,5vw,76px);line-height:.94;letter-spacing:-.055em;margin:0}.fw-section-head>a,.fw-section-head>span{font-size:11px;opacity:.64}.fw-view-switch{display:flex;border:1px solid var(--fw-line);padding:3px;border-radius:var(--demo-radius)}.fw-view-switch button{border:0;background:transparent;color:inherit;padding:9px 13px;font-size:10px;cursor:pointer}.fw-view-switch .is-active{background:var(--demo-text);color:var(--demo-bg);border-radius:calc(var(--demo-radius) * .7)}
.fw-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fw-column{background:var(--fw-surface);border:1px solid var(--fw-line);padding:16px;border-radius:var(--demo-radius)}.fw-column>header{display:flex;justify-content:space-between;align-items:center;padding:3px 3px 17px}.fw-column h3{font-size:12px;margin:0}.fw-column>header span{font-size:10px;opacity:.5}.fw-task{min-height:170px;background:var(--demo-bg);border:1px solid var(--fw-line);padding:18px;margin-top:10px;border-radius:var(--demo-radius)}.fw-task.is-featured{background:var(--accent);color:var(--demo-button);border-color:transparent}.fw-task small{text-transform:uppercase;letter-spacing:.1em;font-size:9px;opacity:.62}.fw-task h4{font-family:var(--demo-display);font-size:22px;line-height:1.1;margin:32px 0 9px}.fw-task p{font-size:12px;line-height:1.55;opacity:.7}.fw-task footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:9px}.fw-task footer b{width:25px;height:25px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%}
.fw-timeline{background:var(--fw-surface)}.fw-table{border-top:1px solid var(--fw-line)}.fw-row{display:grid;grid-template-columns:1.5fr 1fr 1fr .6fr;gap:20px;align-items:center;min-height:74px;border-bottom:1px solid var(--fw-line);font-size:12px}.fw-table-head{min-height:48px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.fw-row time{text-align:right}.fw-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px}
.fw-gallery{display:grid;grid-template-columns:1.25fr .75fr .8fr;gap:16px;align-items:stretch}.fw-photo{margin:0}.fw-photo>div{height:430px;border-radius:var(--demo-radius);position:relative;overflow:hidden;background:var(--fw-line)}.fw-photo-a>div{background:linear-gradient(145deg,color-mix(in srgb,var(--accent),#fff 25%),var(--accent))}.fw-photo-a>div:before{content:"";position:absolute;width:60%;height:120%;left:20%;top:-10%;border:1px solid currentColor;border-radius:48% 52% 40% 60%;transform:rotate(18deg);opacity:.55}.fw-photo-b>div{background:repeating-linear-gradient(90deg,var(--demo-text) 0 1px,transparent 1px 32px),linear-gradient(var(--fw-surface),var(--demo-bg))}.fw-photo-b>div:before{content:"01\A 04\A 12\A 26";white-space:pre;position:absolute;inset:28px;font-family:var(--demo-display);font-size:54px;line-height:1.25;color:var(--accent)}.fw-photo figcaption{display:flex;justify-content:space-between;gap:14px;padding:13px 0;font-size:10px}.fw-photo figcaption span{opacity:.55}.fw-gallery blockquote{margin:0;padding:34px;display:flex;flex-direction:column;justify-content:space-between;background:var(--demo-text);color:var(--demo-bg);border-radius:var(--demo-radius);font-family:var(--demo-display);font-size:30px;line-height:1.18}.fw-gallery cite{font-family:var(--demo-body);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-style:normal;opacity:.6}
.fw-settings{display:grid;grid-template-columns:.8fr 1.2fr;gap:12vw}.fw-settings-copy>p:last-child{font-size:15px;line-height:1.65;max-width:42ch;text-transform:none;letter-spacing:0;opacity:.68;margin-top:28px}.fw-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}.fw-form>label,.fw-form fieldset{display:grid;gap:9px;font-size:11px}.fw-form input[type=text],.fw-form select,.fw-form textarea{width:100%;border:1px solid var(--fw-line);border-radius:var(--demo-radius);background:var(--fw-surface);color:inherit;padding:13px;font:inherit;outline:none}.fw-form textarea,.fw-form fieldset{grid-column:1/-1}.fw-form fieldset{border:1px solid var(--fw-line);padding:16px}.fw-form legend{padding:0 8px}.fw-form input:focus,.fw-form select:focus,.fw-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 78%)}.fw-form>div{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px}
.fw-closing{min-height:640px;padding:8vw 4vw;background:var(--accent);color:var(--demo-button);display:flex;flex-direction:column;justify-content:center}.fw-closing>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.fw-closing h2{font-size:clamp(62px,8vw,128px);max-width:13ch;margin:38px 0}.fw-closing a{align-self:flex-start;border-bottom:1px solid;padding-bottom:6px;font-size:12px}.fw-footer{display:flex;justify-content:space-between;padding:28px 4vw;border-top:1px solid var(--fw-line);font-size:10px}
.fieldwork.style-apple-cupertino{--fw-surface:rgba(255,255,255,.46);--fw-raised:rgba(255,255,255,.7)}.style-apple-cupertino .fw-nav{margin:14px 2vw 0;height:60px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.58);box-shadow:0 14px 40px rgba(71,89,112,.12);backdrop-filter:blur(20px)}.style-apple-cupertino .fw-column,.style-apple-cupertino .fw-task,.style-apple-cupertino .fw-search,.style-apple-cupertino .fw-form input,.style-apple-cupertino .fw-form select,.style-apple-cupertino .fw-form textarea,.style-apple-cupertino .fw-form fieldset{background:rgba(255,255,255,.54);border-color:rgba(255,255,255,.8);box-shadow:0 12px 34px rgba(71,89,112,.09);backdrop-filter:blur(18px)}.style-apple-cupertino .fw-primary{border-radius:999px;box-shadow:0 8px 20px rgba(10,132,255,.2)}.style-apple-cupertino .fw-secondary,.style-apple-cupertino .fw-view-switch{border-radius:999px}.style-apple-cupertino .fw-closing{margin:0 2vw 2vw;border-radius:28px;background:linear-gradient(145deg,#087bf0,#72baff)}
.fieldwork.style-google-material{--fw-surface:#eeedf8}.style-google-material .fw-nav{margin:12px 2vw 0;border:0;border-radius:28px;background:#eeeefe;padding:0 24px}.style-google-material .fw-primary{border:0;border-radius:18px 6px 18px 18px;box-shadow:0 8px 18px rgba(79,85,217,.18)}.style-google-material .fw-secondary,.style-google-material .fw-view-switch{border-radius:18px 6px 18px 18px}.style-google-material .fw-column{border:0;border-radius:30px 10px 30px 30px}.style-google-material .fw-task{border:0;border-radius:22px 8px 22px 22px}.style-google-material .fw-gallery blockquote{border-radius:36px 12px 36px 36px}.style-google-material .fw-closing{margin:0 2vw 2vw;border-radius:42px 14px 42px 42px;background:#4f55d9}
.fieldwork.style-japan-ma{--fw-surface:#f0eee8}.style-japan-ma .fw-nav{margin:0 4vw;padding:0;border-color:#c8c4ba}.style-japan-ma .fw-hero{padding-top:9vw;padding-bottom:7vw}.style-japan-ma .fw-title{display:grid;grid-template-columns:1.35fr .65fr}.style-japan-ma .fw-title h1{font-weight:500}.style-japan-ma .fw-primary{background:#171714;color:#f7f5ef}.style-japan-ma .fw-board{gap:0;border-top:1px solid #c8c4ba}.style-japan-ma .fw-column{background:transparent;border:0;border-right:1px solid #c8c4ba;border-radius:0}.style-japan-ma .fw-column:last-child{border-right:0}.style-japan-ma .fw-task{border-width:1px 0 0;background:transparent;border-radius:0}.style-japan-ma .fw-task.is-featured{background:#b3151b;color:#fff;padding-left:22px;padding-right:22px}.style-japan-ma .fw-gallery{grid-template-columns:1.4fr .6fr .7fr;gap:28px}.style-japan-ma .fw-gallery blockquote{border-radius:0}.style-japan-ma .fw-settings{grid-template-columns:1.1fr .9fr}.style-japan-ma .fw-closing{background:#171714;color:#f7f5ef;align-items:center;text-align:center}.style-japan-ma .fw-closing a{align-self:center}

/* Fieldwork motion system */
.fieldwork{--motion-fast:160ms;--motion-base:520ms;--motion-ease:cubic-bezier(.16,1,.3,1)}
.fieldwork.style-google-material{--motion-fast:220ms;--motion-base:680ms;--motion-ease:cubic-bezier(.2,0,0,1)}
.fieldwork.style-japan-ma{--motion-fast:180ms;--motion-base:760ms;--motion-ease:cubic-bezier(.22,.61,.36,1)}
.fieldwork .fw-nav,.fieldwork .fw-breadcrumb,.fieldwork .fw-status,.fieldwork .fw-title h1,.fieldwork .fw-title p,.fieldwork .fw-actions,.fieldwork .fw-metrics{opacity:0;transform:translateY(18px)}
.fieldwork.is-ready .fw-nav{animation:fw-enter var(--motion-base) var(--motion-ease) forwards}.fieldwork.is-ready .fw-breadcrumb{animation:fw-enter var(--motion-base) .05s var(--motion-ease) forwards}.fieldwork.is-ready .fw-status{animation:fw-enter var(--motion-base) .1s var(--motion-ease) forwards}.fieldwork.is-ready .fw-title h1{animation:fw-enter calc(var(--motion-base) * 1.15) .14s var(--motion-ease) forwards}.fieldwork.is-ready .fw-title p{animation:fw-enter var(--motion-base) .23s var(--motion-ease) forwards}.fieldwork.is-ready .fw-actions{animation:fw-enter var(--motion-base) .29s var(--motion-ease) forwards}.fieldwork.is-ready .fw-metrics{animation:fw-enter var(--motion-base) .34s var(--motion-ease) forwards}
.fieldwork .fw-metrics i b{transform:scaleX(0);transform-origin:left}.fieldwork.is-ready .fw-metrics i b{animation:fw-progress 1.1s .72s var(--motion-ease) forwards}
.fieldwork.is-ready .fw-workspace,.fieldwork.is-ready .fw-timeline,.fieldwork.is-ready .fw-assets,.fieldwork.is-ready .fw-settings,.fieldwork.is-ready .fw-closing{opacity:0;transform:translateY(42px);transition:opacity var(--motion-base) var(--motion-ease),transform var(--motion-base) var(--motion-ease)}
.fieldwork.is-ready .is-revealed{opacity:1;transform:none}
.fieldwork .fw-task{transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) ease,border-color var(--motion-fast) ease}.fieldwork .fw-task:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent),transparent 42%);box-shadow:0 16px 38px color-mix(in srgb,var(--demo-text),transparent 88%)}
.fieldwork .fw-column:nth-child(2){transition-delay:70ms}.fieldwork .fw-column:nth-child(3){transition-delay:140ms}.fieldwork .fw-row{transition:background var(--motion-fast) ease,padding var(--motion-fast) var(--motion-ease)}.fieldwork .fw-row:not(.fw-table-head):hover{background:color-mix(in srgb,var(--accent),transparent 92%);padding-left:12px;padding-right:12px}
.fieldwork .fw-photo>div{transition:transform var(--motion-base) var(--motion-ease),filter var(--motion-base) ease}.fieldwork .fw-photo:hover>div{transform:scale(.985);filter:saturate(1.12)}.fieldwork .fw-photo-a>div:before{animation:fw-drift 9s ease-in-out infinite alternate}.fieldwork .fw-photo-b>div:before{transition:transform var(--motion-base) var(--motion-ease)}.fieldwork .fw-photo-b:hover>div:before{transform:translateY(-10px)}
.fieldwork .fw-primary,.fieldwork .fw-secondary,.fieldwork .fw-view-switch button,.fieldwork .fw-avatar{transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) ease,background var(--motion-fast) ease,color var(--motion-fast) ease}.fieldwork button:hover{transform:translateY(-2px)}.fieldwork button:active{transform:translateY(0) scale(.97)}
.fieldwork .fw-brand i{transition:transform var(--motion-base) var(--motion-ease);animation:fw-mark 4.5s ease-in-out infinite}.fieldwork .fw-brand:hover i{transform:rotate(90deg) scale(1.08)}.fieldwork .fw-closing h2{transition:letter-spacing .8s var(--motion-ease)}.fieldwork .fw-closing:hover h2{letter-spacing:-.065em}
.style-google-material .fw-task:hover{transform:translateY(-6px) rotate(-.25deg)}.style-google-material .fw-primary:hover{box-shadow:0 14px 28px rgba(79,85,217,.28)}.style-google-material .fw-dot{animation:fw-pulse 2s ease-in-out infinite}
.style-japan-ma .fw-task:hover{transform:translateX(7px);box-shadow:none}.style-japan-ma .fw-photo:hover>div{transform:translateY(-6px);filter:none}.style-japan-ma .fw-brand i{animation-duration:7s}
@keyframes fw-enter{to{opacity:1;transform:none}}
@keyframes fw-progress{to{transform:scaleX(1)}}
@keyframes fw-drift{from{transform:rotate(15deg) translate3d(-2%,0,0)}to{transform:rotate(20deg) translate3d(3%,-2%,0)}}
@keyframes fw-mark{0%,100%{border-radius:var(--demo-radius);transform:rotate(0)}50%{border-radius:50%;transform:rotate(45deg)}}
@keyframes fw-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}
@media (prefers-reduced-motion:reduce){.fieldwork .fw-nav,.fieldwork .fw-breadcrumb,.fieldwork .fw-status,.fieldwork .fw-title h1,.fieldwork .fw-title p,.fieldwork .fw-actions,.fieldwork .fw-metrics,.fieldwork.is-ready .fw-workspace,.fieldwork.is-ready .fw-timeline,.fieldwork.is-ready .fw-assets,.fieldwork.is-ready .fw-settings,.fieldwork.is-ready .fw-closing{opacity:1!important;transform:none!important}.fieldwork .fw-metrics i b{transform:scaleX(1)!important}}

/* Signal Atlas — canonical data-story demo */
.signal-atlas{--sa-line:color-mix(in srgb,var(--demo-text),transparent 80%);--sa-surface:color-mix(in srgb,var(--demo-bg),var(--demo-text) 5%);--sa-ease:cubic-bezier(.16,1,.3,1);font-family:var(--demo-body);overflow:hidden}.signal-atlas main{display:block}.sa-nav{height:74px;padding:0 3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--sa-line);position:relative;z-index:10}.sa-brand{display:flex;align-items:center;gap:11px;font-family:var(--demo-display);font-weight:700}.sa-brand>i{width:20px;height:20px;background:var(--accent);display:block}.sa-nav>div{display:flex;gap:28px;font-size:11px}.sa-nav>p{justify-self:end;display:flex;align-items:center;gap:8px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.sa-nav>p i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent),transparent 82%)}
.sa-slide{min-height:calc(100vh - 52px);position:relative}.sa-index{font-size:10px!important;text-transform:uppercase;letter-spacing:.14em;opacity:.62}.sa-opening{padding:6vw 4vw 3vw;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:5vw}.sa-opening-copy{position:relative;z-index:2}.sa-opening h1{font-family:var(--demo-display);font-size:clamp(72px,8.6vw,142px);line-height:.82;letter-spacing:-.075em;margin:30px 0;max-width:8ch}.sa-deck{font-size:18px;line-height:1.6;max-width:43ch;opacity:.72}.sa-actions{display:flex;gap:10px;margin-top:38px}.sa-primary,.sa-secondary{min-height:46px;display:inline-flex;align-items:center;padding:0 18px;border:1px solid var(--demo-text);font-size:11px;font-weight:700;border-radius:var(--demo-radius)}.sa-primary{background:var(--accent);border-color:var(--accent);color:var(--demo-button)}.sa-secondary{background:transparent;color:inherit}.sa-orbit{height:min(660px,70vh);position:relative;display:grid;place-items:center}.sa-globe{width:min(480px,34vw);aspect-ratio:1;border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(circle at 35% 25%,color-mix(in srgb,var(--accent),#fff 30%),var(--accent) 62%,color-mix(in srgb,var(--accent),#000 28%));box-shadow:0 40px 100px color-mix(in srgb,var(--accent),transparent 62%)}.sa-globe:after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 23px,color-mix(in srgb,var(--demo-bg),transparent 85%) 24px),repeating-linear-gradient(90deg,transparent 0 39px,color-mix(in srgb,var(--demo-bg),transparent 88%) 40px);mix-blend-mode:overlay}.sa-land{position:absolute;background:color-mix(in srgb,var(--demo-bg),transparent 16%);filter:blur(.2px);z-index:2}.sa-land.one{width:38%;height:53%;left:16%;top:16%;border-radius:70% 30% 55% 45%;transform:rotate(-18deg)}.sa-land.two{width:27%;height:38%;right:15%;top:26%;border-radius:42% 58% 70% 30%;transform:rotate(22deg)}.sa-land.three{width:25%;height:18%;right:27%;bottom:13%;border-radius:50%;transform:rotate(-12deg)}.sa-pulse{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--demo-bg);z-index:4}.sa-pulse:after{content:"";position:absolute;inset:-8px;border:1px solid var(--demo-bg);border-radius:50%}.sa-pulse.p1{left:31%;top:37%}.sa-pulse.p2{right:27%;top:43%}.sa-pulse.p3{right:35%;bottom:22%}.sa-orbit-ring{position:absolute;border:1px solid var(--sa-line);border-radius:50%;inset:12%}.sa-orbit-ring.ring-two{inset:4%;transform:rotate(61deg);border-style:dashed}.sa-orbit-label{position:absolute;margin:0;padding:12px 15px;background:var(--demo-bg);border:1px solid var(--sa-line);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.sa-orbit-label b{display:block;font:700 18px var(--demo-display);margin-top:5px;letter-spacing:-.03em}.sa-orbit-label.top{right:1%;top:18%}.sa-orbit-label.bottom{left:2%;bottom:17%}.sa-scroll{position:absolute;bottom:24px;left:4vw;right:4vw;display:flex;justify-content:space-between;border-top:1px solid var(--sa-line);padding-top:14px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.sa-kpis{min-height:auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--sa-line);border-bottom:1px solid var(--sa-line)}.sa-kpis article{min-height:330px;padding:30px 2.5vw;display:flex;flex-direction:column;border-right:1px solid var(--sa-line)}.sa-kpis article:last-child{border:0}.sa-kpis span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;opacity:.58}.sa-kpis strong{font-family:var(--demo-display);font-size:clamp(58px,6vw,102px);letter-spacing:-.07em;margin:auto 0 12px}.sa-kpis p{font-size:12px;line-height:1.55;max-width:25ch;opacity:.64}
.sa-map{display:grid;grid-template-columns:.68fr 1.6fr .55fr;gap:3vw;padding:7vw 4vw;background:var(--sa-surface);align-items:center}.sa-map header h2,.sa-section-title h2,.sa-region-story h2,.sa-forecast h2,.sa-closing h2{font-family:var(--demo-display);font-size:clamp(48px,5.7vw,92px);line-height:.9;letter-spacing:-.06em;margin:24px 0}.sa-map header>p:last-child,.sa-region-story>p{font-size:14px;line-height:1.65;opacity:.68}.sa-map-canvas{height:560px;position:relative;border:1px solid var(--sa-line);overflow:hidden;background:var(--demo-bg)}.sa-map-grid{position:absolute;inset:0;background-image:linear-gradient(var(--sa-line) 1px,transparent 1px),linear-gradient(90deg,var(--sa-line) 1px,transparent 1px);background-size:42px 42px;opacity:.48}.sa-continent{position:absolute;background:color-mix(in srgb,var(--demo-text),transparent 88%)}.sa-continent.c1{width:28%;height:42%;left:8%;top:19%;border-radius:65% 35% 52% 48%;transform:rotate(-20deg)}.sa-continent.c2{width:18%;height:43%;left:42%;top:28%;border-radius:40% 60% 68% 32%;transform:rotate(12deg)}.sa-continent.c3{width:32%;height:31%;right:7%;top:19%;border-radius:55% 45% 38% 62%}.sa-continent.c4{width:15%;height:12%;right:12%;bottom:15%;border-radius:50%}.sa-hotspot{position:absolute;background:transparent;border:0;color:inherit;padding:0;font:inherit;cursor:pointer;z-index:3}.sa-hotspot i{display:block;width:15px;height:15px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px color-mix(in srgb,var(--accent),transparent 76%)}.sa-hotspot b{position:absolute;left:18px;top:-6px;white-space:nowrap;font-size:10px}.sa-hotspot.h1{left:24%;top:61%}.sa-hotspot.h2{left:49%;top:48%}.sa-hotspot.h3{right:22%;top:35%}.sa-map-legend{position:absolute;left:18px;bottom:16px;display:flex;gap:18px;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.sa-map-legend span{display:flex;align-items:center;gap:6px}.sa-map-legend i{width:7px;height:7px;background:var(--accent)}.sa-map-legend span+span i{background:transparent;border:1px solid currentColor}.sa-map aside{display:grid;gap:28px}.sa-map aside div{border-top:1px solid var(--sa-line);padding-top:14px}.sa-map aside span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.sa-map aside strong{display:block;font-family:var(--demo-display);font-size:32px;margin:14px 0 5px}.sa-map aside p{font-size:10px;opacity:.6}
.sa-trajectory{padding:7vw 4vw;background:var(--demo-text);color:var(--demo-bg)}.sa-trajectory .sa-section-title{max-width:850px}.sa-chart{height:520px;margin-top:5vw;position:relative;border-bottom:1px solid color-mix(in srgb,var(--demo-bg),transparent 74%);border-left:1px solid color-mix(in srgb,var(--demo-bg),transparent 74%)}.sa-chart svg{position:absolute;inset:20px 0 32px 52px;width:calc(100% - 52px);height:calc(100% - 52px);overflow:visible;color:var(--accent)}.sa-area{fill:url(#area)}.sa-line{fill:none;stroke-width:4;vector-effect:non-scaling-stroke}.sa-line.current{stroke:var(--accent)}.sa-line.target{stroke:var(--demo-bg);stroke-width:2;stroke-dasharray:8 8;opacity:.62}.sa-chart-y{position:absolute;left:-1px;top:0;bottom:28px;display:flex;flex-direction:column;justify-content:space-between;transform:translateX(-50%);font-size:8px;background:var(--demo-text);z-index:2}.sa-chart-x{position:absolute;left:52px;right:0;bottom:-24px;display:flex;justify-content:space-between;font-size:8px}.sa-chart-note{position:absolute;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.sa-chart-note b{display:block;font:700 28px var(--demo-display);margin-top:4px}.sa-chart-note.note-current{right:3%;top:8%;color:var(--accent)}.sa-chart-note.note-target{right:18%;top:52%}.sa-chart-caption{font:italic clamp(22px,2.3vw,38px)/1.35 var(--demo-display);max-width:34ch;margin:70px 0 0 auto}
.sa-regions{padding:7vw 4vw;display:grid;grid-template-columns:.85fr .7fr 1.15fr;gap:5vw;align-items:center}.sa-region-story a{display:inline-block;margin-top:35px;border-bottom:1px solid;padding-bottom:5px;font-size:11px}.sa-rings{display:grid;gap:42px}.sa-donut{width:260px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) 0 67%,var(--sa-line) 67%);position:relative}.sa-donut:after{content:"";position:absolute;inset:36px;background:var(--demo-bg);border-radius:50%}.sa-donut span{position:relative;z-index:2;text-align:center;font-size:9px;text-transform:uppercase}.sa-donut b{display:block;font:700 52px var(--demo-display);letter-spacing:-.06em}.sa-rings dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}.sa-rings dt{font:700 19px var(--demo-display)}.sa-rings dd{font-size:8px;margin:5px 0;opacity:.55}.sa-region-image{height:650px;background:linear-gradient(155deg,color-mix(in srgb,var(--accent),#000 30%),var(--accent));position:relative;overflow:hidden}.sa-region-image i{position:absolute;width:110%;height:38%;left:-5%;bottom:21%;border:1px solid var(--demo-bg);border-radius:48%;transform:rotate(-13deg);box-shadow:0 0 0 38px color-mix(in srgb,var(--demo-bg),transparent 85%),0 0 0 76px color-mix(in srgb,var(--demo-bg),transparent 90%)}.sa-region-image span{position:absolute;left:18px;bottom:16px;font-size:8px;text-transform:uppercase;color:var(--demo-button)}
.sa-forecast{padding:7vw 4vw;background:var(--sa-surface)}.sa-forecast header{display:flex;justify-content:space-between;align-items:end}.sa-year-switch{display:flex;border:1px solid var(--sa-line);padding:3px}.sa-year-switch button{min-width:68px;padding:10px;border:0;background:transparent;color:inherit;font-size:10px}.sa-year-switch button.is-active{background:var(--demo-text);color:var(--demo-bg)}.sa-forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:5vw}.sa-forecast-grid article{min-height:300px;border:1px solid var(--sa-line);padding:25px;display:flex;flex-direction:column}.sa-forecast-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.sa-forecast-grid strong{font:700 clamp(64px,7vw,112px) var(--demo-display);letter-spacing:-.07em;margin:auto 0}.sa-forecast-grid i{height:7px;background:var(--sa-line);position:relative}.sa-forecast-grid i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--value);background:var(--accent)}.sa-forecast>p{font-size:10px;opacity:.56;margin:22px 0 0}
.sa-evidence{padding:7vw 4vw}.sa-evidence .sa-section-title{max-width:900px}.sa-table{margin-top:5vw;border-top:1px solid var(--sa-line)}.sa-row{min-height:82px;display:grid;grid-template-columns:1.4fr 1fr 1fr .5fr;align-items:center;gap:20px;border-bottom:1px solid var(--sa-line);font-size:11px}.sa-table-head{min-height:48px;font-size:8px;text-transform:uppercase;letter-spacing:.1em;opacity:.55}.sa-row time{text-align:right}.sa-row i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px}.sa-closing{padding:8vw 4vw;background:var(--accent);color:var(--demo-button);display:flex;flex-direction:column;justify-content:center}.sa-closing>p{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.sa-closing h2{font-size:clamp(70px,9vw,148px);max-width:11ch;margin:44px 0}.sa-closing>div{display:flex;justify-content:space-between;border-top:1px solid currentColor;padding-top:18px;font-size:10px}.sa-footer{padding:28px 4vw;display:flex;justify-content:space-between;font-size:9px}
.signal-atlas.style-apple-cupertino{background:radial-gradient(circle at 77% 14%,rgba(10,132,255,.15),transparent 30%),var(--demo-bg)}.style-apple-cupertino .sa-nav{margin:14px 2vw 0;height:60px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:rgba(255,255,255,.6);box-shadow:0 14px 40px rgba(71,89,112,.12);backdrop-filter:blur(20px)}.style-apple-cupertino .sa-orbit-label,.style-apple-cupertino .sa-map-canvas,.style-apple-cupertino .sa-forecast-grid article{background:rgba(255,255,255,.54);border-color:rgba(255,255,255,.8);box-shadow:0 18px 48px rgba(71,89,112,.1);backdrop-filter:blur(18px)}.style-apple-cupertino .sa-primary,.style-apple-cupertino .sa-secondary{border-radius:999px}.style-apple-cupertino .sa-closing{margin:0 2vw 2vw;border-radius:28px;background:linear-gradient(145deg,#087bf0,#72baff)}
.style-google-material .sa-nav{margin:12px 2vw 0;height:62px;border:0;border-radius:30px;background:#eeeefe;padding:0 24px}.style-google-material .sa-primary,.style-google-material .sa-secondary{border-radius:18px 6px 18px 18px}.style-google-material .sa-orbit-label,.style-google-material .sa-map-canvas,.style-google-material .sa-forecast-grid article{border:0;border-radius:28px 8px 28px 28px;background:#eeedf8}.style-google-material .sa-region-image{border-radius:48px 14px 48px 48px}.style-google-material .sa-closing{margin:0 2vw 2vw;border-radius:44px 14px 44px 44px;background:#4f55d9}
.style-japan-ma .sa-nav{margin:0 4vw;padding:0}.style-japan-ma .sa-opening{grid-template-columns:1.18fr .82fr;padding-top:9vw}.style-japan-ma .sa-opening h1{font-weight:500}.style-japan-ma .sa-globe{box-shadow:none}.style-japan-ma .sa-kpis article{min-height:390px}.style-japan-ma .sa-map{grid-template-columns:.8fr 1.5fr .5fr}.style-japan-ma .sa-map-canvas{background:transparent}.style-japan-ma .sa-region-image{border:1px solid var(--sa-line)}.style-japan-ma .sa-closing{background:#171714;color:#f7f5ef;align-items:center;text-align:center}.style-japan-ma .sa-closing>div{width:100%}
.signal-atlas .sa-slide{opacity:0;transform:translateY(46px);transition:opacity .8s var(--sa-ease),transform .8s var(--sa-ease)}.signal-atlas .sa-slide.is-revealed{opacity:1;transform:none}.signal-atlas .sa-opening{opacity:1}.signal-atlas.is-ready .sa-opening-copy{animation:sa-enter .9s var(--sa-ease) both}.signal-atlas.is-ready .sa-orbit{animation:sa-enter 1.1s .12s var(--sa-ease) both}.signal-atlas .sa-globe{animation:sa-float 7s ease-in-out infinite}.signal-atlas .ring-one{animation:sa-spin 26s linear infinite}.signal-atlas .ring-two{animation:sa-spin-reverse 38s linear infinite}.signal-atlas .sa-pulse:after{animation:sa-ripple 2.3s ease-out infinite}.signal-atlas .sa-hotspot i{animation:sa-ripple 2.5s ease-out infinite}.signal-atlas .sa-row,.signal-atlas .sa-forecast-grid article{transition:transform .22s var(--sa-ease),background .22s ease}.signal-atlas .sa-row:not(.sa-table-head):hover{transform:translateX(10px);background:color-mix(in srgb,var(--accent),transparent 93%)}.signal-atlas .sa-forecast-grid article:hover{transform:translateY(-7px)}.signal-atlas button,.signal-atlas a{transition:transform .18s var(--sa-ease),opacity .18s ease}.signal-atlas button:hover,.signal-atlas .sa-primary:hover{transform:translateY(-2px)}.signal-atlas button:active{transform:scale(.97)}.signal-atlas .sa-line{stroke-dasharray:1600;stroke-dashoffset:1600}.signal-atlas .sa-trajectory.is-revealed .sa-line{animation:sa-draw 2s .2s var(--sa-ease) forwards}.signal-atlas .sa-trajectory.is-revealed .target{animation-delay:.55s}.signal-atlas .sa-forecast-grid i:after{transform:scaleX(0);transform-origin:left}.signal-atlas .sa-forecast.is-revealed .sa-forecast-grid i:after{animation:sa-bar 1s .35s var(--sa-ease) forwards}
@keyframes sa-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes sa-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1deg)}}@keyframes sa-spin{to{transform:rotate(360deg)}}@keyframes sa-spin-reverse{from{transform:rotate(61deg)}to{transform:rotate(-299deg)}}@keyframes sa-ripple{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--demo-bg),transparent 35%)}100%{box-shadow:0 0 0 18px transparent}}@keyframes sa-draw{to{stroke-dashoffset:0}}@keyframes sa-bar{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.signal-atlas .sa-slide,.signal-atlas .sa-opening-copy,.signal-atlas .sa-orbit{opacity:1!important;transform:none!important}.signal-atlas .sa-line{stroke-dasharray:none!important;stroke-dashoffset:0!important}.signal-atlas .sa-forecast-grid i:after{transform:none!important}}

/* B-Style Control Room */
.control-room{--cr-line:color-mix(in srgb,var(--demo-text),transparent 81%);--cr-surface:color-mix(in srgb,var(--demo-bg),var(--demo-text) 5%);--cr-ease:cubic-bezier(.16,1,.3,1);font-family:var(--demo-body);overflow:hidden}.control-room h1,.control-room h2,.control-room strong{font-family:var(--demo-display)}.cr-nav{height:72px;padding:0 3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--cr-line)}.cr-brand{display:flex;align-items:center;gap:10px;font-weight:700}.cr-brand i{width:25px;height:25px;display:grid;place-items:center;background:var(--demo-text);color:var(--demo-bg);font-size:12px;font-style:normal}.cr-nav>div{display:flex;gap:26px;font-size:11px}.cr-command{justify-self:end;border:1px solid var(--cr-line);background:transparent;color:inherit;padding:10px 13px;border-radius:var(--demo-radius);font-size:10px}.cr-label{font-size:9px!important;text-transform:uppercase;letter-spacing:.14em;opacity:.62}.cr-hero{min-height:calc(100vh - 52px);padding:6vw 4vw 3vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;position:relative}.cr-hero h1{font-size:clamp(78px,9vw,150px);line-height:.8;letter-spacing:-.08em;max-width:8ch;margin:30px 0}.cr-hero-copy>p:not(.cr-label){font-size:18px;line-height:1.6;max-width:43ch;opacity:.7}.cr-actions{display:flex;gap:10px;margin-top:38px}.cr-primary,.cr-secondary{min-height:45px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--demo-text);background:transparent;color:inherit;border-radius:var(--demo-radius);font-size:11px;font-weight:700}.cr-primary{background:var(--accent);border-color:var(--accent);color:var(--demo-button)}.cr-hero-stage{height:590px;position:relative}.cr-window{position:absolute;border:1px solid var(--cr-line);background:var(--demo-bg);box-shadow:0 30px 80px color-mix(in srgb,var(--demo-text),transparent 88%)}.cr-window header{height:42px;display:flex;align-items:center;gap:6px;padding:0 13px;border-bottom:1px solid var(--cr-line)}.cr-window header i{width:7px;height:7px;border-radius:50%;background:var(--cr-line)}.cr-window header b{margin-left:auto;font-size:9px}.cr-window.back{width:68%;height:62%;right:2%;top:5%;transform:rotate(4deg)}.cr-window.back>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:20px}.cr-window.back span{height:200px;background:var(--cr-surface)}.cr-window.front{width:72%;height:65%;left:4%;bottom:7%;transform:rotate(-2deg)}.cr-output{padding:42px}.cr-output small{font-size:9px;letter-spacing:.12em}.cr-output strong{display:block;font-size:48px;margin:45px 0 10px}.cr-output p{font-size:12px;opacity:.6}.cr-output>i{display:block;height:5px;background:var(--cr-line);margin-top:65px;position:relative}.cr-output>i:after{content:"";position:absolute;inset:0 auto 0 0;width:72%;background:var(--accent)}.cr-prompt-chip{position:absolute;right:0;bottom:14%;background:var(--accent);color:var(--demo-button);padding:15px 18px;font-size:10px;font-weight:700}.cr-hero>footer{position:absolute;left:4vw;right:4vw;bottom:24px;border-top:1px solid var(--cr-line);padding-top:14px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.cr-overview,.cr-library,.cr-compare,.cr-compatibility,.cr-add,.cr-uses{padding:7vw 4vw;border-top:1px solid var(--cr-line)}.cr-overview>header,.cr-library>header,.cr-compatibility>header{display:flex;justify-content:space-between;align-items:end;gap:50px}.cr-overview h2,.cr-library h2,.cr-section-copy h2,.cr-compatibility h2,.cr-add h2,.cr-uses h2,.cr-closing h2{font-size:clamp(48px,6vw,96px);line-height:.9;letter-spacing:-.065em;margin:22px 0 0;max-width:12ch}.cr-period,.cr-filters{display:flex;border:1px solid var(--cr-line);padding:3px;border-radius:var(--demo-radius)}.cr-period button,.cr-filters button{border:0;background:transparent;color:inherit;padding:9px 13px;font-size:9px}.cr-period .is-active,.cr-filters .is-active{background:var(--demo-text);color:var(--demo-bg)}.cr-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--cr-line);border-bottom:1px solid var(--cr-line);margin-top:60px}.cr-metrics article{min-height:180px;padding:22px;border-right:1px solid var(--cr-line);display:flex;flex-direction:column}.cr-metrics article:last-child{border:0}.cr-metrics span,.cr-metrics small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;opacity:.58}.cr-metrics strong{font-size:55px;margin:auto 0 5px}.cr-dashboard{display:grid;grid-template-columns:1.7fr .7fr;gap:16px;margin-top:16px}.cr-chart-card,.cr-activity{min-height:430px;border:1px solid var(--cr-line);padding:24px;background:var(--cr-surface)}.cr-chart-card>header,.cr-activity>header{display:flex;justify-content:space-between}.cr-chart-card>header div{display:grid;gap:8px}.cr-chart-card>header span,.cr-activity header{font-size:10px}.cr-chart-card>header b{font-size:8px;text-transform:uppercase;opacity:.55}.cr-chart-card>header>strong{font-size:30px}.cr-chart{height:290px;display:flex;align-items:end;gap:12px;margin-top:55px;border-bottom:1px solid var(--cr-line);position:relative}.cr-chart i{flex:1;background:var(--accent);min-width:10px;transform-origin:bottom}.cr-chart span{position:absolute;bottom:-24px;font-size:8px}.cr-chart span:last-child{right:0}.cr-activity header a{opacity:.55}.cr-activity ul{list-style:none;padding:0;margin:25px 0 0}.cr-activity li{display:flex;gap:12px;padding:17px 0;border-top:1px solid var(--cr-line)}.cr-activity li>i{width:9px;height:9px;margin-top:4px;background:var(--accent);border-radius:50%}.cr-activity p{margin:0;display:grid;gap:5px;font-size:11px}.cr-activity p span{font-size:9px;opacity:.55}
.cr-library header label{min-width:300px;border-bottom:1px solid var(--demo-text);padding:10px 0;display:flex;gap:12px;font-size:10px}.cr-library header input{border:0;background:transparent;color:inherit;outline:0;width:100%}.cr-filters{margin:34px 0;display:inline-flex}.cr-style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cr-style>div{height:430px;padding:24px;position:relative;overflow:hidden;background:var(--cr-surface);border:1px solid var(--cr-line)}.cr-style>div>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.cr-style>div>strong{position:absolute;left:24px;bottom:28px;font-size:44px;line-height:.9;letter-spacing:-.06em}.cr-style>div>i{position:absolute;width:180px;aspect-ratio:1;border-radius:50%;right:-20px;top:55px;background:var(--accent)}.cr-style>div>button{position:absolute;right:20px;bottom:20px;border:1px solid currentColor;background:var(--demo-bg);color:var(--demo-text);padding:10px;font-size:9px}.cr-style footer{display:flex;justify-content:space-between;padding:13px 0;font-size:9px}.cr-style.apple>div{background:linear-gradient(145deg,#eef5ff,#fff)}.cr-style.material>div{background:linear-gradient(145deg,#e8e6ff 0 62%,#ffe39c 62%)}.cr-style.material>div>i{border-radius:38% 62% 58% 42%;background:#545be7}.cr-style.japan>div{background:#f7f4ec;color:#171714}.cr-style.japan>div>i{width:130px;background:#b3151b;right:50px;top:80px}.cr-style.japan>div>strong{font-weight:500}
.cr-compare{display:grid;grid-template-columns:.7fr 1.5fr;gap:7vw;background:var(--cr-surface)}.cr-section-copy>p:not(.cr-label){font-size:14px;line-height:1.65;max-width:43ch;opacity:.66;margin-top:28px}.cr-compare-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cr-compare-card{min-height:500px;background:var(--demo-bg);border:1px solid var(--cr-line);padding:14px}.cr-compare-card>header{display:flex;align-items:center;gap:8px;font-size:9px}.cr-compare-card>header i{width:10px;height:10px;border-radius:50%;background:var(--accent)}.cr-mini-ui{margin-top:60px;padding:16px;border:1px solid var(--cr-line)}.cr-mini-ui small{font-size:8px;text-transform:uppercase}.cr-mini-ui strong{display:block;font-size:26px;margin:30px 0 6px}.cr-mini-ui p{font-size:10px}.cr-mini-ui>i{height:4px;background:var(--cr-line);display:block;margin:35px 0}.cr-mini-ui>i b{display:block;width:72%;height:100%;background:var(--accent)}.cr-mini-ui button{width:100%;border:0;background:var(--accent);color:var(--demo-button);padding:11px}.cr-compare-card.apple{border-radius:20px;background:#f5f8fc}.cr-compare-card.apple .cr-mini-ui{border-radius:14px;box-shadow:0 14px 30px rgba(50,70,100,.1)}.cr-compare-card.apple button{border-radius:999px}.cr-compare-card.material{border-radius:30px 8px 30px 30px;background:#eeedf8}.cr-compare-card.material .cr-mini-ui{border:0;border-radius:22px 6px 22px 22px;background:#fff}.cr-compare-card.material button{border-radius:16px 5px 16px 16px}.cr-compare-card.japan{background:#f7f4ec;color:#171714}.cr-compare-card.japan .cr-mini-ui{border-width:1px 0}.cr-compare-card.japan button{background:#171714;color:#fff}
.cr-compatibility>header>span{font-size:9px;opacity:.55}.cr-table{margin-top:55px;border-top:1px solid var(--cr-line)}.cr-row{min-height:78px;display:grid;grid-template-columns:1.3fr repeat(4,.8fr) .7fr;gap:15px;align-items:center;border-bottom:1px solid var(--cr-line);font-size:10px}.cr-table-head{min-height:45px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;opacity:.55}.cr-row i{font-style:normal;opacity:.65}.cr-add{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;background:var(--cr-surface)}.cr-form{display:grid;gap:22px}.cr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cr-form label{display:grid;gap:8px;font-size:10px}.cr-form input,.cr-form select,.cr-form textarea{border:1px solid var(--cr-line);background:var(--demo-bg);color:inherit;padding:13px;border-radius:var(--demo-radius);font:inherit}.cr-form>fieldset{display:flex;gap:22px;border:1px solid var(--cr-line);padding:18px}.cr-form legend{padding:0 8px;font-size:10px}.cr-form>fieldset label{display:flex}.cr-form-actions{display:flex;justify-content:flex-end;gap:9px}.cr-uses{background:var(--demo-text);color:var(--demo-bg)}.cr-uses h2{max-width:13ch}.cr-uses>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid color-mix(in srgb,var(--demo-bg),transparent 75%)}.cr-uses article{min-height:260px;padding:22px;border-right:1px solid color-mix(in srgb,var(--demo-bg),transparent 75%);display:flex;flex-direction:column}.cr-uses article span{font-size:9px}.cr-uses article strong{font-size:26px;margin:auto 0}.cr-uses article i{height:4px;background:var(--accent)}.cr-closing{min-height:100vh;padding:8vw 4vw;background:var(--accent);color:var(--demo-button);display:flex;flex-direction:column;justify-content:center}.cr-closing>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.cr-closing h2{font-size:clamp(72px,9vw,150px);max-width:11ch;margin:45px 0}.cr-closing>div{display:flex;justify-content:space-between;border-top:1px solid currentColor;padding-top:18px;font-size:10px}.cr-footer{padding:28px 4vw;display:flex;justify-content:space-between;font-size:9px}
.control-room.style-apple-cupertino{background:radial-gradient(circle at 78% 12%,rgba(10,132,255,.14),transparent 30%),var(--demo-bg)}.style-apple-cupertino .cr-nav{margin:14px 2vw 0;height:60px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.58);box-shadow:0 14px 40px rgba(71,89,112,.12);backdrop-filter:blur(20px)}.style-apple-cupertino .cr-chart-card,.style-apple-cupertino .cr-activity,.style-apple-cupertino .cr-form input,.style-apple-cupertino .cr-form select,.style-apple-cupertino .cr-form textarea{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.8);box-shadow:0 16px 42px rgba(71,89,112,.09)}.style-apple-cupertino .cr-primary,.style-apple-cupertino .cr-secondary{border-radius:999px}.style-apple-cupertino .cr-closing{margin:0 2vw 2vw;border-radius:28px;background:linear-gradient(145deg,#087bf0,#72baff)}.style-google-material .cr-nav{margin:12px 2vw 0;height:62px;border:0;border-radius:30px;background:#eeeefe;padding:0 24px}.style-google-material .cr-primary,.style-google-material .cr-secondary{border-radius:18px 6px 18px 18px}.style-google-material .cr-chart-card,.style-google-material .cr-activity{border:0;border-radius:30px 9px 30px 30px;background:#eeedf8}.style-google-material .cr-closing{margin:0 2vw 2vw;border-radius:44px 14px 44px 44px;background:#4f55d9}.style-japan-ma .cr-nav{margin:0 4vw;padding:0}.style-japan-ma .cr-hero{grid-template-columns:1.15fr .85fr}.style-japan-ma .cr-hero h1{font-weight:500}.style-japan-ma .cr-dashboard{grid-template-columns:1.5fr .5fr}.style-japan-ma .cr-chart-card,.style-japan-ma .cr-activity{background:transparent;border-width:1px 0}.style-japan-ma .cr-style-grid{gap:28px}.style-japan-ma .cr-compare{grid-template-columns:1fr 1fr}.style-japan-ma .cr-closing{background:#171714;color:#f7f5ef;align-items:center;text-align:center}.style-japan-ma .cr-closing>div{width:100%}
.control-room .cr-reveal{opacity:0;transform:translateY(42px);transition:opacity .8s var(--cr-ease),transform .8s var(--cr-ease)}.control-room .cr-reveal.is-revealed{opacity:1;transform:none}.control-room .cr-hero{opacity:1}.control-room.is-ready .cr-hero-copy{animation:cr-enter .9s var(--cr-ease) both}.control-room.is-ready .cr-hero-stage{animation:cr-enter 1s .12s var(--cr-ease) both}.control-room .cr-window.front{animation:cr-float 6s ease-in-out infinite}.control-room .cr-window.back{animation:cr-float-back 8s ease-in-out infinite}.control-room .cr-chart i{transform:scaleY(0);transition:transform .7s var(--cr-ease)}.control-room .cr-overview.is-revealed .cr-chart i{transform:scaleY(1)}.control-room .cr-style,.control-room .cr-compare-card,.control-room .cr-row{transition:transform .22s var(--cr-ease),box-shadow .22s ease}.control-room .cr-style:hover,.control-room .cr-compare-card:hover{transform:translateY(-7px)}.control-room .cr-row:not(.cr-table-head):hover{transform:translateX(9px)}.control-room button,.control-room a{transition:transform .18s var(--cr-ease),opacity .18s ease}.control-room button:hover,.control-room .cr-primary:hover{transform:translateY(-2px)}.control-room button:active{transform:scale(.97)}
@keyframes cr-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes cr-float{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-13px)}}@keyframes cr-float-back{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(5deg) translateY(10px)}}
@media (prefers-reduced-motion:reduce){.control-room .cr-reveal,.control-room .cr-hero-copy,.control-room .cr-hero-stage{opacity:1!important;transform:none!important}.control-room .cr-chart i{transform:none!important}}
.intro h1 em{font-style:normal;color:var(--signal)}

.card-cover{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;border:1px solid var(--line);background:var(--surface);transition:transform .3s ease}
.style-card:hover .card-cover{transform:translateY(-3px)}
.card-meta p{font-size:13px;line-height:1.55;max-width:46ch}
@media (prefers-reduced-motion:reduce){.card-cover{transition:none}}
.intro-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start;padding-bottom:44px}
.intro-grid .col{display:grid;gap:10px}
.intro-grid .col:nth-child(even){transform:translateY(44px)}
.intro-grid img{display:block;width:100%;height:auto;aspect-ratio:3/5;object-fit:cover;border:0;border-radius:var(--radius)}
@keyframes mona-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.intro-grid img{animation:mona-in .8s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i,0)*70ms);transition:opacity .35s ease,filter .35s ease}
.intro-grid:has(.tile:hover) .tile:not(:hover) img{opacity:.42;filter:grayscale(.65)}
.intro-grid .tile{position:relative;display:block;border-radius:var(--radius);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;will-change:transform}
.intro-grid .tile::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.38),rgba(255,255,255,0) 55%);mix-blend-mode:soft-light}
.intro-grid .tile.is-active{box-shadow:0 22px 40px rgba(22,23,19,.22);z-index:2}
.intro-grid .tile.is-active::after{opacity:1}
@media (prefers-reduced-motion:reduce){.intro-grid img{animation:none!important}}
.intro .lede strong{color:var(--ink);font-weight:600}
.intro-roles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.intro-roles section{border-top:1px solid;padding:20px 0 0}
.intro-roles span{font:11px "IBM Plex Mono",monospace}
.intro-roles h3{font-size:22px;letter-spacing:-.03em;margin:22px 0 10px}
.intro-roles p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;max-width:36ch}

.style-card{display:flex;flex-direction:column}
.card-meta{display:flex;flex-direction:column;flex:1;padding-top:16px}
.card-meta p{flex:1}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 6px}
.card-head h3{font-size:18px;letter-spacing:-.025em;margin:0;white-space:nowrap}
.card-stats{display:flex;gap:12px;flex-shrink:0;font:400 12px "IBM Plex Mono",monospace;color:var(--muted);white-space:nowrap}
.card-stats>span{display:inline-flex;align-items:center;gap:5px}
.card-stats b{font-weight:500;color:var(--ink)}
.ic{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.card-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:36px;border:1px solid var(--ink);background:none;color:var(--ink);font:600 12.5px Manrope,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.card-btn:hover{background:var(--ink);color:var(--paper)}
.card-btn.primary{background:var(--ink);color:var(--paper)}
.card-btn.primary:hover{background:var(--signal);border-color:var(--signal)}
.card-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--signal),transparent 40%);outline-offset:3px}
.hero-stats{margin:-6px 0 26px;font:400 13px/1.6 "IBM Plex Mono",monospace;color:var(--muted);max-width:46ch}
.hero-stats b{font-weight:500;color:var(--ink)}
@media (prefers-reduced-motion:reduce){.card-btn{transition:none}}
.odo{display:inline-flex;align-items:flex-end;line-height:1}
.odo>span{display:inline-flex}
.od{display:inline-block;height:1em;overflow:hidden;line-height:1em;vertical-align:bottom}
.os{display:block;line-height:1em;transition:transform 2s cubic-bezier(.22,.9,.24,1)}
.odo-intro .os{transition-duration:5s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.odo-intro .od:nth-last-child(2) .os{transition-delay:.2s}
.odo-intro .od:last-child .os{transition-delay:.4s}
.osep{display:inline-block;line-height:1em}
@media (prefers-reduced-motion:reduce){.os{transition:none}}
