@font-face{font-family:Inter;src:url('../fonts/Inter-VariableFont_slnt_wght.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#24212b;--muted:#635e68;--accent:#e6007e;--accent-dark:#b80063;--pink:#f25d80;--peach:#ffc9b1;--bg:#f9f9f9;--line:#e6e1e5;--title:clamp(1.65rem,3.1vw,2.6rem);--card:clamp(1.2rem,1.8vw,1.45rem);--body:1rem;--note:.875rem}
*{box-sizing:border-box}html{scroll-padding-top:20px}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:var(--body);line-height:1.85;-webkit-text-size-adjust:100%}img{max-width:100%;display:block;height:auto}figure,p,ul,ol,dl{margin:0}h1,h2,h3{margin:0;font-weight:750;line-height:1.5;overflow-wrap:anywhere;text-wrap:balance}h3{font-size:var(--card)}p,li,dd{overflow-wrap:anywhere}a{color:var(--accent-dark);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}button,input,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:3px solid #204a8a;outline-offset:4px}.keep{white-space:nowrap}.skip-link{position:fixed;left:12px;top:-100px;z-index:20;background:#fff;padding:10px 16px}.skip-link:focus{top:12px}.container{max-width:1160px;margin:auto;padding-inline:28px}.container.narrow{max-width:920px}.section{padding-block:72px;scroll-margin-top:20px}.section-title{font-size:var(--title);text-align:center;margin-bottom:24px;color:#c9446a;text-wrap:balance}.section-lead{text-align:center;margin:0 auto 32px;max-width:800px}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.small-note{font-size:var(--note);line-height:1.75;color:var(--muted)}.plain-list{list-style:none;padding:0}.plain-list li{position:relative;padding-left:1em;margin-top:8px}.plain-list li::before{content:'•';position:absolute;left:0;color:var(--accent)}
.cta{display:inline-flex;justify-content:center;align-items:center;min-height:56px;min-width:240px;max-width:100%;padding:14px 28px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-size:1.0625rem;font-weight:750;line-height:1.5;text-decoration:none;box-shadow:0 5px 14px #e6007e22;transition:background-color .15s}.cta:hover{background:var(--accent-dark);text-decoration:none}.cta-band{text-align:center;margin-top:40px;padding:32px 24px;border-radius:12px;background:#fff0f6}.cta-band>p{font-weight:700;margin-bottom:18px}.cta-band>span{display:block;font-size:var(--note);color:var(--muted);margin-top:14px}
.hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:700px;background:#26312b;color:#fff;padding:40px 24px;overflow:hidden}.hero-media,.hero-media picture,.hero-media img,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#101923b8,#15212b9c);z-index:1}.hero-inner{max-width:940px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.hero-logo{width:210px;max-width:62vw;height:auto}.hero-eyebrow{font-size:.9rem;line-height:1.7}.hero h1{font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.45;text-wrap:balance}.hero-description{font-size:1rem;line-height:1.8;max-width:800px}.hero-reassurance{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 20px;font-size:var(--note);line-height:1.7}.hero-reassurance span::before{content:'✓';margin-right:6px}.motion-control{position:absolute;right:20px;bottom:16px;background:#172028a6;border:1px solid #ffffff99;border-radius:6px;color:#fff;padding:6px 12px;font-size:.75rem;min-height:36px}
.challenges{background:linear-gradient(180deg,#fff,#fff6f8)}.challenge-layout{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:36px}.challenge-list{padding:0;list-style:none;display:grid;gap:14px}.challenge-list li{position:relative;padding-left:30px}.challenge-list li::before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:800}.challenge-photo{border-radius:10px;aspect-ratio:16/9;object-fit:cover}.section-bridge{text-align:center;font-weight:700;margin-top:30px;color:var(--accent-dark)}
.service-card{padding:26px 24px;background:#fff;border:1px solid var(--line);border-top:4px solid #f58da1;border-radius:10px}.card-number{display:block;font-size:.875rem;font-weight:700;color:var(--accent);margin-bottom:12px}.service-card h3{min-height:3em;margin-bottom:12px}.services>.container>.small-note{margin-top:20px}
.cases{background:#fff}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.case-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}.case-heading{padding:24px 24px 20px}.case-client{font-size:var(--note);color:var(--muted);margin-bottom:8px}.case-heading h3{min-height:3em}.case-photo{aspect-ratio:4/3;background:#e8e8e8}.case-photo img{height:100%;width:100%;object-fit:cover}.case-body{padding:24px}.case-meta{font-size:.9375rem;margin-bottom:20px}.case-details{display:grid;gap:16px}.case-details dt{color:var(--accent-dark);font-size:var(--note);font-weight:750;margin-bottom:3px}.case-details dd{margin:0;font-size:.9375rem;line-height:1.8}
.flow-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;gap:28px}.flow-list li{position:relative}.flow-list li:not(:last-child)::after{content:'→';position:absolute;right:-25px;top:58px;width:24px;text-align:center;color:var(--pink);font-size:24px}.step-number{display:block;color:var(--accent);font-size:1.1rem;font-weight:700;margin-bottom:14px}.flow-list h3{min-height:3em;margin-bottom:12px;text-align:center}.flow-list p{font-size:.9375rem}.flow-foot{margin:32px auto 0;display:flex;max-width:780px;align-items:center;gap:28px}.flow-foot img{width:38%;border-radius:8px}.flow-foot p{font-weight:600}
.usecases{background:#fff}.photo-banner{position:relative;min-height:230px;margin:0 0 30px;border-radius:10px;overflow:hidden;display:grid;place-items:center}.photo-banner img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 40%}.photo-banner p{position:relative;text-align:center;background:linear-gradient(135deg,#f25d80f5,#ef9795f5);color:#fff;font-size:1.3rem;font-weight:700;padding:20px 28px;line-height:1.65;max-width:90%}.usecase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:36px}.usecase-grid article{padding:20px;border-left:3px solid #f58da1;background:#fff6f8}.usecase-grid h3{font-size:1.125rem;margin-bottom:10px}.usecase-grid p{font-size:.9375rem;line-height:1.8}.plan-card{display:flex;flex-direction:column;gap:16px;border:1px solid var(--line);border-radius:10px;padding:24px}.plan-label{font-size:1.2rem;color:var(--accent);font-weight:700}.plan-card h3{min-height:3em}.plan-summary{min-height:5.4em;font-weight:650;line-height:1.8}.plan-flow{background:#eee9ea;padding:14px;font-size:.9375rem;line-height:1.8;min-height:calc(7.2em + 28px)}.plan-card>.plain-list{font-size:.9375rem}.plan-for{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:var(--note);color:var(--muted)}
.concept-banner{position:relative;min-height:300px;display:grid;place-items:center;margin-bottom:36px;overflow:hidden;border-radius:10px}.concept-banner>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 40%}.concept-banner>div{position:relative;background:linear-gradient(135deg,#f25d80f5,#fda693f5);text-align:center;padding:28px 36px;color:#fff;max-width:90%}.concept-banner h3{margin-bottom:14px}.features-grid article{display:flex;flex-direction:column;gap:12px}.features-grid article>img{width:100%;max-width:230px;margin:0 auto;aspect-ratio:1/1;object-fit:contain}.feature-label{background:linear-gradient(135deg,var(--pink),var(--peach));color:#fff;font-size:1.3rem;font-weight:800;text-align:center;padding:12px}.features-grid h3{min-height:3em}.features-grid article>p:not(.feature-label){font-size:.9375rem}.features-grid article>.small-note{font-size:var(--note)}
.market{background:linear-gradient(180deg,#fff6f8,#ffebef)}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:center;margin-bottom:24px}.market-grid h3{font-size:1rem}.market-number{font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:800;line-height:1.4;margin:10px 0;color:#bb3b61}.market-number span{font-size:1rem;margin-left:3px}.market-grid>div>p:last-child{font-size:var(--note)}.sources{line-height:1.8}.search-context{margin-top:24px;padding-top:24px;border-top:1px solid #e4bcc7}.search-context h3{font-size:1.125rem;margin-bottom:10px}.search-context p{font-size:.9375rem}
.faq details{border-bottom:1px solid var(--line);background:#fff}.faq details:first-of-type{border-top:1px solid var(--line)}.faq summary{position:relative;list-style:none;cursor:pointer;padding:20px 48px 20px 18px;font-weight:700;line-height:1.7}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:18px;top:18px;color:var(--accent);font-size:22px}.faq details[open] summary::after{content:'−'}.faq-answer{padding:0 22px 22px;line-height:1.85}.faq-cta{text-align:center;margin-top:28px}
.contact{background:#fff6f8}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:start}.contact-intro{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;padding:24px 0}.contact-logo{width:240px}.contact-photo{width:100%;border-radius:10px;aspect-ratio:4/3;object-fit:cover}.form-panel{background:#fff;border:1px solid var(--line);padding:30px;border-radius:12px}.form-panel h3{margin-bottom:12px}.form-lead{font-size:var(--note);color:var(--muted);margin-bottom:24px}.field{margin-bottom:20px}.field>label{display:flex;align-items:center;gap:10px;font-weight:650;margin-bottom:7px}.required,.optional{font-size:.75rem;line-height:1.5;font-weight:600;border-radius:3px;padding:2px 7px}.required{background:#ffe6f1;color:#b80063}.optional{background:#f1eef1;color:var(--muted)}input:not([type=checkbox]),textarea{width:100%;border:1px solid #cfc9d0;border-radius:6px;padding:12px 14px;font-size:1rem;line-height:1.6;color:var(--ink);background:#fff;min-height:48px}textarea{resize:vertical}.field-help{font-size:var(--note);color:var(--muted);margin-top:7px;line-height:1.7}.consent{display:flex;align-items:flex-start;gap:10px;margin:22px 0}.consent input{margin:6px 0 0;accent-color:var(--accent);width:18px;height:18px;flex:none}.consent label{font-size:var(--note)}.submit-button{width:100%}.form-note{text-align:center;margin-top:14px}.honeypot{display:none!important}
.footer{background:#fecd1a;padding:36px 0 20px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.footer img{width:160px}.footer-inner p{font-size:var(--note);margin-top:16px}.footer nav{display:flex;flex-wrap:wrap;gap:12px 24px}.footer nav a{color:var(--ink);font-size:var(--note)}.copyright{font-size:.8125rem;text-align:center;margin-top:24px}.mobile-cta{display:none}
@media(max-width:1023px){.container{padding-inline:24px}.three-grid{gap:18px}.service-card,.plan-card{padding:20px}.flow-list{gap:22px}.flow-list li:not(:last-child)::after{right:-21px;font-size:20px}.flow-foot{gap:20px}.contact-layout{gap:24px}.form-panel{padding:24px}}
@media(max-width:767px){html{scroll-padding-top:16px}.container{padding-inline:22px}.section{padding-block:48px}.section-title{margin-bottom:20px}.section-lead{margin-bottom:24px}.three-grid,.case-grid,.challenge-layout,.contact-layout{grid-template-columns:minmax(0,1fr);gap:20px}.hero{padding:28px 22px 32px;min-height:0}.hero-inner{gap:14px}.hero-logo{width:180px}.hero h1{font-size:clamp(1.4rem,6.8vw,2.1rem);line-height:1.5}.hero-eyebrow{font-size:.8125rem}.hero-description{font-size:.9375rem;line-height:1.8}.hero-reassurance{display:block;font-size:.8125rem}.hero-reassurance span{display:block}.hero-video,.motion-control{display:none!important}.cta{min-height:54px;min-width:230px}.challenge-layout{gap:24px}.challenge-list{gap:12px}.challenge-photo{max-height:210px}.section-bridge{font-size:1rem;margin-top:24px}.service-card h3{min-height:0;margin-bottom:10px}.service-card{padding:22px}.case-heading{padding:20px}.case-heading h3{min-height:0}.case-body{padding:20px}.case-details{gap:13px}.case-meta{margin-bottom:16px}.cta-band{margin-top:28px;padding:24px 18px}.flow-list{grid-template-columns:minmax(0,1fr);gap:30px}.flow-list li{padding-left:66px}.step-number{position:absolute;left:0;top:2px;font-size:.9375rem}.flow-list h3{min-height:0;margin-bottom:8px}.flow-list li:not(:last-child)::after{content:'↓';left:20px;right:auto;top:auto;bottom:-27px}.flow-list p{font-size:1rem}.flow-foot{display:block;margin-top:24px}.flow-foot img{width:100%;max-height:190px;object-fit:cover;margin-bottom:16px}.flow-foot p{text-align:center;font-size:.9375rem}.photo-banner{min-height:180px;margin-bottom:24px}.photo-banner p{font-size:1.125rem;padding:18px}.usecase-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:24px}.usecase-grid article{padding:16px 18px}.usecase-grid h3{margin-bottom:6px}.plan-card{gap:14px;padding:22px}.plan-card h3,.plan-summary,.plan-flow{min-height:0}.plan-card h3{font-size:1.3rem}.plan-card .plain-list li:first-child{margin-top:0}.plan-for{margin-top:2px}.concept-banner{min-height:270px;margin-bottom:24px}.concept-banner>div{padding:22px 20px}.concept-banner h3{font-size:1.15rem}.concept-banner p{font-size:.9375rem}.desktop-break{display:none}.features-grid article{gap:12px}.features-grid article>img{max-width:150px}.features-grid h3{min-height:0}.feature-label{padding:10px}.features-grid article>p:not(.feature-label){font-size:1rem}.features-grid article>.small-note{font-size:var(--note)}.features-grid{gap:30px}.market-grid{gap:12px;text-align:left;grid-template-columns:minmax(0,1fr)}.market-grid>div{display:grid;grid-template-columns:1fr auto;gap:0 14px;align-items:center;padding-bottom:12px;border-bottom:1px solid #e4bcc7}.market-grid h3{font-size:.9375rem}.market-number{font-size:1.85rem;grid-column:2;grid-row:1/span 2;margin:0}.market-grid>div>p:last-child{grid-column:1}.market-number span{font-size:.8125rem}.faq summary{padding:18px 42px 18px 14px}.faq-answer{padding:0 16px 20px}.contact-intro{padding:0;gap:16px}.contact-logo{width:200px}.contact-photo{display:none}.contact-intro>.small-note{margin-bottom:4px}.form-panel{padding:22px 18px}.form-panel h3{font-size:1.3rem}.form-lead{font-size:.8125rem}.field{margin-bottom:18px}.footer{padding-bottom:96px}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.footer nav{gap:12px 20px}.mobile-cta:not([hidden]){display:block;position:fixed;bottom:0;left:0;right:0;z-index:10;padding:10px 18px max(10px,env(safe-area-inset-bottom));background:#ffffffee;border-top:1px solid var(--line);text-align:center}.mobile-cta .cta{min-height:48px;width:100%;max-width:420px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}.hero-video,.motion-control{display:none!important}}
@media print{.hero{min-height:0;color:#000;background:#fff}.hero-media,.hero-logo,.motion-control,.mobile-cta,.cta{display:none!important}.section{padding-block:24px}.case-card,.plan-card{break-inside:avoid}.faq details .faq-answer{display:block}.footer{padding-bottom:20px}}
.hero-description,.section-lead,.plan-summary,.photo-banner p,.concept-banner p,.contact-intro>p,.cta-band>p,.flow-foot>p{text-wrap:balance}
.case-meta{min-height:5.55em}.case-copy{display:grid;gap:14px;font-size:.9375rem;line-height:1.8}
.search-context{margin-top:32px;padding-top:32px}.search-context .search-title{font-size:clamp(1.2rem,2.2vw,1.6rem);text-align:center;margin-bottom:30px}.search-card svg{display:block;width:36px;height:36px;margin:0 auto 18px;fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.search-card h4{margin:0 0 16px;min-height:3em;font-size:var(--card);font-weight:750;line-height:1.5;text-align:center;text-wrap:balance;overflow-wrap:anywhere}.search-card p{font-size:.9375rem;line-height:1.85}
@media(max-width:767px){.case-meta{min-height:0}.search-context .search-title{margin-bottom:26px}.search-grid{gap:28px}.search-card h4{min-height:0;margin-bottom:12px}.search-card svg{margin-bottom:14px}.search-card p{font-size:1rem}.hero-reassurance,.cta-band>span{text-wrap:balance}}
.search-card p{text-wrap:balance}

@media(min-width:768px){.flow-list h3{position:relative}.flow-list li:not(:last-child)::after{display:none}.flow-list li:not(:last-child) h3::after{content:'→';position:absolute;top:0;right:-25px;width:24px;text-align:center;color:var(--pink);font-size:inherit;line-height:inherit;font-weight:400}}
@media(min-width:768px) and (max-width:1023px){.flow-list li:not(:last-child) h3::after{right:-21px}}
