 html:has(#funfo-ai-page) {
     scroll-behavior: smooth;
 }

 body.funfo-ai-host {
     margin: 0;
     overflow-x: hidden;
 }

 #funfo-ai-page {
     position: relative;
     width: 100vw !important;
     max-width: 100vw !important;
     margin: 0 calc(50% - 50vw) !important;
     padding: 0 !important;
     border: 0 !important;
     overflow-x: hidden;
     overflow-x: clip;
     isolation: isolate;
     text-align: left;
     text-transform: none;
 }

 #funfo-ai-page,
 #funfo-ai-page *,
 #funfo-ai-page *::before,
 #funfo-ai-page *::after {
     box-sizing: border-box;
 }

 #funfo-ai-page :where(header, main, nav, section, article, div) {
     max-width: none;
     border-style: none;
     box-shadow: none;
 }

 #funfo-ai-page :where(h1, h2, h3, p) {
     margin: 0;
     padding: 0;
     color: inherit;
     font-style: normal;
     text-decoration: none;
     text-transform: none;
 }

 #funfo-ai-page :where(a) {
     color: inherit;
     text-decoration: none;
 }

 #funfo-ai-page :where(button) {
     margin: 0;
     font: inherit;
     color: inherit;
     text-transform: none;
 }

 #funfo-ai-page :where(img) {
     margin: 0;
     padding: 0;
     border: 0;
     border-radius: 0;
     box-shadow: none;
 }

 @media (prefers-reduced-motion: reduce) {
     html:has(#funfo-ai-page) {
         scroll-behavior: auto;
     }
 }

 body.funfo-ai-host,
 #funfo-ai-page {
     --bg: #08090d;
     --bg-soft: #0d0e14;
     --panel: #15161e;
     --text: #f4f5f8;
     --muted: #9a9ca9;
     --dim: #6c6e7c;
     --line: rgba(255, 255, 255, 0.08);
     --line-strong: rgba(255, 255, 255, 0.14);
     --pink: #f472b6;
     --blue: #38bdf8;
     --yellow: #fbbf24;
     --green: #34d399;
     --content: 1168px;
     --radius: 12px;
     color-scheme: dark;
 }

 #funfo-ai-page,
 #funfo-ai-page * {
     box-sizing: border-box;
 }

 #funfo-ai-page {
     background: var(--bg);
     scroll-behavior: smooth;
 }

 html.is-case-scroll-locked {
     overflow: hidden;
     scroll-behavior: auto !important;
     overscroll-behavior-y: none;
 }

 html.is-case-scroll-locked body.funfo-ai-host {
     overscroll-behavior: none;
 }

 body.funfo-ai-host,
 #funfo-ai-page {
     margin: 0;
     overflow-x: hidden;
     background: var(--bg);
     color: var(--text);
     font-family: "Noto Sans JP", sans-serif;
     -webkit-font-smoothing: antialiased;
 }

 body.funfo-ai-host.menu-open {
     overflow: hidden;
 }

 #funfo-ai-page a {
     color: inherit;
     text-decoration: none;
 }

 #funfo-ai-page button,
 #funfo-ai-page a {
     -webkit-tap-highlight-color: transparent;
 }

 #funfo-ai-page img {
     display: block;
     max-width: 100%;
 }

 #funfo-ai-page h1,
 #funfo-ai-page h2,
 #funfo-ai-page h3,
 #funfo-ai-page p {
     margin: 0;
 }

 #funfo-ai-page .mobile-header {
     display: none;
 }

 #funfo-ai-page .hero {
     min-height: 562px;
     padding: 90px 24px;
 }

 #funfo-ai-page .hero__inner {
     width: min(100%, var(--content));
     margin: 0 auto;
     text-align: center;
 }

 #funfo-ai-page .eyebrow {
     display: inline-flex;
     min-height: 38px;
     align-items: center;
     justify-content: center;
     padding: 6px 18px;
     border: 1px solid var(--line);
     border-radius: 999px;
     color: var(--muted);
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 12.5px;
     font-weight: 700;
     letter-spacing: 0.1em;
 }

 #funfo-ai-page .hero__logo {
     width: fit-content;
     margin: 28px auto 0;
     background: linear-gradient(105deg, #22c4f8 6%, #7447ee 29%, #ff2600 65%, #f7d85a 96%);
     background-clip: text;
     color: transparent;
     font-family: "Sora", sans-serif;
     font-size: clamp(64px, 7.2vw, 92px);
     font-weight: 800;
     line-height: 1;
     letter-spacing: -0.03em;
 }

 #funfo-ai-page .hero h1 {
     margin-top: 22px;
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 32px;
     font-weight: 900;
     line-height: 48px;
     letter-spacing: -0.01em;
 }

 #funfo-ai-page .hero h1 span {
     display: inline;
 }

 #funfo-ai-page .hero__description {
     margin-top: 18px;
     color: var(--muted);
     font-size: 17px;
     line-height: 33.15px;
 }

 #funfo-ai-page .hero__actions {
     display: flex;
     justify-content: center;
     gap: 14px;
     margin-top: 34px;
 }

 #funfo-ai-page .button {
     display: inline-flex;
     min-height: 55px;
     align-items: center;
     justify-content: center;
     padding: 14px 35px;
     border: 1px solid var(--line-strong);
     border-radius: 8px;
     background: var(--panel);
     color: var(--text);
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 16px;
     font-weight: 700;
     transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
 }

 #funfo-ai-page .button:hover {
     border-color: rgba(255, 255, 255, 0.3);
     background: #1c1e29;
     transform: translateY(-2px);
 }

 #funfo-ai-page .button--ghost {
     background: transparent;
 }

 #funfo-ai-page .experts {
     min-height: 673px;
     padding: 40px 24px;
 }

 #funfo-ai-page .experts__inner {
     display: flex;
     width: min(100%, var(--content));
     margin: 0 auto;
     flex-direction: column;
 }

 #funfo-ai-page .role-grid {
     display: grid;
     gap: 32px;
 }

 #funfo-ai-page .role-grid--primary {
     grid-template-columns: repeat(4, minmax(0, 1fr));
 }

 #funfo-ai-page .role-grid--secondary {
     grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 #funfo-ai-page .role-card {
     display: flex;
     min-width: 0;
     align-items: center;
     justify-content: center;
     padding: 15px 16px;
     border-radius: 8px;
     background: var(--panel);
     cursor: pointer;
     text-align: center;
     transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
 }

 #funfo-ai-page .role-card:hover,
 #funfo-ai-page .role-card:focus-visible {
     background: #1a1b24;
     outline: 1px solid color-mix(in srgb, var(--role-color) 55%, transparent);
     transform: translateY(-2px);
 }

 #funfo-ai-page .role-grid--primary .role-card {
     min-height: 132px;
 }

 #funfo-ai-page .role-grid--secondary .role-card {
     min-height: 116px;
 }

 #funfo-ai-page .role-card__icon {
     width: 24px;
     height: 24px;
     margin: 0 auto 8px;
 }

 #funfo-ai-page .role-card h3 {
     color: var(--role-color, var(--text));
     font-family: "Inter", "Noto Sans JP", sans-serif;
     font-size: 26px;
     font-weight: 700;
     line-height: 25px;
     margin-bottom: 10px;
 }

 #funfo-ai-page .role-grid--secondary .role-card h3 {
     font-size: 18px;
 }

 #funfo-ai-page .role-card p {
     margin-top: 8px;
     color: #999;
     font-family: "Inter", "Noto Sans JP", sans-serif;
     font-size: 12px;
     line-height: 1.3;
 }

 #funfo-ai-page .mobile-copy {
     display: none;
 }

 #funfo-ai-page .experts__heading {
     padding: 60px 20px;
     text-align: center;
 }

 #funfo-ai-page .experts__heading h2,
 #funfo-ai-page .use-cases>h2,
 #funfo-ai-page .contact h2 {
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 40px;
     font-weight: 900;
     line-height: 70px;
 }

 #funfo-ai-page .use-case {
     margin: 120px 0;
 }

 #funfo-ai-page .experts__heading p {
     max-width: 1092px;
     margin: 0 auto;
     color: var(--muted);
     font-size: 18px;
     line-height: 37.8px;
 }

 #funfo-ai-page .experts__heading strong {
     color: var(--text);
     font-weight: 700;
 }

 #funfo-ai-page .architecture {
     padding: 70px 24px 20px;
 }

 #funfo-ai-page .formula {
     color: var(--dim);
     font-family: "Sora", sans-serif;
     font-size: 40px;
     font-weight: 400;
     line-height: 25px;
     letter-spacing: 0.0175em;
     text-align: center;
 }

 #funfo-ai-page .formula strong {
     color: var(--text);
     font-weight: 600;
 }

 #funfo-ai-page .formula i {
     font-style: normal;
 }

 #funfo-ai-page .architecture__grid {
     display: grid;
     width: min(100%, 1128px);
     margin: 40px auto 0;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 30px;
 }

 #funfo-ai-page .architecture-card {
     position: relative;
     display: flex;
     height: 430px;
     min-width: 0;
     flex-direction: column;
     overflow: hidden;
     padding: 36px 25px 20px;
     border-radius: 8px;
     background: var(--panel);
 }

 #funfo-ai-page .architecture-card__label {
     color: #fff;
     font-family: "Sora", sans-serif;
     font-size: 14px;
     font-weight: 700;
     line-height: 21px;
 }

 #funfo-ai-page .architecture-card h3 {
     margin-top: 1px;
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 24px;
     font-weight: 900;
     line-height: 37px;
 }

 #funfo-ai-page .architecture-card>p:not(.architecture-card__label) {
     margin-top: 8px;
     color: var(--muted);
     font-size: 13px;
     line-height: 25px;
 }

 #funfo-ai-page .model-logos {
     display: grid;
     width: 316px;
     max-width: 100%;
     margin-top: auto;
     grid-template-columns: 100px 100px;
     gap: 24px;
 }

 #funfo-ai-page .model-logos img {
     width: 90px;
     height: 90px;
     border-radius: 5px;
     object-fit: cover;
 }

 #funfo-ai-page .powered-by {
     display: flex;
     justify-content: center;
     flex-direction: column;
     font-family: "Sora", sans-serif;
 }

 #funfo-ai-page .powered-by span {
     color: #f1f1f1;
     font-size: 18px;
     font-weight: 600;
     white-space: nowrap;
 }

 #funfo-ai-page .powered-by strong {
     margin-top: 8px;
     color: #d4d4d4;
     white-space: nowrap;
     font-size: 12px;
     letter-spacing: 0.1em;
     text-transform: uppercase;
 }

 #funfo-ai-page .imac-visual {
     position: relative;
     width: 250px;
     height: 243px;
     margin: auto auto 0;
 }

 #funfo-ai-page .imac-visual__device {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: contain;
 }

 #funfo-ai-page .imac-visual__screen {
     position: absolute;
     z-index: 2;
     top: 9.1%;
     left: 9.2%;
     width: 82%;
     height: 53%;
     border-radius: 2px;
     object-fit: cover;
 }

 #funfo-ai-page .angled-laptop {
     position: relative;
     width: 255px;
     height: 216px;
     margin: auto auto -2px;
 }

 #funfo-ai-page .angled-laptop__body {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: contain;
 }

 #funfo-ai-page .angled-laptop__screen {
     position: absolute;
     z-index: 2;
     top: 1.2%;
     left: 1.4%;
     width: 70.3%;
     height: 68.3%;
     object-fit: contain;
 }

 #funfo-ai-page .use-cases {
     padding-top: 44px;
 }

 #funfo-ai-page .use-cases>h2 {
     padding: 0 24px;
     text-align: center;
 }

 #funfo-ai-page .case-swiper {
     position: relative;
 }

 #funfo-ai-page .use-case {
     display: grid;
     min-height: 640px;
     overflow: hidden;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     grid-template-areas: "problem media" "solution media";
     grid-template-rows: auto auto;
     align-content: center;
     scroll-margin-top: 0;
     column-gap: 8vw;
 }

 #funfo-ai-page #use-case-marketer {
     --case-color: #f472b6;
 }

 #funfo-ai-page #use-case-analyst {
     --case-color: #38bdf8;
 }

 #funfo-ai-page #use-case-inspector {
     --case-color: #fbbf24;
 }

 #funfo-ai-page #use-case-accountant {
     --case-color: #34d399;
 }

 #funfo-ai-page .use-case:nth-child(even) {
     grid-template-areas: "media problem" "media solution";
 }

 #funfo-ai-page .case-problem {
     grid-area: problem;
     align-self: end;
 }

 #funfo-ai-page .case-solution {
     grid-area: solution;
     align-self: start;
 }

 #funfo-ai-page .case-problem,
 #funfo-ai-page .case-solution {
     width: min(540px, calc(100% - 48px));
 }

 #funfo-ai-page .use-case:nth-child(odd) .case-problem,
 #funfo-ai-page .use-case:nth-child(odd) .case-solution {
     justify-self: end;
 }

 #funfo-ai-page .use-case:nth-child(even) .case-problem,
 #funfo-ai-page .use-case:nth-child(even) .case-solution {
     justify-self: start;
 }

 #funfo-ai-page .case-problem {
     display: flex;
     min-height: 79px;
     align-items: center;
     gap: 12px;
     padding: 16px 18px;
     border: 1px solid var(--line);
     border-radius: 12px;
     background: var(--panel);
 }

 #funfo-ai-page .case-problem img {
     width: 34px;
     height: 29px;
     flex: 0 0 auto;
 }

 #funfo-ai-page .case-problem p {
     color: var(--text);
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 14px;
     font-weight: 700;
     line-height: 23.5px;
     white-space: pre-line;
 }

 #funfo-ai-page .case-media {
     position: relative;
     width: 946px;
     height: 578px;
     grid-area: media;
     align-self: center;
 }

 #funfo-ai-page .use-case:nth-child(odd) .case-media {
     justify-self: start;
 }

 #funfo-ai-page .use-case:nth-child(even) .case-media {
     justify-self: end;
 }

 #funfo-ai-page .laptop-mockup {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
 }

 #funfo-ai-page .laptop-mockup__frame {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: contain;
 }

 #funfo-ai-page .laptop-mockup__screen {
     position: absolute;
     z-index: 2;
     top: 7.7%;
     left: 10.3%;
     width: 79.4%;
     height: 73.4%;
     border: 1px solid #c8c8c8;
     border-radius: 3px;
     object-fit: cover;
 }

 #funfo-ai-page .laptop-mockup--ready img {
     width: 100%;
     height: 100%;
     object-fit: contain;
 }

 #funfo-ai-page .case-solution {
     padding-top: 22px;
 }

 #funfo-ai-page .case-title {
     display: flex;
     align-items: center;
     gap: 10px;
     font-family: "Zen Kaku Gothic New", sans-serif;
 }

 #funfo-ai-page .case-title img {
     width: 40px;
     height: 40px;
     padding: 8px;
 }

 #funfo-ai-page .case-title h3,
 #funfo-ai-page .case-title span {
     font-size: 34px;
     font-weight: 900;
     line-height: 1.35;
 }

 #funfo-ai-page .case-title h3 {
     color: var(--case-color);
 }

 #funfo-ai-page .case-description {
     margin-top: 16px;
     color: var(--muted);
     font-size: 16px;
     line-height: 32px;
 }

 #funfo-ai-page .case-example {
     margin-top: 20px;
     padding-left: 15px;
     border-left: 2px solid var(--case-color);
     color: var(--case-color);
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 13px;
     font-weight: 700;
     line-height: 25px;
 }

 #funfo-ai-page .case-example span {
     color: var(--text);
     font-weight: 400;
 }

 #funfo-ai-page .case-bullets {
     display: grid;
     margin-top: 18px;
     gap: 12px;
 }

 #funfo-ai-page .case-bullets p {
     position: relative;
     padding-left: 14px;
     color: var(--muted);
     font-size: 14px;
     line-height: 24px;
 }

 #funfo-ai-page .case-bullets p::before {
     position: absolute;
     top: 9px;
     left: 0;
     width: 6px;
     height: 6px;
     border-radius: 50%;
     background: var(--case-color);
     content: "";
 }

 #funfo-ai-page .case-bullets strong {
     color: var(--text);
 }

 #funfo-ai-page .additional-experts {
     padding: 20px 24px 116px;
     scroll-margin-top: 0;
 }

 #funfo-ai-page .additional-experts__grid {
     display: grid;
     width: min(100%, var(--content));
     margin: 0 auto;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 24px;
 }

 #funfo-ai-page .additional-card {
     display: flex;
     min-height: 340px;
     flex-direction: column;
     padding: 25px 23px;
     border: 1px solid var(--line);
     border-radius: 18px;
     background: var(--panel);
 }

 #funfo-ai-page .additional-card__title {
     display: flex;
     align-items: center;
     gap: 12px;
 }

 #funfo-ai-page .additional-card__title img {
     width: 42px;
     height: 42px;
     padding: 9px;
     border-radius: 12px;
 }

 #funfo-ai-page .additional-card h3 {
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 20px;
     font-weight: 700;
     line-height: 1.35;
 }

 #funfo-ai-page .additional-card__description {
     flex: 1;
     margin-top: 12px;
     color: var(--muted);
     font-size: 13px;
     line-height: 23.4px;
 }

 #funfo-ai-page .tag-list {
     display: flex;
     flex-wrap: wrap;
     gap: 6px;
     padding: 16px 0;
 }

 #funfo-ai-page .tag {
     padding: 5px 10px;
     border: 1px solid var(--line);
     border-radius: 7px;
     color: var(--muted);
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 14px;
     line-height: 19px;
 }

 #funfo-ai-page .additional-card__link {
     color: var(--card-color);
     font-family: "Zen Kaku Gothic New", sans-serif;
     font-size: 14px;
     font-weight: 700;
     line-height: 24px;
 }

 #funfo-ai-page .contact {
     padding-top: 30px;
     border-top: 1px solid var(--line);
     background:
         radial-gradient(ellipse 55% 85% at 50% 0%, rgba(139, 92, 246, 0.16), rgba(70, 46, 123, 0.08) 30%, transparent 60%),
         var(--bg-soft);
 }

 #funfo-ai-page .contact__inner {
     padding: 58px 24px 78px;
     text-align: center;
 }

 #funfo-ai-page .contact .p {
     margin-top: 6px;
     color: var(--muted);
     font-size: 16px;
     line-height: 28px;
 }

 #funfo-ai-page .button--wide {
     min-width: 260px;
     margin-top: 32px;
     padding: 16px 69px;
     font-size: 20px;
 }


 @media (max-width: 767px) {
     #funfo-ai-page .use-case {
         margin: 40px !important;
     }

     #funfo-ai-page .mobile-header {
         position: relative;
         z-index: 50;
         display: flex;
         height: 64px;
         align-items: center;
         justify-content: space-between;
         padding: 16px 20px;
         border-bottom: 1px solid var(--line);
         background: rgba(8, 9, 13, 0.96);
     }

     #funfo-ai-page .brand-icon {
         position: relative;
         width: 32px;
         height: 32px;
     }

     #funfo-ai-page .brand-icon img {
         position: absolute;
     }

     #funfo-ai-page .brand-icon__circle {
         inset: 0;
         width: 32px;
         height: 32px;
         transform: rotate(180deg);
     }

     #funfo-ai-page .brand-icon__union {
         top: 5.83px;
         left: 8.13px;
         width: 15.75px;
         height: 20.33px;
         transform: rotate(180deg);
     }

     #funfo-ai-page .brand-icon__line {
         top: 14.33px;
         left: 9.47px;
         width: 13px;
         height: 3.33px;
         transform: rotate(180deg);
     }

     #funfo-ai-page .menu-button {
         display: flex;
         width: 24px;
         height: 24px;
         justify-content: center;
         flex-direction: column;
         gap: 5px;
         padding: 0 2px;
         border: 0;
         background: transparent;
     }

     #funfo-ai-page .menu-button span {
         display: block;
         width: 20px;
         height: 2px;
         background: var(--text);
         transition: transform 180ms ease, opacity 180ms ease;
     }

     #funfo-ai-page .menu-button[aria-expanded="true"] span:nth-child(1) {
         transform: translateY(7px) rotate(45deg);
     }

     #funfo-ai-page .menu-button[aria-expanded="true"] span:nth-child(2) {
         opacity: 0;
     }

     #funfo-ai-page .menu-button[aria-expanded="true"] span:nth-child(3) {
         transform: translateY(-7px) rotate(-45deg);
     }

     #funfo-ai-page .mobile-menu {
         position: absolute;
         z-index: 10;
         top: 64px;
         right: 0;
         left: 0;
         display: grid;
         visibility: hidden;
         padding: 18px 20px 22px;
         border-bottom: 1px solid var(--line);
         background: rgba(13, 14, 20, 0.98);
         gap: 8px;
         opacity: 0;
         transform: translateY(-8px);
         transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
     }

     #funfo-ai-page .mobile-menu.is-open {
         visibility: visible;
         opacity: 1;
         transform: translateY(0);
     }

     #funfo-ai-page .mobile-menu a {
         padding: 12px 0;
         border-bottom: 1px solid var(--line);
         font-family: "Zen Kaku Gothic New", sans-serif;
         font-size: 14px;
         font-weight: 700;
     }

     #funfo-ai-page .hero {
         min-height: 557px;
         padding: 48px 20px;
     }

     #funfo-ai-page .hero__inner {
         display: flex;
         flex-direction: column;
         gap: 28px;
     }

     #funfo-ai-page .eyebrow {
         min-height: 30px;
         align-self: center;
         padding: 6px 16px;
         font-size: 12px;
         letter-spacing: 0;
     }

     #funfo-ai-page .hero__logo {
         width: 100%;
         margin: 0;
         font-size: clamp(38px, 11.75vw, 44px);
         line-height: 48px;
         letter-spacing: -1.5px;
     }

     #funfo-ai-page .hero h1 {
         margin: 0;
         font-size: 24px;
         line-height: 36px;
     }

     #funfo-ai-page .hero h1 span {
         display: block;
     }

     #funfo-ai-page .hero__description {
         margin: 0;
         font-size: 14px;
         line-height: 24px;
     }

     #funfo-ai-page .hero__description br {
         display: none;
     }

     #funfo-ai-page .hero__actions {
         width: 100%;
         margin: 0;
         flex-direction: column;
         gap: 12px;
     }

     #funfo-ai-page .button {
         width: 100%;
         min-height: 46px;
         padding: 12px 24px;
         font-size: 15px;
     }

     #funfo-ai-page .experts {
         min-height: 928px;
         padding: 40px 20px 42px;
         background: var(--bg-soft);
     }

     #funfo-ai-page .experts__heading {
         order: -1;
         padding: 0 0 24px;
     }

     #funfo-ai-page .experts__heading h2,
     #funfo-ai-page .use-cases>h2,
     #funfo-ai-page .contact h2 {
         font-size: 22px;
         line-height: 32px;
     }

     #funfo-ai-page .experts__heading p {
         margin-top: 12px;
         font-size: 13px;
         line-height: 22px;
     }

     #funfo-ai-page .experts__heading p strong,
     #funfo-ai-page .experts__heading p strong~* {
         color: inherit;
         font-weight: inherit;
     }

     #funfo-ai-page .role-grid {
         grid-template-columns: 1fr;
         gap: 12px;
     }

     #funfo-ai-page .role-grid--secondary {
         margin-top: 12px;
     }

     #funfo-ai-page .role-card,
     #funfo-ai-page .role-grid--primary .role-card,
     #funfo-ai-page .role-grid--secondary .role-card {
         min-height: 80px;
         justify-content: flex-start;
         padding: 14px 16px;
         border: 1px solid var(--line);
         border-radius: 12px;
         text-align: left;
     }

     #funfo-ai-page .role-card__main {
         display: grid;
         width: 100%;
         grid-template-columns: 24px 1fr;
         grid-template-areas: "icon title" "description description";
         align-items: center;
         gap: 8px;
     }

     #funfo-ai-page .role-card__icon {
         margin: 0;
         grid-area: icon;
     }

     #funfo-ai-page .role-card h3,
     #funfo-ai-page .role-grid--secondary .role-card h3 {
         grid-area: title;
         font-family: "Zen Kaku Gothic New", sans-serif;
         font-size: 16px;
     }

     #funfo-ai-page .role-card p {
         margin: 0;
         grid-area: description;
         font-family: "Noto Sans JP", sans-serif;
         font-size: 12px;
         line-height: 18px;
     }

     #funfo-ai-page .desktop-copy {
         display: none;
         font-size: 15px;
     }

     #funfo-ai-page .mobile-copy {
         display: inline;
         white-space: nowrap;
     }

     #funfo-ai-page .architecture {
         padding: 48px 20px;
     }

     #funfo-ai-page .formula {
         font-size: 24px;
         line-height: 32px;
     }

     #funfo-ai-page .formula>span {
         display: block;
     }

     #funfo-ai-page .architecture__grid {
         margin-top: 32px;
         grid-template-columns: 1fr;
         gap: 20px;
     }

     #funfo-ai-page .architecture-card {
         height: auto;
         min-height: 388px;
         padding: 24px;
         border-radius: 12px;
     }

     #funfo-ai-page .architecture-card__label {
         font-size: 12px;
     }

     #funfo-ai-page .architecture-card h3 {
         margin-top: 7px;
         font-size: 20px;
         line-height: 29px;
     }

     #funfo-ai-page .architecture-card>p:not(.architecture-card__label) {
         margin-top: 12px;
         font-size: 13px;
         line-height: 22px;
     }

     #funfo-ai-page .model-logos {
         width: 300px;
         margin-top: 21px;
         grid-template-columns: 95px 95px;
         gap: 23px;
     }

     #funfo-ai-page .model-logos img {
         width: 95px;
         height: 95px;
     }

     #funfo-ai-page .powered-by span {
         font-size: 18px;
     }

     #funfo-ai-page .powered-by strong {
         font-size: 12px;
     }

     #funfo-ai-page .imac-visual {
         margin-top: 16px;
     }

     #funfo-ai-page .angled-laptop {
         margin-top: 12px;
     }

     #funfo-ai-page .use-cases {
         padding: 48px 20px 0;
     }

     #funfo-ai-page .use-cases>h2 {
         padding: 0;
     }

     #funfo-ai-page .case-swiper {
         overflow: visible;
     }

     #funfo-ai-page .case-swiper .swiper-wrapper {
         display: block;
         height: auto;
         transform: none !important;
     }

     #funfo-ai-page .case-pagination {
         display: none;
     }

     #funfo-ai-page .use-case,
     #funfo-ai-page .use-case:nth-child(even) {
         display: grid;
         min-height: 0;
         margin-top: 40px;
         grid-template-columns: 1fr;
         grid-template-areas: "problem" "media" "solution";
         grid-template-rows: auto;
         gap: 16px;
         overflow: visible;
     }

     #funfo-ai-page .use-case+.use-case {
         margin-top: 48px;
     }

     #funfo-ai-page .case-problem,
     #funfo-ai-page .case-solution,
     #funfo-ai-page .use-case:nth-child(odd) .case-problem,
     #funfo-ai-page .use-case:nth-child(odd) .case-solution,
     #funfo-ai-page .use-case:nth-child(even) .case-problem,
     #funfo-ai-page .use-case:nth-child(even) .case-solution {
         width: 90%;
         justify-self: stretch;
     }

     #funfo-ai-page .case-problem {
         min-height: 76px;
         gap: 10px;
         padding: 16px;
     }

     #funfo-ai-page .case-problem p {
         font-size: 14px;
         line-height: 22px;
     }

     #funfo-ai-page .case-media {
         width: calc(100% + 1px);
         height: 272px;
         justify-self: center !important;
         overflow: hidden;
     }

     #funfo-ai-page .laptop-mockup {
         width: 425px;
         height: 260px;
         top: 14px;
     }

     #funfo-ai-page .use-case {
         margin: 40px 0 !important;
     }

     #funfo-ai-page .use-case:nth-child(odd) .laptop-mockup {
         left: 24px;
     }

     #funfo-ai-page .use-case:nth-child(even) .laptop-mockup {
         right: 24px;
         left: auto;
     }

     #funfo-ai-page .laptop-mockup--ready {
         left: 0 !important;
         width: 100%;
         height: 100%;
     }

     #funfo-ai-page .case-solution {
         padding-top: 0;
     }

     #funfo-ai-page .case-title {
         gap: 8px;
     }

     #funfo-ai-page .case-title img {
         width: 24px;
         height: 24px;
         padding: 0;
     }

     #funfo-ai-page .case-title h3,
     #funfo-ai-page .case-title span {
         font-size: 20px;
     }

     #funfo-ai-page .case-description {
         margin-top: 16px;
         font-size: 13px;
         line-height: 22px;
     }

     #funfo-ai-page .case-example {
         margin-top: 16px;
         padding-left: 12px;
         font-size: 12px;
         line-height: 20px;
     }

     #funfo-ai-page .case-bullets {
         margin-top: 16px;
     }

     #funfo-ai-page .case-bullets p {
         font-size: 13px;
         line-height: 20px;
     }

     #funfo-ai-page .additional-experts {
         padding: 36px 20px 42px;
     }

     #funfo-ai-page .additional-experts__grid {
         grid-template-columns: 1fr;
         gap: 16px;
     }

     #funfo-ai-page .additional-card {
         min-height: 0;
         padding: 16px 20px;
         border-radius: 16px;
     }

     #funfo-ai-page .additional-card__title {
         gap: 4px;
     }

     #funfo-ai-page .additional-card__title img {
         width: 36px;
         height: 36px;
         padding: 8px;
     }

     #funfo-ai-page .additional-card h3 {
         font-size: 18px;
     }

     #funfo-ai-page .additional-card__description {
         margin-top: 12px;
         font-size: 13px;
         line-height: 22px;
     }

     #funfo-ai-page .tag-list {
         padding: 12px 0;
     }

     #funfo-ai-page .contact {
         padding-top: 0;
     }

     #funfo-ai-page .contact__inner {
         padding: 43px 20px;
     }

     #funfo-ai-page .contact .p {
         margin-top: 16px;
         font-size: 14px;
         line-height: 24px;
     }

     #funfo-ai-page .button--wide {
         min-width: 0;
         margin-top: 24px;
         font-size: 15px;
     }

     #funfo-ai-page .footer__inner {
         min-height: 139px;
         align-items: flex-start;
         justify-content: center;
         flex-direction: column;
         padding: 40px 20px;
         font-size: 12px;
         line-height: 20px;
         gap: 16px;
     }
 }

 #funfo-ai-page .case-title span {
     color: #fff
 }

 .entry-content {
     margin-bottom: 0 !important;
 }

 #primary {
     padding: 0 !important;
 }

 @media (max-width:1200px) {
     #funfo-ai-page .use-case {
         margin: 60px 0;
     }

     #funfo-ai-page .use-case {
         min-height: auto;
     }
 }

 @media (min-width: 768px) {
     #funfo-ai-page .case-swiper {
         min-height: 640px;
         overflow: hidden;
         isolation: isolate;
         background: var(--bg);
     }

     #funfo-ai-page .case-swiper .swiper-wrapper {
         /* height: 100%; */
         will-change: transform;
         transform: translate3d(0, 0, 0);
         --swiper-wrapper-transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
     }

     #funfo-ai-page .use-case {
         /* height: 100%; */
         /* min-height: 0;
    max-height: 100%;
    flex-shrink: 0;
    overflow: hidden;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; */
     }

     #funfo-ai-page .use-case:not(.swiper-slide-active) {
         pointer-events: none;
     }

     #funfo-ai-page .case-pagination {
         position: absolute;
         z-index: 20;
         top: 50%;
         display: none !important;
         right: 28px;
         left: auto;
         display: flex;
         width: auto;
         flex-direction: column;
         gap: 14px;
         transform: translateY(-50%);
     }

     #funfo-ai-page .case-pagination__bullet {
         display: block;
         width: 9px;
         height: 9px;
         margin: 0 !important;
         padding: 0;
         border: 1px solid rgba(255, 255, 255, 0.32);
         border-radius: 50%;
         background: rgba(255, 255, 255, 0.18);
         cursor: pointer;
         opacity: 1;
         transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
     }

     #funfo-ai-page .case-pagination__bullet:hover,
     #funfo-ai-page .case-pagination__bullet:focus-visible {
         border-color: rgba(255, 255, 255, 0.72);
         outline: none;
     }

     #funfo-ai-page .case-pagination__bullet.is-active {
         border-color: var(--pagination-active, #fff);
         background: var(--pagination-active, #fff);
         box-shadow: 0 0 0 5px color-mix(in srgb, var(--pagination-active, #fff) 18%, transparent);
         transform: scale(1.2);
     }
 }

 @media (prefers-reduced-motion: reduce) {
     #funfo-ai-page {
         scroll-behavior: auto;
     }

     #funfo-ai-page .button,
     #funfo-ai-page .role-card,
     #funfo-ai-page .mobile-menu,
     #funfo-ai-page .menu-button span {
         transition: none;
     }
 }

 /* 头部背景 */
 #masthead {
     background-color: #08090d !important;
     border-bottom: 1px solid #16171b;
     box-shadow: none !important;
 }

 /* 一级导航文字 */
 #masthead .onepress-menu>li>a {
     color: #767782 !important;
 }

 /* 当前页面、悬停及截图中的 AI POS */
 #masthead .onepress-menu>li>a:hover,
 #masthead .onepress-menu>li.current-menu-item>a,
 #masthead .onepress-menu>li.current-menu-ancestor>a,
 #masthead #menu-item-25210>a {
     color: #f4f5f8 !important;
 }

 /* 下拉箭头 */
 #masthead .nav-toggle-subarrow,
 #masthead .nav-toggle-subarrow .fa {
     color: #767782 !important;
 }

 /* 登录、注册按钮 */
 #masthead .login-box {
     background-color: #15161e !important;
     border: 1px solid #32333a !important;
     color: #f4f5f8 !important;
     box-shadow: none !important;
 }

 #masthead .login-font1,
 #masthead .login-font2 {
     color: #f4f5f8 !important;
 }

 #masthead .login-box:hover {
     background-color: #1c1d26 !important;
     border-color: #51525b !important;
 }

 /* 下拉菜单 */
 #masthead .onepress-menu .sub-menu {
     background-color: #15161e !important;
     border-color: #32333a !important;
 }

 #masthead .onepress-menu .sub-menu li a {
     background-color: #15161e !important;
     color: #a0a1aa !important;
     border-color: rgba(255, 255, 255, 0.14) !important
 }

 #masthead .onepress-menu .sub-menu li a:hover {
     background-color: #1c1d26 !important;
     color: #ffffff !important;
 }

 /* 手机端导航 */
 @media screen and (max-width: 1140px) {

     #masthead #site-navigation,
     #masthead #site-navigation .onepress-menu {
         background-color: #08090d !important;
     }

     #nav-toggle span,
     #nav-toggle span::before,
     #nav-toggle span::after {
         background-color: #f4f5f8 !important;
     }
 }

 body {
     overflow-x: hidden;
 }

 /* Responsive media for the four primary AI use cases. */
 #funfo-ai-page .case-media {
     width: 46vw;
     height: auto;
     min-height: 0;
     overflow: visible;
 }

 #funfo-ai-page .laptop-mockup {
     position: relative;
     inset: auto;
     width: 100%;
     height: auto;
 }

 #funfo-ai-page .use-case:nth-child(odd) .laptop-mockup,
 #funfo-ai-page .use-case:nth-child(even) .laptop-mockup {
     inset: auto !important;
 }

 #funfo-ai-page .laptop-mockup__frame,
 #funfo-ai-page .laptop-mockup--ready img {
     position: relative;
     inset: auto;
     display: block;
     width: 100%;
     max-width: none;
     height: auto;
     object-fit: contain;
 }

 @media (max-width: 767px) {
     #funfo-ai-page .case-media {
         width: 100vw;
         max-width: 100vw;
         height: auto;
         justify-self: center !important;
         overflow: visible;
     }

     #funfo-ai-page .laptop-mockup,
     #funfo-ai-page .use-case:nth-child(odd) .laptop-mockup,
     #funfo-ai-page .use-case:nth-child(even) .laptop-mockup {
         inset: auto !important;
         width: 100%;
         height: auto;
         margin: 0;
     }
     
      #funfo-ai-page .mobile-p {
     color:#FFB03B;
      }
 }