body.inner-page{--palette-night:#101936;--palette-panel:#172554;--palette-ink:#0f172a;--palette-copy:#475569;--palette-muted:#64748b;--palette-quiet:#94a3b8;--palette-line-strong:#bfdbfe;--palette-line:#e2e8f0;--palette-surface:#f8fafc;--palette-paper:#fff;--palette-blue:#1e40af;--palette-blue-light:#93c5fd;--palette-ice:#dbeafe;--palette-aqua:#bfdbfe;--palette-teal:#1e40af;--ink:#0f172a;--muted:#475569;--line:#e2e8f0;--paper:#fff;--blue:#1e40af;--heading-ink:#0f172a;--heading-accent:#1e40af;--label-ink:#1e40af;--inner-copy:#475569;--inner-soft:#f8fafc;--brand-ink:#0f172a;--brand-copy:#475569;--brand-link:#1e40af;--brand-gold:#bfdbfe;--brand-gold-soft:#eff6ff;--brand-gold-ink:#1e40af;--icon-surface:#eff6ff;--icon-ink:#1e40af;--action-fill:#1e3a8a;--action-hover:#2854ba;--action-ink:#fff;--action-shadow:#1e3a8a24;color:var(--ink);background:#fff}body.inner-page .page-hero,body.inner-page .page-hero.tint{isolation:isolate;border-bottom-color:var(--line);background:radial-gradient(at 100% 0,#dbeafe8c,#0000 58%),#f8fafc;padding-block:54px 72px}body.inner-page .page-hero:after{content:"";z-index:-1;pointer-events:none;border:1px solid #1e40af0c;border-radius:50%;width:430px;height:430px;position:absolute;top:-205px;right:-165px;box-shadow:0 0 0 65px #1e40af03,0 0 0 130px #1e40af03}body.inner-page .page-hero h1{color:var(--ink);letter-spacing:-.055em;max-width:1060px;margin-block:25px;line-height:1.12}body.inner-page .page-hero .lead{color:var(--inner-copy);max-width:760px;line-height:1.85}body.inner-page .breadcrumbs{color:#64748b;flex-wrap:wrap;row-gap:5px;line-height:1.7}body.inner-page .breadcrumbs a{color:#475569}body.inner-page .breadcrumbs a:hover,body.inner-page main .eyebrow{color:#1e40af}body.inner-page .eyebrow:before{background:#3b82f6}body.inner-page main .text-link{color:#1e40af;border-color:#bfdbfe}body.inner-page main .text-link:hover{color:#2854ba;border-color:#2854ba}body.inner-page .button:hover{box-shadow:0 12px 28px -18px #1e3a8a55}body.inner-page main :is(a,button,input,select,textarea,summary):focus-visible{outline-offset:4px;outline:2px solid #3b82f6}body.inner-page .service-list{gap:14px;display:grid}body.inner-page .service-row{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:50px 1.4fr 1fr 46px;gap:22px;padding:28px;transition:background .25s,border-color .25s,box-shadow .25s}body.inner-page .service-row:hover{background:#f8fafc;border-color:#bfdbfe;padding-left:28px;box-shadow:0 16px 35px -30px #1e3a8a66}body.inner-page .service-num{color:#1e40af;letter-spacing:.04em;align-self:start;padding-top:8px;font-size:12px}body.inner-page .service-row h2{color:#0f172a;line-height:1.35;font-size:24px!important}body.inner-page .service-row p{color:#475569;font-size:14px;line-height:1.8}body.inner-page .service-tags{color:#64748b;font-size:12px;line-height:1.8}body.inner-page .service-row .round-arrow{color:#1e40af;background:#eff6ff;border-color:#dbeafe;width:44px;height:44px}body.inner-page .detail-grid{gap:clamp(40px,7vw,96px)}body.inner-page .aside-label h2{letter-spacing:-.045em;font-size:clamp(28px,3vw,39px);line-height:1.25}body.inner-page .aside-label>p{color:#64748b;font-size:13px;line-height:1.9}body.inner-page .detail-items{counter-reset:capability}body.inner-page .detail-items article{counter-increment:capability;border-color:var(--line);margin-bottom:30px;padding:0 0 30px 58px;position:relative}body.inner-page .detail-items article:before{content:counter(capability,decimal-leading-zero);color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;place-items:center;width:36px;height:36px;font-size:11px;font-weight:700;display:grid;position:absolute;top:3px;left:0}body.inner-page .detail-items h2{letter-spacing:-.035em;font-size:25px;line-height:1.35}body.inner-page .detail-items p{font-size:15px;line-height:1.9}body.inner-page .result{background:#eff6ff;border:1px solid #dbeafe;border-radius:20px;padding:30px 32px}body.inner-page .result h2{color:#172554}body.inner-page .result p{color:#334155}body.inner-page .faq{max-width:900px}body.inner-page .faq details{border:1px solid var(--line);background:#fff;border-radius:16px;margin-block:12px;padding:0;overflow:hidden}body.inner-page .faq details[open]{background:#f8fafc;border-color:#bfdbfe}body.inner-page .faq summary{color:#0f172a;gap:20px;min-height:70px;padding:23px 26px;font-size:15px}body.inner-page .faq summary:after,body.inner-page .faq summary>span{color:#1e40af}body.inner-page .faq details p{color:#475569;margin:0;padding:0 26px 25px;font-size:15px;line-height:1.9}body.inner-page .project-grid{gap:48px 28px}body.inner-page .project-image{background:linear-gradient(145deg,#f1f5f9,#e8eef8);border-color:#e2e8f0;border-radius:20px;padding:25px 25px 0}body.inner-page .browser-line{color:#64748b;border-color:#dbe3ef}body.inner-page .project-image img{border-radius:7px 7px 0 0;box-shadow:0 20px 35px -18px #17255435}body.inner-page .project-info{gap:14px;padding:22px 3px 0}body.inner-page .project-info h3{color:#0f172a;font-size:24px;line-height:1.35}body.inner-page .project-info .small{color:#64748b;line-height:1.7}body.inner-page .project-open{color:#1e40af;background:#fff;border-color:#dbeafe;width:48px;height:48px;bottom:18px;right:18px;box-shadow:0 8px 24px #1725541c}body.inner-page .project a:is(:hover,:focus-visible) .project-open{color:#fff;background:#1e3a8a;border-color:#1e3a8a}body.inner-page .facts{background:#ffffffbf;border:1px solid #dbe3ef;border-radius:18px;gap:24px;margin-top:38px;padding:25px 28px}body.inner-page .facts dt{color:#64748b;font-size:10px;line-height:1.6}body.inner-page .facts dd{color:#172554;font-size:14px;font-weight:600;line-height:1.7}body.inner-page .case-image{border:1px solid #e2e8f0;border-radius:24px;padding:clamp(24px,5vw,64px);overflow:hidden;background:linear-gradient(145deg,#eff4fc,#e7edf7)!important}body.inner-page .case-image img{border-radius:10px;box-shadow:0 28px 50px -28px #17255460}body.inner-page .split-copy h2{letter-spacing:-.045em;line-height:1.25}body.inner-page .about-principles{counter-reset:principle;gap:22px;margin-top:36px}body.inner-page .about-principles article{counter-increment:principle;background:#f8fafc;border-color:#e2e8f0;border-radius:20px;padding:32px}body.inner-page .about-principles article:before{content:counter(principle,decimal-leading-zero);color:#1e40af;margin-bottom:32px;font-size:12px;font-weight:700;display:block}body.inner-page .about-principles h3{color:#0f172a;font-size:21px;line-height:1.4}body.inner-page .prose{max-width:800px}body.inner-page .prose h2{color:#0f172a;margin-top:38px;font-size:25px;line-height:1.4}body.inner-page .prose a{color:#1e40af;text-underline-offset:4px;text-decoration:underline}body.inner-page .notfound{color:#1e40af}body.inner-page .contact-page{color:#0f172a;background:#fff}body.inner-page .contact-page .form{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 20px 60px -38px #17255445}body.inner-page .form :is(input,select,textarea){color:#0f172a;background:#f8fafc;border-color:#dbe3ef}body.inner-page .form :is(input,select,textarea):focus{outline-offset:2px;box-shadow:none;border-color:#3b82f6;outline:2px solid #3b82f6}body.inner-page .form .checkbox input{accent-color:#1e40af}body.inner-page .contact-faq{background:#f8fafc;border-color:#e2e8f0}body.inner-page .contact-faq h2>span{color:#1e40af}body.inner-page .contact-faq .contact-faq-item{border-color:#e2e8f0}body.inner-page .contact-faq .contact-faq-item[open]{border-color:#bfdbfe;box-shadow:0 12px 35px -27px #1e3a8a40}body.inner-page .contact-faq .contact-faq-item[open] summary .faq-toggle{color:#fff;background:#1e3a8a;border-color:#1e3a8a}body.inner-page .contact-faq .contact-faq-item summary{color:#0f172a}body.inner-page .contact-faq .contact-faq-item summary .faq-number{color:#64748b}body.inner-page .contact-faq .faq-answer>a{color:#1e40af;border-color:#bfdbfe}body.inner-page .site-footer{background:#10182e;border-top-color:#263653}body.inner-page .site-footer .footer-columns a:hover{color:#93c5fd}@media (width<=980px){body.inner-page .service-row{grid-template-columns:36px 1fr 44px;gap:18px;padding:24px}body.inner-page .service-row:hover{padding-left:24px}body.inner-page .service-tags{display:none}body.inner-page .project-info{flex-wrap:wrap}body.inner-page .about-principles article{padding:25px}}@media (width<=720px){body.inner-page .page-hero,body.inner-page .page-hero.tint{padding-block:32px 48px}body.inner-page .page-hero h1{margin-block:22px;font-size:clamp(34px,7.8vw,49px);line-height:1.16}body.inner-page .page-hero .lead{font-size:16px;line-height:1.85}body.inner-page .page-hero:after{opacity:.5}body.inner-page .service-row{border-radius:16px;grid-template-columns:25px minmax(0,1fr) 38px;gap:12px;padding:22px 18px}body.inner-page .service-row:hover{padding-left:18px}body.inner-page .service-row h2{font-size:20px!important}body.inner-page .service-row p{font-size:13px}body.inner-page .service-row .round-arrow{width:38px;height:38px}body.inner-page .detail-items article{padding-left:48px}body.inner-page .detail-items h2{font-size:22px}body.inner-page .detail-items p{font-size:15px}body.inner-page .detail-items article:before{border-radius:10px;width:32px;height:32px}body.inner-page .result{padding:25px 22px}body.inner-page .faq summary{padding:20px;font-size:14px}body.inner-page .faq details p{padding:0 20px 22px;font-size:14px}body.inner-page .facts{grid-template-columns:1fr;gap:20px;padding:24px}body.inner-page .project-grid{gap:34px}body.inner-page .project-image{border-radius:17px}body.inner-page .project-info h3{font-size:22px}body.inner-page .about-principles article:before{margin-bottom:22px}body.inner-page .contact-page .form{border-radius:20px}}@media (prefers-reduced-motion:reduce){body.inner-page .service-row{transition:none}}body.inner-page .about-signature{color:#64748b;border-left:2px solid #bfdbfe;margin-top:32px;padding-left:18px;font-size:12px;line-height:1.9}body.inner-page .about-signature strong{color:#172554;font-size:14px;font-weight:600}body.inner-page .about-experience{color:#fff;background:radial-gradient(at 5% 0,#3877ef26,#0000 65%),#101936;padding-block:72px}body.inner-page .about-experience>.wrap{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}body.inner-page .about-experience h2{color:#fff;letter-spacing:-.045em;font-size:clamp(32px,3.6vw,47px);line-height:1.2}body.inner-page .about-experience .eyebrow{color:#bfdbfe}body.inner-page .about-experience p{color:#c2cfe2;max-width:470px;margin-bottom:0;font-size:15px;line-height:1.9}body.inner-page .about-experience dl{grid-template-columns:1fr 1fr;gap:30px;margin:0;display:grid}body.inner-page .about-experience dl>div{border-top:1px solid #ffffff24;padding-top:26px}body.inner-page .about-experience dt{letter-spacing:-.06em;color:#bfdbfe;font:600 clamp(42px,4.6vw,62px)/1.3 Sora,sans-serif}body.inner-page .about-experience dd{color:#c2cfe2;max-width:190px;margin:16px 0 0;font-size:13px;line-height:1.8}body.inner-page .about-story .split-copy h2,body.inner-page .about-story h2{font-size:clamp(30px,3.2vw,41px)}body.inner-page .case-chapter{margin-top:70px}body.inner-page .case-intro{font-size:18px;font-weight:500;color:#172554!important}body.inner-page .case-priorities>h2{letter-spacing:-.04em;max-width:780px;margin-bottom:30px;font-size:clamp(29px,3.3vw,41px);line-height:1.25}body.inner-page .editorial-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}body.inner-page .editorial-cards>article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:30px}body.inner-page .editorial-index{color:#1e40af;letter-spacing:.06em;margin-bottom:28px;font-size:12px;font-weight:600;display:block}body.inner-page .editorial-cards h3{letter-spacing:-.035em;color:#0f172a;margin-bottom:16px;font-size:21px;line-height:1.4}body.inner-page .editorial-cards p{color:#475569;margin:0;font-size:14px;line-height:1.9}body.inner-page .editorial-cards .text-link{margin-top:24px;font-size:13px}body.inner-page .case-scope{background:#eff6ff;border:1px solid #dbeafe;border-radius:24px;grid-template-columns:.9fr 1.1fr;gap:70px;padding:40px;display:grid}body.inner-page .case-scope h2{letter-spacing:-.035em;font-size:28px;line-height:1.35}body.inner-page .case-scope p{color:#475569;font-size:15px;line-height:1.9}body.inner-page .case-scope .case-caption{color:#64748b;font-size:12px;line-height:1.8}body.inner-page .case-next{border-top:1px solid #e2e8f0;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;padding-top:50px;display:grid}body.inner-page .case-next h2{letter-spacing:-.04em;font-size:clamp(29px,3vw,38px);line-height:1.25}body.inner-page .case-next p{color:#475569;max-width:600px;font-size:15px;line-height:1.9}body.inner-page .case-next .button{margin-top:10px}body.inner-page .case-next-link{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;grid-template-columns:1fr 35px;gap:12px;padding:30px;transition:background .25s,border-color .25s;display:grid}body.inner-page .case-next-link>span:first-child{color:#64748b;grid-column:1/-1;font-size:11px}body.inner-page .case-next-link strong{letter-spacing:-.04em;color:#172554;font:600 23px/1.4 Sora,sans-serif}body.inner-page .case-next-link>span:last-child{color:#1e40af;font-size:27px;transition:transform .3s}body.inner-page .case-next-link:hover{background:#eff6ff;border-color:#bfdbfe}body.inner-page .case-next-link:hover>span:last-child{transform:translate(3px,-3px)}body.inner-page .portfolio-notes{margin-top:38px}body.inner-page .project-info h2{letter-spacing:-.04em;margin:0;font-size:24px;line-height:1.35}body.inner-page .project-image{transition:border-color .3s,box-shadow .3s}body.inner-page .project a:is(:hover,:focus-visible) .project-image{border-color:#93b5e9;box-shadow:0 16px 38px -28px #1e3a8a55}body.inner-page .project a:is(:hover,:focus-visible) .project-info h2{color:#1e40af}body.inner-page .project-info h2{transition:color .25s}body.inner-page .faq details{transition:background .25s,border-color .25s,box-shadow .25s}body.inner-page .faq details:is(:hover,:focus-within){border-color:#a9c6ef;box-shadow:0 10px 28px -25px #1e3a8a55}body.inner-page .faq summary{transition:color .25s,background .25s}body.inner-page .faq details:is(:hover,:focus-within) summary{color:#1e40af;background:#eff6ff80}@media (width<=980px){body.inner-page .editorial-cards>article{padding:25px}body.inner-page .editorial-cards h3{font-size:19px}body.inner-page .case-scope{gap:35px;padding:32px}body.inner-page .case-next{gap:35px}}@media (width<=720px){body.inner-page .about-experience{padding-block:50px}body.inner-page .about-experience>.wrap{grid-template-columns:1fr;gap:30px}body.inner-page .about-experience dl{gap:25px}body.inner-page .about-experience dt{font-size:46px}body.inner-page .editorial-cards{grid-template-columns:1fr;gap:15px}body.inner-page .editorial-cards>article{padding:26px}body.inner-page .editorial-cards h3{font-size:22px}body.inner-page .editorial-index{margin-bottom:20px}body.inner-page .case-chapter{margin-top:45px}body.inner-page .case-intro{font-size:17px}body.inner-page .case-scope{border-radius:20px;grid-template-columns:1fr;gap:15px;padding:27px 24px}body.inner-page .case-scope h2{font-size:25px}body.inner-page .case-next{grid-template-columns:1fr;gap:30px;padding-top:35px}body.inner-page .case-next-link{padding:25px}body.inner-page .project-info h2{font-size:22px}}@media (prefers-reduced-motion:reduce){body.inner-page :is(.project-image,.project-info h2,.case-next-link,.case-next-link>span:last-child,.faq details,.faq summary,.contact-faq-item,.contact-faq-item summary,.faq-question,.faq-toggle){transition:none!important;transform:none!important}}body.inner-page .about-experience{isolation:isolate;position:relative;overflow:hidden}body.inner-page .about-experience>.wrap{z-index:1;position:relative}body.inner-page .case-chapter{scroll-margin-top:16px}body.inner-page .case-local-nav{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}body.inner-page .case-local-nav a{color:#1e40af;background:#fff;border:1px solid #dbe3ef;border-radius:30px;align-items:center;gap:20px;min-height:44px;padding:11px 18px;font-size:12px;font-weight:600;transition:background .25s,border-color .25s;display:inline-flex}body.inner-page .case-local-nav a:hover{background:#eff6ff;border-color:#93b5e9}.case-overview{display:contents}.case-context{margin-top:65px}body.inner-page .case-overview--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(32px,4.5vw,72px);display:grid}body.inner-page .case-overview--split .case-image{border-radius:22px;padding:12px;position:sticky;top:120px}body.inner-page .case-overview--split .case-screen{background:#f8fafc;border-radius:12px;height:clamp(440px,68vh,680px);overflow:hidden}body.inner-page .case-overview--split .case-image img{object-fit:cover;object-position:center top;width:100%;max-width:none;height:auto;box-shadow:none;border-radius:0;transition:transform 5s cubic-bezier(.22,.61,.36,1);display:block;transform:translate(0,0)}body.inner-page .case-overview--split .case-context{margin-top:0;scroll-margin-top:120px;display:block}body.inner-page .case-overview--split .case-context h2{margin-bottom:26px;font-size:clamp(28px,3vw,42px);line-height:1.15}body.inner-page .case-overview--split .case-context .case-intro{font-size:19px;line-height:1.65}body.inner-page .case-overview--split .case-context p{margin-bottom:20px}@media (width<=760px){body.inner-page .case-overview--split{grid-template-columns:1fr;gap:32px}body.inner-page .case-overview--split .case-image{position:static}body.inner-page .case-overview--split .case-screen{height:480px}body.inner-page .case-overview--split .case-context h2{font-size:30px}body.inner-page .case-overview--split .case-context .case-intro{font-size:17px}}@media (prefers-reduced-motion:reduce){body.inner-page .case-overview--split .case-image img{transition:none!important}}body.inner-page .case-keywords{background:#f3f7fd;border:1px solid #dce6f5;border-radius:24px;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,72px);padding:clamp(28px,4vw,48px);display:grid}body.inner-page .case-keywords h2{font-size:clamp(28px,3vw,40px);line-height:1.18}body.inner-page .case-keywords p{color:#455064;margin-bottom:0;font-size:16px;line-height:1.75}.case-keyword-links{align-content:center;gap:12px;display:grid}.case-keyword-links a{color:#1e3a8a;background:#fff;border:1px solid #dce6f5;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;min-height:90px;padding:20px 24px;transition:background .25s,border-color .25s,transform .25s;display:flex}.case-keyword-links small{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;display:block}.case-keyword-links strong{font-size:18px;font-weight:650}.case-keyword-links a:hover{background:#eff6ff;border-color:#93b5e9;transform:translateY(-2px)}@media (width<=760px){body.inner-page .case-keywords{grid-template-columns:1fr;gap:25px;padding:26px 22px}.case-keyword-links a{padding:18px}.case-keyword-links strong{font-size:16px}}@media (prefers-reduced-motion:reduce){.case-keyword-links a{transition:none;transform:none!important}}.case-preview-hint{color:#52627a;letter-spacing:.015em;justify-content:center;align-items:center;gap:9px;padding:14px 5px 2px;font-size:11px;line-height:1.5;display:none}.case-preview-hint>span{color:#1e40af;font-size:16px}.case-screen:focus-visible{outline-offset:4px;outline:2px solid #2463e8}@media (hover:hover) and (pointer:fine){.case-preview-hint{display:flex}}@media (prefers-reduced-motion:reduce){.case-preview-hint{display:none}}body.inner-page .case-overview--split .case-screen[data-preview-ready]{cursor:pointer}body.inner-page .case-overview--split .case-screen[data-preview-ready] img{will-change:transform;transition:none}
