@plugin "daisyui/theme" {
  name: "ohimy";
  default: true;
  prefersdark: false;
  color-scheme: light;
  --color-base-100: oklch(99% 0.004 247);
  --color-base-200: oklch(96.5% 0.008 247);
  --color-base-300: oklch(90% 0.015 247);
  --color-base-content: oklch(26% 0.025 260);
  --color-primary: oklch(54% 0.17 251);
  --color-primary-content: oklch(98% 0.01 251);
  --color-neutral: oklch(22% 0.03 260);
  --color-neutral-content: oklch(96% 0.01 250);
  --radius-box: 1rem;
  --radius-field: .6rem;
  --radius-selector: .5rem;
}

:root, [data-theme="ohimy"] {
  --color-base-100: #fbfdff;
  --color-base-200: #f4f7fb;
  --color-base-300: #dde5ef;
  --color-base-content: #18243a;
  --color-primary: #2563eb;
  --color-primary-content: #ffffff;
  --color-neutral: #172033;
  --color-neutral-content: #f5f8ff;
}

html { scroll-behavior: smooth; }
.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; transform: translateY(-200%); border-radius: .5rem; background: #17263f; padding: .75rem 1rem; color: #fff; font-size: .875rem; font-weight: 700; transition: transform .2s ease; }.skip-link:focus { transform: translateY(0); outline: 3px solid #8db7ff; outline-offset: 3px; }
body { font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; background-image: linear-gradient(90deg, rgba(37,99,235,.018) 1px, transparent 1px), linear-gradient(rgba(37,99,235,.018) 1px, transparent 1px); background-size: 48px 48px; }
.site-header { box-shadow: 0 1px 0 rgba(24,36,58,.025); }
.hero-section { background: linear-gradient(115deg, #f8fbff 0%, #eaf1ff 53%, #f9fbff 100%); }
.hero-glow { position: absolute; width: 42rem; height: 42rem; border-radius: 50%; filter: blur(3px); opacity: .75; pointer-events: none; }
.hero-glow-one { top: -24rem; right: -16rem; background: radial-gradient(circle, rgba(33, 100, 232, .22), transparent 66%); }
.hero-glow-two { bottom: -31rem; left: 19%; background: radial-gradient(circle, rgba(105, 166, 255, .25), transparent 64%); }
.hero-orbit { position: absolute; z-index: -1; top: -8%; right: -12%; width: 27rem; height: 27rem; border: 1px solid rgba(37, 99, 235, .16); border-radius: 50%; box-shadow: 0 0 0 42px rgba(37,99,235,.05), 0 0 0 84px rgba(37,99,235,.025); }
.hero-label { position: absolute; z-index: 2; border: 1px solid rgba(37,99,235,.16); border-radius: 999px; background: rgba(255,255,255,.72); box-shadow: 0 12px 22px rgba(21,49,103,.1); padding: .55rem .85rem; color: #31598d; font-size: .68rem; font-weight: 700; letter-spacing: .08em; backdrop-filter: blur(10px); }
.hero-label-top { top: 5%; right: -2%; }.hero-label-top span { display: inline-block; width: .45rem; height: .45rem; margin-right: .4rem; border-radius: 50%; background: #35c98d; box-shadow: 0 0 0 4px rgba(53,201,141,.15); }.hero-label-bottom { bottom: 6%; left: -7%; }
.hero-avatar { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: #e4edff; color: #2563eb; font-size: .65rem; font-weight: 800; }
.capability-strip { background: #111d32; color: rgba(235,242,255,.7); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }.capability-strip i { display: block; width: .3rem; height: .3rem; border-radius: 50%; background: #5d91ff; }
.section-kicker { font-size: .72rem; font-weight: 700; letter-spacing: .16em; color: oklch(54% .17 251); }
.section-title { margin-top: .65rem; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
.proof-section { background: linear-gradient(180deg, rgba(243,247,253,.25), rgba(255,255,255,.8)); }.proof-grid { display: grid; overflow: hidden; border: 1px solid var(--color-base-300); border-radius: 1.25rem; background: var(--color-base-300); gap: 1px; grid-template-columns: repeat(3, 1fr) 1.15fr; }.proof-grid > article, .proof-quote { min-height: 16rem; background: var(--color-base-100); padding: 1.75rem; }.proof-grid > article > span { color: #2563eb; font-size: .72rem; font-weight: 800; letter-spacing: .12em; }.proof-grid h3 { margin-top: 3.2rem; font-size: 1.2rem; font-weight: 700; }.proof-grid > article p { margin-top: .75rem; color: rgba(24,36,58,.65); line-height: 1.7; }.proof-quote { display: flex; flex-direction: column; justify-content: space-between; background: #1a2942; color: white; }.proof-quote > span { color: #7da9ff; font-family: Georgia, serif; font-size: 4rem; line-height: .5; }.proof-quote p { max-width: 16rem; font-size: 1.2rem; font-weight: 600; line-height: 1.55; }.proof-quote small { color: rgba(255,255,255,.45); font-size: .62rem; letter-spacing: .1em; }
.service-card { min-height: 23rem; border: 1px solid oklch(90% .015 247); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover { transform: translateY(-6px); border-color: oklch(54% .17 251 / .35); box-shadow: 0 18px 40px rgba(37, 99, 235, .11); }
.service-icon-wrap { display: grid; width: 4.25rem; height: 4.25rem; place-items: center; border-radius: 1rem; background: oklch(96% .025 251); }
.service-icon-wrap img { width: 2.6rem; height: 2.6rem; object-fit: contain; }
.icon-tile { display: grid; width: 4.25rem; height: 4.25rem; place-items: center; border-radius: 1rem; background: #edf3ff; }
.icon-tile svg { width: 2rem; height: 2rem; }
.solution-shell { border: 1px solid rgba(255,255,255,.12); background: linear-gradient(120deg, rgba(255,255,255,.08), rgba(63,122,255,.12)); }
.data-flow { display: grid; align-items: center; gap: .75rem; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; }
.data-flow > i { color: #7fb0ff; font-size: 1.25rem; font-style: normal; }
.data-node { min-height: 9rem; border: 1px solid rgba(255,255,255,.1); border-radius: 1rem; background: rgba(255,255,255,.055); padding: 1.25rem; }
.data-node span, .scenario-index, .delivery-grid > li > span { color: #85b2ff; font-size: .75rem; font-weight: 700; letter-spacing: .1em; }
.data-node strong { display: block; margin-top: 1.25rem; font-size: 1rem; }
.data-node small { display: block; margin-top: .35rem; color: rgba(245,248,255,.58); font-size: .75rem; }
.data-node-active { border-color: rgba(91,147,255,.65); background: linear-gradient(145deg, rgba(56,113,238,.45), rgba(39,77,151,.18)); box-shadow: 0 12px 28px rgba(0,0,0,.15); }
.ai-pillar { border-top: 1px solid rgba(255,255,255,.18); padding: 1.25rem 0; }
.ai-pillar h3 { margin-top: 1rem; font-size: 1.15rem; font-weight: 700; }
.ai-pillar p { margin-top: .65rem; color: rgba(245,248,255,.65); line-height: 1.75; }
.studio-section { background: #f8fbff; }.studio-grid { display: grid; gap: 1rem; grid-template-columns: 1.25fr .75fr .75fr; }.studio-primary, .studio-side { border: 1px solid var(--color-base-300); border-radius: 1.25rem; background: var(--color-base-100); padding: 1.5rem; }.studio-primary { grid-row: span 2; background: linear-gradient(135deg, #15233a, #213e70); color: #f8fbff; }.studio-window { border: 1px solid rgba(255,255,255,.13); border-radius: .9rem; background: rgba(255,255,255,.08); padding: .75rem; }.studio-window-head { display: flex; justify-content: space-between; padding-bottom: .75rem; color: rgba(255,255,255,.65); font-size: .7rem; }.studio-window-head i { display: inline-block; width: .4rem; height: .4rem; margin-left: .25rem; border-radius: 50%; background: rgba(255,255,255,.35); }.studio-conversation { border-radius: .65rem; background: #f8fbff; padding: 1rem; color: #18243a; }.studio-question { margin-left: auto; width: 82%; border-radius: .75rem .75rem .15rem .75rem; background: #e7efff; padding: .75rem; font-size: .78rem; line-height: 1.55; }.studio-answer { display: flex; gap: .55rem; margin-top: 1rem; font-size: .78rem; line-height: 1.65; }.studio-answer > span { display: grid; flex: 0 0 auto; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: .45rem; background: #2563eb; color: #fff; font-size: .55rem; font-weight: 800; }.studio-sources { display: flex; justify-content: space-between; margin-top: 1rem; border-top: 1px solid #e4eaf4; padding-top: .7rem; color: #5272a0; font-size: .66rem; }.studio-caption { display: flex; flex-direction: column; gap: 1rem; padding-top: 1.5rem; }.studio-caption strong { font-size: 1.4rem; line-height: 1.35; }.studio-side { position: relative; min-height: 15rem; overflow: hidden; }.studio-side h3 { margin-top: 3rem; font-size: 1.2rem; font-weight: 700; }.studio-side p { margin-top: .65rem; color: rgba(24,36,58,.65); line-height: 1.65; }.studio-number { position: absolute; right: 1.5rem; top: 1.5rem; color: #75a0ee; font-size: .75rem; font-weight: 800; }.mini-stack { display: flex; gap: .45rem; margin-top: 1.25rem; }.mini-stack span { border-radius: .45rem; background: #edf3ff; padding: .5rem; color: #5272a0; font-size: .65rem; }.studio-side-dark { border-color: #213958; background: #1b2c46; color: #fff; }.studio-side-dark p { color: rgba(255,255,255,.65); }.workflow-line { display: flex; align-items: center; gap: .45rem; margin-top: 1.75rem; color: #b7ceff; font-size: .68rem; }.workflow-line span { border: 1px solid rgba(177,205,255,.25); border-radius: .4rem; padding: .4rem; }.workflow-line i { height: 1px; width: .8rem; background: #729cff; }
.ai-scenario { position: relative; min-height: 20rem; border: 1px solid var(--color-base-300); border-radius: 1rem; background: var(--color-base-100); padding: 1.5rem; transition: transform .25s ease, box-shadow .25s ease; }
.ai-scenario:hover { transform: translateY(-5px); box-shadow: 0 18px 35px rgba(30,58,138,.10); }
.ai-scenario .scenario-index { position: absolute; top: 1.5rem; right: 1.5rem; }
.ai-scenario h3 { margin-top: 1.5rem; font-size: 1.35rem; font-weight: 700; }
.ai-scenario p { margin: .75rem 0 1.5rem; color: rgba(24,36,58,.65); line-height: 1.75; }
.ai-scenario .badge { margin-right: .35rem; }
.case-section { background: #f4f8ff; }.case-shell { display: grid; overflow: hidden; border-radius: 1.5rem; background: #17263f; color: white; grid-template-columns: .95fr 1.05fr; }.case-copy { padding: clamp(2rem, 5vw, 4.5rem); }.case-copy h2 { margin-top: .75rem; font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 700; line-height: 1.2; }.case-copy p { max-width: 28rem; margin-top: 1.25rem; color: rgba(255,255,255,.7); line-height: 1.8; }.case-copy .btn { margin-top: 2rem; }.case-timeline { display: flex; flex-direction: column; justify-content: center; gap: 1.1rem; padding: clamp(2rem, 5vw, 4.5rem); background: linear-gradient(135deg, rgba(50,105,218,.55), rgba(36,62,112,.75)), radial-gradient(circle at 75% 20%, rgba(138,186,255,.45), transparent 30%); }.case-timeline > div { position: relative; padding: .8rem 0 .8rem 2.5rem; border-left: 1px solid rgba(255,255,255,.25); }.case-timeline > div::before { position: absolute; left: -.32rem; top: 1.1rem; width: .58rem; height: .58rem; border: 2px solid #bfd5ff; border-radius: 50%; background: #376fd6; content: ""; }.case-timeline span { color: #c5d8ff; font-size: .7rem; font-weight: 700; letter-spacing: .08em; }.case-timeline strong { display: block; margin-top: .3rem; font-size: 1.1rem; }.case-timeline p { margin-top: .25rem; color: rgba(255,255,255,.65); font-size: .9rem; }
.delivery-grid { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--color-base-300); border-radius: 1rem; background: var(--color-base-300); grid-template-columns: repeat(4, 1fr); }
.delivery-grid > li { min-height: 16rem; background: var(--color-base-100); padding: 1.5rem; list-style: none; }
.delivery-grid h3 { margin-top: 1.8rem; font-size: 1.2rem; font-weight: 700; }
.delivery-grid p { margin-top: .75rem; color: rgba(24,36,58,.65); line-height: 1.7; }
.delivery-grid small { display: block; margin-top: 1rem; color: #2563eb; font-weight: 600; }
.partner-cell { display: grid; min-height: 7rem; place-items: center; border: 1px solid oklch(90% .015 247); border-radius: 1rem; background: oklch(100% 0 0 / .55); padding: 1.25rem; transition: transform .2s ease, box-shadow .2s ease; }
.partner-cell:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(30, 58, 138, .08); }
.partner-cell img { max-width: 7.5rem; max-height: 2.5rem; object-fit: contain; }
.contact-section { background: linear-gradient(180deg, rgba(244,248,255,.5), rgba(255,255,255,.4)); }.contact-shell { display: grid; overflow: hidden; border: 1px solid #dbe5f2; border-radius: 1.5rem; background: #fff; box-shadow: 0 24px 70px rgba(26,54,105,.1); grid-template-columns: .9fr 1.1fr; }.contact-intro { position: relative; overflow: hidden; padding: clamp(2rem,5vw,4.5rem); background: radial-gradient(circle at 100% 0%, rgba(80,136,255,.45), transparent 34%), #17263f; color: #fff; }.contact-intro::after { position: absolute; right: -5rem; bottom: -8rem; width: 18rem; height: 18rem; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 2.5rem rgba(255,255,255,.035), 0 0 0 5rem rgba(255,255,255,.025); content: ""; }.contact-intro h2 { position: relative; z-index: 1; margin-top: .7rem; font-size: clamp(2rem,4vw,3.1rem); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }.contact-intro > p { position: relative; z-index: 1; max-width: 29rem; margin-top: 1.25rem; color: rgba(255,255,255,.72); line-height: 1.8; }.contact-intro .btn { position: relative; z-index: 1; margin-top: 2rem; }.contact-note { position: relative; z-index: 1; display: flex; gap: .75rem; max-width: 28rem; margin-top: 4rem; border-top: 1px solid rgba(255,255,255,.16); padding-top: 1.25rem; }.contact-note > span { display: grid; flex: 0 0 auto; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; background: rgba(112,157,255,.25); color: #cbdcff; font-size: .7rem; }.contact-note p { color: rgba(255,255,255,.62); font-size: .82rem; line-height: 1.65; }.contact-details { padding: clamp(1.5rem,4vw,3.5rem); }.contact-details-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }.contact-details-head p { color: #5a7eb7; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }.contact-details-head h3 { margin-top: .35rem; font-size: 1.5rem; font-weight: 700; }.contact-status { display: flex; align-items: center; gap: .45rem; border-radius: 999px; background: #eff6ff; padding: .45rem .65rem; color: #4772ad; font-size: .62rem; font-weight: 800; letter-spacing: .05em; white-space: nowrap; }.contact-status i { width: .42rem; height: .42rem; border-radius: 50%; background: #35c98d; box-shadow: 0 0 0 3px rgba(53,201,141,.12); }.contact-info-grid { display: grid; gap: .75rem; margin-top: 2rem; grid-template-columns: 1fr 1fr; }.contact-card { position: relative; display: flex; min-height: 10.5rem; flex-direction: column; justify-content: space-between; border: 1px solid #dbe5f2; border-radius: 1rem; background: #fbfdff; padding: 1.1rem; color: inherit; text-decoration: none; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }.contact-card:hover { transform: translateY(-3px); border-color: #92b6f4; box-shadow: 0 12px 25px rgba(35,81,155,.1); }.contact-card-wide { grid-column: span 2; min-height: 7.5rem; flex-direction: row; align-items: center; justify-content: flex-start; gap: 1rem; }.contact-card > div:last-child { display: flex; flex-direction: column; min-width: 0; }.contact-card-wide > div:last-child { flex: 1; padding-right: 2.25rem; }.contact-icon { display: grid; flex: 0 0 auto; width: 2.45rem; height: 2.45rem; place-items: center; border-radius: .75rem; background: #eaf1ff; color: #2563eb; }.contact-icon svg { width: 1.25rem; height: 1.25rem; }.contact-card span { color: #6d819e; font-size: .75rem; }.contact-card strong { overflow-wrap: anywhere; margin-top: .3rem; color: #18243a; font-size: 1.05rem; }.contact-card small { margin-top: .3rem; color: #7790b0; font-size: .72rem; }.contact-card > b { position: absolute; right: 1.1rem; top: 50%; color: #4e76b2; font-size: 1.15rem; transform: translateY(-50%); }.contact-process { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .75rem; border-radius: .8rem; background: #f3f7fd; padding: .9rem 1rem; }.contact-process > span { color: #6480aa; font-size: .72rem; font-weight: 700; }.contact-process ol { display: flex; gap: .4rem; color: #395f94; font-size: .72rem; font-weight: 700; }.contact-process li { display: flex; align-items: center; list-style: none; }.contact-process li:not(:last-child)::after { margin-left: .4rem; color: #9db6d6; content: "→"; }.footer-rebuilt nav a { white-space: nowrap; }
.drawer-side { z-index: 60; }
.drawer-side .menu > a:not(.btn) { margin-inline: .25rem; padding: .75rem; font-weight: 600; }
.contact-card-content { display: flex; min-width: 0; flex-direction: column; }
.contact-card-wide .contact-card-content { flex: 1; padding-right: 2.25rem; }
@media (max-width: 900px) { .data-flow { grid-template-columns: 1fr 1fr; } .data-flow > i { display: none; } .delivery-grid { grid-template-columns: repeat(2, 1fr); } .proof-grid { grid-template-columns: repeat(2, 1fr); } .studio-grid { grid-template-columns: 1fr 1fr; } .studio-primary { grid-column: span 2; grid-row: auto; } .case-shell, .contact-shell { grid-template-columns: 1fr; } }
@media (max-width: 639px) { .hero-section .landing-hero { min-height: 580px; } .data-flow, .delivery-grid, .proof-grid, .studio-grid { grid-template-columns: 1fr; } .data-node { min-height: auto; } .delivery-grid > li { min-height: auto; } .proof-grid > article, .proof-quote { min-height: 13rem; } .studio-primary { grid-column: auto; } .hero-label { display: none; } .capability-strip > div { justify-content: center; } .capability-strip i { display: none; } .contact-info-grid { grid-template-columns: 1fr; } .contact-card-wide { grid-column: auto; min-height: 9rem; flex-direction: column; align-items: start; } .contact-status { font-size: .55rem; } .contact-process { align-items: start; flex-direction: column; } }
