/* FlowRish — existing visual identity, expanded app and case-study content */
:root{--primary-dark:#007d96}
body{font-size:1rem;line-height:1.8;overflow-wrap:anywhere}a{color:var(--primary-dark)}button{font:inherit}img{max-width:100%}section,[id]{scroll-margin-top:110px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #007d96;outline-offset:5px}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:0;left:0;padding:16px;background:white;z-index:200}
nav{width:min(900px,calc(100% - 32px));padding:13px 24px}.nav-logo{gap:10px;color:var(--ink);font-weight:800;letter-spacing:-.5px}.nav-links{gap:26px;align-items:center}.nav-links a,.nav-cta{font-size:.875rem!important}.mobile-contact{display:none}
.hero{min-height:700px;padding-top:155px;padding-bottom:90px;grid-template-columns:1.25fr 1fr}.hero h1{font-family:'Noto Sans JP',sans-serif;font-weight:900;line-height:1.35;font-size:clamp(2.4rem,4.2vw,3.5rem);letter-spacing:-.035em}.hero-eyebrow{font-size:.875rem;color:var(--primary-dark)}.hero-desc{margin-bottom:26px;line-height:1.95}.hero-note{margin-top:20px;font-size:.875rem;color:var(--mid)}.btn{font-size:.9375rem;min-height:48px;justify-content:center;text-align:center}.rish-title,.rtag,.rish-quote,.badge-float{font-size:.875rem}.badge-float{background:var(--primary-dark)}.rish-card{width:340px}.rish-quote{line-height:1.9}.section-label{font-size:.8125rem;letter-spacing:2px;color:var(--primary-dark)!important;margin-bottom:14px}.section-label.light{color:#8bc6d1!important}
.page-section,#services{max-width:1200px;margin:auto;padding:90px 48px}.page-section h2,.process-section h2{font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.55;letter-spacing:-.035em}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-heading p{color:var(--mid);font-size:1rem}.small-only{display:none}#tools{padding:86px 48px}#tools h2{font-family:inherit;font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.55}.tools-inner{max-width:1104px}.app-feature{background:white;border:1px solid #dcebed;border-radius:28px;display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:42px;margin-bottom:26px;align-items:center}.app-category{display:inline-block;color:var(--primary-dark);background:var(--primary-pale);padding:4px 12px;border-radius:50px;font-size:.875rem;font-weight:700;margin-bottom:18px}.app-copy h3{font-size:clamp(1.25rem,2.1vw,1.65rem);line-height:1.65;margin-bottom:16px;letter-spacing:-.025em}.app-name{font-weight:700;font-size:1rem;margin-bottom:14px}.app-copy>p:not(.app-name){color:var(--mid)}.feature-list{list-style:none;margin:20px 0 25px}.feature-list li{padding-left:22px;position:relative;margin:7px 0;font-size:.9375rem}.feature-list li:before{content:'✓';position:absolute;left:0;color:var(--primary-dark);font-weight:700}.app-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.text-link{font-size:.9375rem;font-weight:700;text-decoration-thickness:1px;text-underline-offset:5px}.app-note{font-size:.875rem!important;line-height:1.85;margin-top:17px}.app-visual{margin:0;min-width:0;padding:20px;background:var(--soft);border-radius:18px}.window-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px;font-size:.75rem;letter-spacing:.04em;color:var(--mid);font-weight:700}.app-visual a{display:block;border-radius:9px;overflow:hidden;border:1px solid #dde5e7;background:#f5f5f5}.app-visual img{display:block;width:100%;height:auto;aspect-ratio:1265/712;object-fit:contain}.app-visual figcaption{font-size:.8125rem;color:var(--mid);line-height:1.8;margin-top:12px}.duel-visual{background:#ecf0f4}.duel-feature .app-category{background:#edf0f5;color:#35465d}.apps-consult{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 4px 8px}.apps-consult h3{font-size:1.25rem;margin-bottom:6px}.apps-consult p{color:var(--mid)}.legal-note{font-size:.8125rem;color:var(--mid);margin-top:28px;line-height:1.8}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-card{border:1px solid #dce7e9;border-radius:20px;padding:32px}.case-type{font-size:.8125rem;color:var(--primary-dark);background:var(--soft);padding:5px 12px;border-radius:50px;display:inline-block;margin-bottom:18px}.case-card h3{font-size:1.3rem;margin-bottom:12px}.case-card>p{color:var(--mid)}.case-card dl{margin:24px 0}.case-card dt{font-size:.875rem;font-weight:700;color:var(--primary-dark);margin-top:16px}.case-card dd{margin-top:4px}.case-card-wide{grid-column:1/-1}.case-points{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.case-points>div{padding-right:20px;border-right:1px solid #dce7e9}.case-points>div:last-child{padding-right:0;border-right:0}.case-points dt{margin-top:0}.case-preview{display:block;margin:24px 0;color:var(--ink);text-decoration:none;font-size:.875rem;font-weight:700}.case-preview img{display:block;width:100%;height:auto;border:1px solid #dce7e9;border-radius:12px;margin-bottom:10px}.case-preview:hover span{text-decoration:underline;text-underline-offset:4px}.case-demo-note{font-size:.8125rem!important;margin-top:18px;line-height:1.7}.solution-policy{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:36px;margin-top:28px;padding:30px;background:var(--primary-pale);border:1px solid #cde8ee;border-radius:20px}.solution-eyebrow{font-family:'Syne',sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.14em;color:var(--primary-dark);margin-bottom:7px}.solution-policy h3{font-size:1.3rem;line-height:1.65}.solution-policy div:last-child{display:grid;gap:12px;color:#40565c;font-size:.9375rem;line-height:1.85}.ai-development{display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:center;margin-top:28px;padding:26px 30px;background:var(--ink);border-radius:20px;color:white}.ai-mark{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:18px;background:var(--primary);font-family:'Syne',sans-serif;font-size:1.35rem;font-weight:800}.ai-eyebrow{font-size:.75rem;letter-spacing:.14em;color:#8bc6d1;margin-bottom:4px}.ai-development h3{font-size:1.2rem;margin-bottom:7px}.ai-development div>p:last-child{font-size:.9375rem;line-height:1.85;color:#c3d1d4}.upcoming{margin-top:24px;background:var(--soft);padding:18px 24px;border-radius:16px}.upcoming summary{cursor:pointer;font-size:.9375rem;font-weight:700}.upcoming>div{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:16px}.upcoming p{color:var(--mid);font-size:.9375rem}
#services{padding-top:18px}#services h2{font-family:inherit;line-height:1.5;font-size:clamp(1.65rem,3vw,2.3rem);margin-bottom:32px}.service-row{list-style:none}.service-row::-webkit-details-marker{display:none}.service-text strong{font-size:1.0625rem;display:block;margin-bottom:5px}.service-text>span{font-size:1rem;color:var(--mid);line-height:1.8;display:block}.native-detail{padding:0 32px 28px 112px;font-size:1rem;line-height:1.9}.service-item[open] .service-arrow{transform:rotate(45deg)}.service-item[open]{background:var(--primary-pale)}
.process-section{background:var(--soft)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;gap:36px;margin-top:36px}.step-number{color:var(--primary-dark);font-family:'Syne',sans-serif;font-size:2rem;font-weight:800}.process-grid h3{font-size:1.1rem;margin:8px 0}.process-grid p{color:var(--mid)}.price-note{padding-top:26px;border-top:1px solid #d5e6eb;margin-top:32px;font-size:.9375rem}.price-note strong{display:block;font-size:1rem;margin-bottom:4px}
#story{padding:86px 48px}#story h2{font-family:inherit;line-height:1.55;font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:44px}.tl-content p{font-size:1rem;color:#bac9cd}.tl-content h3{font-size:1.125rem}.tl-item:last-child{padding-bottom:0}#company{padding:80px 48px}.company-table th{font-size:.875rem;color:var(--mid);width:140px;text-align:left;vertical-align:top;padding:18px 8px}.company-table td{font-size:1rem}.company-table td:first-child{font-size:1rem;width:auto;font-weight:400;color:var(--ink)}
#contact{max-width:850px;padding:70px 48px 90px}#contact h2{font-family:inherit;line-height:1.5}#contact>p{font-size:1rem}#contact .contact-card p{font-size:1rem;margin:12px 0 24px}.contact-card h3{font-size:1.25rem}.contact-mail{width:100%}.email-copy{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0 0}.email-copy a{font-size:1rem;color:var(--ink)}.email-copy button{font-size:.875rem;border:1px solid #bdd2d7;background:white;border-radius:7px;padding:6px 10px;cursor:pointer;color:var(--ink)}#contact #copy-status{font-size:.875rem;min-height:1.5em;margin:4px 0 10px;color:var(--primary-dark);text-align:center}.form-option{padding-top:20px;border-top:1px solid #d2e3e8;text-align:center}.form-option span:not(.sr-only){display:block;font-size:.875rem;color:var(--mid);margin-top:6px}footer{color:#a8bbc0;font-size:.875rem}footer a{display:inline-block;color:#c6e5ec;margin-top:10px;font-size:.875rem}
@media(max-width:1050px){.app-feature{grid-template-columns:1fr;gap:28px}.app-visual{max-width:660px;width:100%;margin:auto}.app-copy h3 br{display:none}.app-actions{gap:20px}.section-heading{align-items:start}.hero{padding-left:36px;padding-right:36px;gap:28px}.rish-card{width:300px;padding:36px 24px}}
@media(max-width:768px){nav{padding:11px 18px}.nav-links{display:none}.mobile-contact{display:block;border-radius:50px;background:var(--ink);color:white;text-decoration:none;padding:7px 15px;font-size:.875rem;font-weight:700}.hero{padding:116px 24px 56px;min-height:0;grid-template-columns:1fr;gap:34px}.hero h1{font-size:2.6rem}.hero-right{justify-content:start}.rish-card{width:100%;max-width:none;display:grid;grid-template-columns:72px 1fr;gap:4px 18px;padding:24px;text-align:left}.rish-avatar,.avatar-img{width:72px;height:72px}.rish-avatar{grid-row:1/4;margin:0}.rish-name{font-size:1.2rem}.rish-title{margin-bottom:8px}.rish-tags{justify-content:start;margin-bottom:0}.rtag{font-size:.8125rem;padding:3px 8px}.rish-quote{grid-column:1/-1;margin-top:14px}.rish-quote:before{display:none}.badge-float{right:12px;font-size:.8125rem}.hero-note{font-size:.8125rem}.page-section,#services{padding:56px 24px}.section-heading{display:block;margin-bottom:26px}.section-heading p{margin-top:16px}.small-only{display:block}#tools{padding:54px 20px}.app-feature{padding:26px 22px;border-radius:22px;margin-bottom:20px;gap:24px}.app-copy h3{font-size:1.4rem}.app-visual{padding:13px}.app-visual figcaption{font-size:.8125rem}.window-label{font-size:.75rem}.app-actions{gap:18px}.app-actions .btn{width:100%}.apps-consult{display:block;padding:18px 4px}.apps-consult .btn{margin-top:20px;width:100%;padding:14px 15px;font-size:.875rem}.case-grid,.case-points,.process-grid,.upcoming>div{grid-template-columns:1fr}.case-card{padding:26px}.case-points{gap:18px}.case-points>div{padding:0 0 18px;border-right:0;border-bottom:1px solid #dce7e9}.case-points>div:last-child{padding-bottom:0;border-bottom:0}.solution-policy{grid-template-columns:1fr;gap:18px;padding:24px 22px}.ai-development{grid-template-columns:48px 1fr;padding:22px 20px;gap:16px}.ai-mark{width:48px;height:48px;border-radius:13px;font-size:1rem}.process-grid{gap:22px}.process-grid li{padding-bottom:20px;border-bottom:1px solid #d7e6e9}.process-grid li:last-child{border:0;padding-bottom:0}.service-row{padding:22px 18px;grid-template-columns:36px 1fr 20px;gap:12px}.service-icon-box{width:36px;height:36px;font-size:20px}.native-detail{padding:0 22px 24px}.service-text>span{font-size:.9375rem}#services{padding-top:8px}#story,#company{padding:56px 24px}.tl-item{gap:18px}.tl-content p{font-size:.9375rem}.company-table th{width:84px;padding-left:0}.company-table td{font-size:.9375rem}#contact{padding:50px 24px 60px}.contact-card{padding:26px 20px}#contact>p br{display:none}footer{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
