:root{--type-display-leading:1.05;--primitive-blue:#0250CC;--primitive-yellow:#FDC800;--primitive-green:#16A34A;--primitive-amber:#D97706;--primitive-red:#DC2626;--primitive-surface:#FFFFFF;--primitive-text:#111827;--primitive-navy:#0b2454;--primitive-line:#173b73;--primitive-font-display:"New Rocker",Georgia,"Times New Roman",serif;--primitive-font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--primitive-font-script:"Noto Sans Arabic","Noto Serif CJK SC","Noto Sans",ui-sans-serif,Arial,sans-serif;--primitive-space-1:8px;--primitive-space-2:16px;--primitive-space-3:24px;--primitive-space-4:32px;--primitive-space-5:48px;--primitive-space-6:64px;--primitive-space-7:96px;--primitive-radius-sm:4px;--primitive-radius-md:8px;--primitive-line-width:2px;--primitive-shadow:0 8px 0 rgba(2,80,204,.16);--surface-canvas:var(--primitive-surface);--surface-accent:var(--primitive-yellow);--surface-strong:var(--primitive-blue);--surface-night:var(--primitive-navy);--text-primary:var(--primitive-text);--text-on-strong:#fff;--text-secondary:#46536a;--border-default:var(--primitive-line);--accent-primary:var(--primitive-blue);--accent-secondary:var(--primitive-yellow);--action-primary-bg:var(--primitive-blue);--action-primary-fg:#fff;--focus-ring-inner:#fff;--focus-ring-outer:var(--primitive-blue);--shell-max:1280px;--shell-gutter:clamp(16px,4vw,64px);--section-padding:clamp(64px,9vw,128px);--control-height:48px;--motion-fast:.18s;--motion-base:.28s;--font-display:var(--primitive-font-display);--font-body:var(--primitive-font-display);--font-mono:var(--primitive-font-mono);--font-script:var(--primitive-font-script);--shadow-soft:var(--primitive-shadow);--border-width:var(--primitive-line-width);--radius-sm:var(--primitive-radius-sm);--radius-md:var(--primitive-radius-md)}@font-face{font-family:New Rocker;font-style:normal;font-weight:400;font-display:block;src:url(template/fantasy-v1/fonts/new-rocker-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:New Rocker;font-style:normal;font-weight:400;font-display:block;src:url(template/fantasy-v1/fonts/new-rocker-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:block;src:url(template/fantasy-v1/fonts/ibm-plex-mono-latin.woff2) format("woff2")}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--surface-canvas)}body{margin:0;background:#fff;color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}figure{margin:0}a{color:inherit;text-decoration:none}button,summary{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:var(--type-display-leading);margin-block-start:0}.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}.skip-link{position:fixed;z-index:1001;inset:8px auto auto 8px;padding:10px 14px;background:var(--accent-primary);color:#fff;border:2px solid var(--primitive-navy);box-shadow:var(--shadow-soft);transform:translateY(-180%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--primitive-yellow);outline-offset:3px;box-shadow:0 0 0 6px var(--primitive-blue)}.site-header{position:sticky;z-index:100;top:0;background:#fff;border-block-end:2px solid var(--border-default)}.header-shell,.shell,.page-shell{width:min(calc(100% - 2*var(--shell-gutter)),var(--shell-max));margin-inline:auto}.header-shell{min-height:76px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;min-width:0;font-family:var(--font-display);font-size:1.3rem}.brand__logo{width:42px;height:42px;object-fit:contain}.brand__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-nav{display:flex;gap:16px;margin-inline-start:auto}.nav-link,.mobile-link{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav-link{padding:10px;border:2px solid transparent}.nav-link:hover,.nav-link[aria-current=page]{border-color:var(--primitive-blue);background:var(--primitive-yellow)}.header-actions{display:flex;align-items:center;gap:10px}.language-menu{position:relative}.language-menu summary{min-height:44px;padding:8px 30px 8px 10px;border:2px solid var(--border-default);background:#fff;cursor:pointer;list-style:none}.language-menu summary::-webkit-details-marker{display:none}.language-menu__panel{position:absolute;z-index:120;inset-block-start:calc(100% + 8px);inset-inline-end:0;width:190px;padding:8px;background:#fff;border:2px solid var(--border-default);box-shadow:var(--shadow-soft)}.language-menu__panel a{display:block;padding:9px}.language-menu__panel a:hover,.language-menu__panel a[aria-current=true]{background:var(--primitive-yellow)}.menu-button{display:none;width:44px;height:44px;border:2px solid var(--border-default);background:var(--primitive-yellow);cursor:pointer}.menu-button span{display:block;width:20px;height:2px;margin:5px auto;background:currentColor}.mobile-menu{display:none}.site-main{padding-block-end:var(--section-padding)}.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-block:clamp(56px,9vw,128px);align-items:center}.home-hero__copy{position:relative;padding:clamp(28px,4vw,60px);background:var(--primitive-blue);color:#fff;border:2px solid var(--primitive-navy);box-shadow:var(--shadow-soft)}.home-hero__copy:before,.home-hero__copy:after{content:"";position:absolute;inset:12px;border:2px solid var(--primitive-yellow);pointer-events:none}.home-hero__copy>*{position:relative}.home-hero h1,.page-heading h1{font-size:clamp(2.2rem,5vw,4rem)}.hero-tagline,.item-category,.item-client,.credential-meta{font-family:var(--font-mono);font-size:12px;font-weight:700;text-transform:uppercase;color:var(--primitive-yellow)}.home-hero__media{aspect-ratio:19/10;display:grid;place-items:center;overflow:hidden;background:var(--primitive-yellow);border:2px solid var(--primitive-navy);box-shadow:var(--shadow-soft)}.grid-media__image,.home-hero__media__image,.feature-card__media__image,.story-media__image,.history-item__media__image,.service-card__media__image,.product-card__media__image,.case-study__media__image,.credential-card__media__image,.contact-media__image,.contact-method-media__image{width:100%;height:100%;object-fit:contain;object-position:center}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button,.text-link,.contact-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:2px solid var(--primitive-navy);font-weight:700}.button--primary,.contact-action{background:var(--primitive-yellow)}.button--secondary{background:#fff;color:var(--primitive-blue)}.button:hover,.text-link:hover,.contact-action:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.signal-grid,.feature-grid,.story-panel,.history-section,.service-stack,.product-grid,.case-stack,.credential-grid,.contact-layout,.faq-list,.contact-callout{width:min(calc(100% - 2*var(--shell-gutter)),var(--shell-max));margin-inline:auto;margin-block-start:36px}.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--border-default)}.signal-grid>div{padding:22px;background:#fff;border-inline-end:2px solid var(--border-default)}.signal-grid strong{display:block;color:var(--primitive-blue);font-family:var(--font-display);font-size:1.7rem}.feature-grid,.story-panel,.history-section,.service-stack,.product-grid,.case-stack,.credential-grid,.faq-list{padding-block:var(--section-padding)}.feature-grid h2,.story-panel h2,.history-section h2,.contact-callout h2{font-size:clamp(1.9rem,3vw,3.2rem)}.feature-grid__items,.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-grid__items>article,.value-grid>article,.service-card,.product-card,.case-study,.credential-card,.faq-static,.contact-method-card{padding:24px;background:#fff;border:2px solid var(--border-default);box-shadow:var(--shadow-soft)}.feature-card__media,.value-card__media,.story-media,.history-item__media,.service-card__media,.product-card__media,.case-study__media,.credential-card__media,.contact-media,.contact-method-media{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:#eff6ff;border:2px solid var(--border-default)}.page-heading{padding-block:clamp(48px,8vw,104px);background:var(--primitive-blue);color:#fff;border-block:2px solid var(--primitive-navy)}.story-panel{display:grid;grid-template-columns:1fr 1fr;gap:32px}.story-copy{font-family:var(--font-body);font-size:1rem}.history-list{display:grid;gap:16px}.history-item{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:center}.history-date{font-weight:700;color:var(--primitive-blue)}.service-stack,.case-stack{display:grid;gap:24px}.service-card,.case-study{display:grid;grid-template-columns:minmax(200px,.7fr) 1.3fr;gap:24px;align-items:center}.product-grid,.credential-grid{grid-template-columns:repeat(2,1fr);gap:24px}.product-card,.credential-card{display:grid;gap:18px}.case-result{padding:16px;background:var(--primitive-yellow);border:2px solid var(--primitive-navy)}.case-result strong{display:block;color:var(--primitive-blue);font-family:var(--font-mono);font-size:12px;text-transform:uppercase}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-details,.contact-actions{padding:24px;border:2px solid var(--border-default)}.contact-methods{display:grid;gap:16px}.contact-method-card{display:grid;grid-template-columns:100px 1fr;gap:18px;position:relative}.contact-method-copy{min-width:0}.contact-method-target{font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere}.contact-method-brand{position:absolute;inset:auto 16px 16px auto;max-width:100px;max-height:22px}.contact-callout{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:32px;background:var(--primitive-blue);color:#fff;border:2px solid var(--primitive-navy);box-shadow:var(--shadow-soft)}.faq-list{display:grid;gap:16px}.faq-static{padding:24px}.site-footer{padding-block:60px 24px;background:var(--primitive-navy);color:#fff}.footer-grid{width:min(calc(100% - 2*var(--shell-gutter)),var(--shell-max));margin-inline:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer-grid nav{display:grid;gap:9px}.footer-meta{width:min(calc(100% - 2*var(--shell-gutter)),var(--shell-max));margin:40px auto 0;padding-block-start:16px;border-block-start:1px solid #fff6;font-family:var(--font-mono);font-size:12px}.is-media-only{grid-template-columns:1fr!important}.reveal{opacity:1}@media(max-width:900px){.desktop-nav{display:none}.menu-button{display:block}.mobile-menu{display:none;padding:18px var(--shell-gutter);background:#fff;border-block-end:2px solid var(--border-default)}[data-enhanced] .mobile-menu[data-open=true]{display:block}.mobile-link{display:block;padding:12px;border-block-end:1px solid var(--border-default)}.home-hero,.story-panel,.contact-layout{grid-template-columns:1fr}.feature-grid__items,.value-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.home-hero h1,.page-heading h1{font-size:clamp(2rem,12vw,3.3rem)}.signal-grid,.feature-grid__items,.product-grid,.credential-grid,.value-grid{grid-template-columns:1fr}.signal-grid>div{border-inline-end:0;border-block-end:2px solid var(--border-default)}.service-card,.case-study,.history-item,.contact-method-card{grid-template-columns:1fr}.contact-callout,.footer-grid{display:block}.footer-grid>*,.contact-callout>*{margin-block-end:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important;transform:none!important}}:lang(ar),:lang(ja),:lang(zh-Hans),:lang(zh-Hant){font-family:var(--font-script)}body{line-height:1.72}.nav-link,.mobile-link{font-size:14px}.button,.text-link,.contact-action{font-size:16px;line-height:1.4}.story-copy{max-width:66ch}.story-copy,.service-card p,.product-card__copy>p,.faq-list details>div,.faq-static p,.footer-identity p{line-height:1.75}.signal-grid span{font-size:14px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-grid--single{max-width:1100px;grid-template-columns:minmax(0,1fr)}.product-grid--single .product-card{display:grid;grid-template-columns:minmax(260px,min(42vw,460px)) minmax(0,1fr);align-items:stretch}.product-grid--single .product-card__copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.product-card{min-width:0}.product-card__media{aspect-ratio:1;min-width:0}.product-card__copy{min-width:0}.product-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-block-start:24px}.product-card__external{width:44px;height:44px;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--border-default);background:#fff}.product-card__external .contact-method-card__affordance{position:static;width:20px;height:20px;display:block}.page-heading{padding-inline:var(--shell-gutter)}.contact-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"info";align-items:start}.contact-layout--media{grid-template-areas:"media"}.contact-layout--methods{grid-template-areas:"methods"}.contact-layout--info-media-methods{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"info media" "methods methods"}.contact-layout--info-media{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"info media"}.contact-layout--info-methods{grid-template-areas:"info" "methods"}.contact-layout--media-methods{grid-template-areas:"media" "methods"}.contact-details{grid-area:info;min-width:0;align-self:start}.contact-media{grid-area:media;width:min(100%,520px);max-width:100%;justify-self:start;align-self:start}.contact-methods{grid-area:methods;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.contact-methods--single{max-inline-size:720px}.contact-method-brand{inset-block-end:16px;inset-inline-end:16px}@media(max-width:900px){.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout--info-media-methods,.contact-layout--info-media{grid-template-columns:minmax(0,1fr)}.contact-layout--info-media-methods{grid-template-areas:"info" "media" "methods"}.contact-layout--info-media{grid-template-areas:"info" "media"}.contact-layout--info-methods{grid-template-areas:"info" "methods"}.contact-layout--media-methods{grid-template-areas:"media" "methods"}}.contact-method-card>.contact-method-card__affordance{position:absolute;inset-block-start:16px;inset-inline-end:16px;width:20px;height:20px;display:block}[dir=rtl] .contact-method-card__affordance{transform:scaleX(-1)}.contact-method-target{font-size:14px}.language-menu:not([open])>.language-menu__panel,.faq-list details:not([open])>div{display:none}@media(max-width:620px){.signal-grid,.product-grid,.product-grid--single .product-card{grid-template-columns:1fr}.product-grid--single .product-card__media{max-width:none}.product-grid--single .product-card__copy{display:block}}@media(prefers-reduced-motion:reduce){.skip-link:not(:focus){transform:translateY(-180%)!important}}.demo-banner{position:fixed;z-index:1000;inset-block-end:max(12px,env(safe-area-inset-bottom));inset-inline-end:0;inline-size:fit-content;max-inline-size:min(680px,calc(100vw - 12px));min-block-size:44px;display:flex;align-items:center;justify-content:flex-start;border:0;border-radius:8px 0 0 8px;background:#b72f24;color:#fff;box-shadow:inset 0 0 0 1px #ffffff5c,0 10px 30px #370b0747;font-size:12px;font-weight:800;line-height:1.35;text-align:start;transition:transform .22s cubic-bezier(.25,1,.5,1)}[dir=rtl] .demo-banner{border-radius:0 8px 8px 0}.demo-banner[data-collapsed=true]{transform:translate(calc(100% - 44px))}[dir=rtl] .demo-banner[data-collapsed=true]{transform:translate(calc(-100% + 44px))}.platform-notice__toggle{flex:0 0 44px;inline-size:44px;align-self:stretch;block-size:auto;min-block-size:44px;display:grid;place-items:center;padding:0;border:0;border-inline-end:1px solid rgba(255,255,255,.28);background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}[dir=rtl] .platform-notice__toggle{border-inline-end:0;border-inline-start:1px solid rgba(255,255,255,.28)}.platform-notice__toggle:hover{background:#ffffff1f}.platform-notice__toggle:active{background:#0000001f}.platform-notice__toggle:focus-visible{outline:3px solid #fff;outline-offset:-4px}.platform-notice__toggle svg{display:block;transform:rotate(180deg);transition:transform .22s cubic-bezier(.25,1,.5,1)}[dir=rtl] .platform-notice__toggle svg{transform:none}.demo-banner[data-collapsed=true] .platform-notice__toggle svg{transform:none}[dir=rtl] .demo-banner[data-collapsed=true] .platform-notice__toggle svg{transform:rotate(180deg)}.platform-notice__content{min-inline-size:0;display:flex;align-items:center;gap:10px;padding:10px 12px}.demo-banner__text,.demo-banner time{display:inline;min-inline-size:0;white-space:normal;overflow-wrap:normal;word-break:normal}@media(max-width:430px){.demo-banner{inset-block-end:max(8px,env(safe-area-inset-bottom));max-inline-size:calc(100vw - 8px);font-size:11px}.platform-notice__content{flex-wrap:wrap;gap:4px 8px;padding:8px 10px}}@media(prefers-reduced-motion:reduce){.demo-banner,.platform-notice__toggle svg{transition:none}}.demo-banner .platform-notice__content{align-self:stretch;flex-wrap:nowrap;gap:0;padding:0}.demo-banner__return{display:flex;min-block-size:44px;min-inline-size:0;align-items:center;padding:9px 13px;color:inherit;font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;white-space:normal;touch-action:manipulation}.demo-banner__return:hover{text-decoration-thickness:2px}.demo-banner__return:active{opacity:.78}.demo-banner__return:focus-visible{outline:3px solid #fff;outline-offset:-4px}.demo-share{position:relative;display:flex;flex:0 0 44px;align-self:stretch}.demo-share__toggle{display:grid;inline-size:44px;min-block-size:44px;align-self:stretch;padding:0;place-items:center;border:0;border-inline-start:1px solid rgba(255,255,255,.28);background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}[dir=rtl] .demo-share__toggle{border-inline-start:0;border-inline-end:1px solid rgba(255,255,255,.28)}.demo-share__toggle:hover{background:#ffffff1f}.demo-share__toggle:active{background:#0000001f}.demo-share__toggle:focus-visible{outline:3px solid #fff;outline-offset:-4px}.demo-share svg{display:block;inline-size:22px;block-size:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.demo-share__popover{position:absolute;inset-block-end:calc(100% + 10px);inset-inline-end:0;min-inline-size:176px;padding:10px;border:1px solid #282421;border-radius:8px;background:#fff;color:#282421;box-shadow:0 12px 32px #1f0e0a3d}.demo-share__popover[hidden]{display:none}.demo-share__popover:after{position:absolute;inset-block-start:100%;inset-inline-end:15px;inline-size:10px;block-size:10px;border-inline-end:1px solid #282421;border-block-end:1px solid #282421;background:#fff;content:"";transform:translateY(-5px) rotate(45deg)}.demo-share__title{display:block;padding:2px 4px 8px;font-size:12px;font-weight:800;white-space:nowrap}.demo-share__actions{display:flex;gap:8px}.demo-share__actions a{position:relative;z-index:1;display:grid;inline-size:44px;block-size:44px;place-items:center;border:1px solid #b9b4af;border-radius:6px;background:#fff;color:#282421;text-decoration:none;touch-action:manipulation}.demo-share__actions a:hover{border-color:#b72f24;color:#b72f24}.demo-share__actions a:focus-visible{outline:3px solid #b72f24;outline-offset:2px}.demo-share__sr{position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:430px){.demo-banner__return{padding:8px 10px}.demo-share__popover{inset-inline-end:2px}}