/* Product-led presentation. Shared across the service site. */
:root{--ink:#1d1d1f;--muted:#6e6e73;--soft:#fff;--line:#d2d2d7;--blue:#0071e3;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans","Hiragino Kaku Gothic ProN",Arial,Meiryo,sans-serif}
body{font-family:var(--sans);font-feature-settings:normal;-webkit-font-smoothing:antialiased;letter-spacing:0}
h1,h2,h3{font-weight:600;letter-spacing:-.025em;text-wrap:balance}
p{word-break:normal;overflow-wrap:break-word}
.wrap{width:min(1120px,calc(100% - 96px))}
.section{padding-block:112px}
.home-page .section h2{font-size:clamp(36px,4vw,52px);line-height:1.28;letter-spacing:-.035em}
.eyebrow{color:var(--muted);font-size:14px;font-weight:500;letter-spacing:.02em;margin-bottom:20px}
.header{height:64px;background:#fff;border-bottom:1px solid #0000000c;backdrop-filter:saturate(160%) blur(22px);-webkit-backdrop-filter:saturate(160%) blur(22px)}
.header::after{display:none}
.header nav>a{font-size:12px;font-weight:400}
.header .brand-image{width:190px}
.header-cta{font-size:12px;padding:8px 16px;min-height:34px;display:inline-flex;align-items:center;justify-content:center}
.button{border-radius:999px;font-size:16px;min-height:46px;padding:12px 23px;font-weight:400;box-shadow:none}
.button-primary{background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;text-decoration:none}
.button-primary:hover,.header-cta:hover{background:#0077ed}
.text-link{font-size:16px;font-weight:400;line-height:1.6;color:var(--blue);display:inline-flex;align-items:center;gap:8px}
.text-link:hover{text-decoration:underline;text-underline-offset:4px}
:where(a,button,input,summary):focus-visible{outline:3px solid #0071e3;outline-offset:5px}
.home-page .hero{background:#fff;text-align:center;overflow:hidden}
.home-page .hero-grid{padding-top:46px;padding-bottom:48px;display:block}
.home-page .hero-intro{display:block;margin:0 0 17px;font-size:17px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ink)}
.hero-intro>span{font-size:12px;display:inline-block;margin-left:8px;color:var(--muted);font-weight:400}
.home-page .hero-headline{font-size:clamp(42px,5vw,66px);line-height:1.18;font-weight:600;letter-spacing:-.045em;margin:0;color:var(--ink)}
.home-page .hero-lede{font-size:21px;line-height:1.5;font-weight:400;letter-spacing:-.015em;margin:20px 0 0;color:#515154}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:25px}
.home-page .hero-product{width:min(610px,82%);margin:36px auto 0;padding:0;position:relative;isolation:isolate}
.home-page .hero-product::before{display:none}
.home-page .hero-product img{display:block;width:100%;max-height:none;height:auto;filter:drop-shadow(0 24px 22px #0000001a)}
.home-page .hero-product .spray-stage{max-width:none;animation:none;translate:none}
.home-page .hero-product figcaption{font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.04em;margin:18px 0 0;line-height:1.5}
.hero-product figcaption>span{padding-inline:5px}
.spray-controls{gap:10px;margin-top:12px}
.spray-replay{box-shadow:none}
.owner-overview{background:#fff;padding:25px 0 55px}
.owner-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:30px}
.owner-overview-heading h2{font-size:24px;line-height:1.5;letter-spacing:-.02em;margin:0}
.owner-overview-heading .text-link{font-size:14px;white-space:nowrap}
.owner-highlights{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.owner-highlights>li{padding:7px 0 8px;display:flex;flex-direction:column;gap:8px;text-align:left;min-width:0}
.owner-highlights>li+li{padding-left:36px;border-left:1px solid #e5e5e7}
.owner-highlights>li>span{font-size:13px;line-height:1.6;color:var(--muted)}
.owner-highlights strong{font-size:45px;font-weight:600;line-height:1.18;letter-spacing:-.045em;white-space:nowrap}
.owner-highlights strong>span{font-size:19px;letter-spacing:-.015em;margin-left:3px}
.owner-highlights small{font-size:12px;line-height:1.6;color:var(--muted)}
.owner-overview .hero-note{max-width:none;margin:29px 0 0;text-align:left;font-size:11px;line-height:1.8;color:#747478}
.home-page .mechanism{background:#fff;padding-bottom:80px}
.chapter-label{display:none}
.concept-description{font-size:16px;line-height:1.9;color:var(--muted)}
.concept-copy>.text-link{margin-top:24px}
.concept-visual img{filter:drop-shadow(0 24px 25px #00000014)}
.is-scroll-story .concept-copy h2{font-size:clamp(38px,4.3vw,56px);line-height:1.25}
.concept-stages h3{font-weight:600;letter-spacing:-.025em}
.concept-progress{color:var(--muted)}
.mechanism-flow{gap:0;background:#fff;border-radius:26px;padding:32px 18px}
.mechanism-flow>li{padding:12px 20px;border:none;background:transparent;box-shadow:none}
.mechanism-flow>li+li{border-left:1px solid #e5e5e7}
.mechanism-flow>li::after{display:none}
.mechanism-flow h3{font-size:18px}
.mechanism-flow svg{color:var(--ink)}
.home-page .models{background:#fff}
.model-track{gap:20px;padding-top:12px;padding-bottom:24px;grid-auto-columns:calc((100% - 40px)/3);width:min(1120px,calc(100% - 96px));margin-top:46px}
.model-card,.model-card.featured{padding:36px 30px;border:0;background:#fff;border-radius:28px;box-shadow:none;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.model-card.featured{background:#fff}
.model-card h3{font-size:29px;line-height:1.2;font-weight:600;min-height:0;letter-spacing:-.035em}
.model-card .card-price{margin-top:22px;padding-top:22px;display:grid;grid-template-rows:auto auto 28px auto auto;align-content:start}
.card-price>p:first-child{grid-row:1}
.card-price>strong{grid-row:2}
.card-price>.regular-price{grid-row:3}
.card-price>div{grid-row:4}
.card-price>p:last-child{grid-row:5}
.card-price strong,.card-price b,.owner-highlights strong{font-variant-numeric:tabular-nums}
.model-track:has(.model-details[open]){align-items:start}
.model-card .model-price{letter-spacing:-.04em}
.model-card .model-specs{border-color:#d2d2d7}
.audience-section{background:#fff}
.audience-grid{gap:18px;margin-top:40px}
.audience-grid>a{background:#fff;border:0;border-radius:26px;padding:32px 26px;box-shadow:none;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.audience-grid strong{font-size:23px;line-height:1.45;letter-spacing:-.025em;font-weight:600}
.audience-grid>a>span:first-child{font-size:12px;color:var(--muted)}
.audience-grid .audience-brand-rental{background:#fff;padding:35px 30px}
.home-page .proof{background:#fff}
.proof-grid{gap:42px;margin-top:44px}
.proof-numbers{background:#fff;padding:35px;border-radius:26px}
.proof-numbers>strong{font-size:72px;letter-spacing:-.05em;font-weight:600}
.media-card{border-radius:26px;box-shadow:none}
.advertising-proof{background:#fff;border:0;border-radius:20px;padding:28px 32px}
.search-intent-links{gap:24px;margin-block:0 80px}
.search-intent-links>a{background:transparent;border-radius:0;border:0;border-top:1px solid var(--line);padding:24px 0}
.visitor-guide{background:#fff}
.visitor-guide-intro{max-width:800px;font-size:17px;line-height:1.9;color:var(--muted)}
.visitor-guide-grid{gap:20px}
.visitor-guide-grid article{background:#fff;border:none;border-radius:26px;padding:32px}
.visitor-guide-grid h3{font-size:24px}
.visitor-guide-grid p{color:var(--muted)}
.revenue{background:#fff}
.calculator{border:0;border-radius:28px;box-shadow:none;background:#fff;padding:36px}
.calculator .monthly-sales p{letter-spacing:-.04em}
.ad-revenue{border-radius:26px}
.comparison-list{border-top:1px solid var(--line)}
.comparison-row{border-radius:0;border:0;border-bottom:1px solid var(--line);box-shadow:none;background:transparent;padding-block:30px}
.comparison-answer{background:transparent}
.comparison-answer strong{color:var(--ink)}
.business-model{background:#fff}
.business-model-grid{gap:24px}
.business-model-grid article{background:#fff;border:0;border-radius:26px;padding:32px}
.location-card,.installation-card,.support-items article{border-radius:26px;box-shadow:none}
.location-network{border-radius:26px}
.home-editorial{background:#fff}
.home-editorial+.home-editorial{padding-top:0}
.editorial-grid{gap:24px}
.editorial-card{border-radius:26px;box-shadow:none;border:0;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.editorial-card>a{background:#fff}
.editorial-copy{padding:26px}
.editorial-copy h3{font-size:21px;line-height:1.55;font-weight:600}
.editorial-category{font-size:12px;letter-spacing:.02em}
.editorial-image{aspect-ratio:1.5}
.read-label{font-size:14px}
.feed-heading{align-items:flex-end;margin-bottom:38px}
.source-note,.note{font-size:12px;line-height:1.85;color:var(--muted)}
.home-page .contact,.reader-cta{background:#fff;color:var(--ink);padding-block:100px}
.contact h2,.reader-cta h2{font-size:clamp(34px,4vw,50px);font-weight:600;line-height:1.3;letter-spacing:-.035em}
.site-footer{background:#fff;border-top:1px solid #dedee0;color:var(--muted)}
.site-footer .footer-top{padding-top:48px}
.site-footer .footer-links h2{color:var(--ink);font-size:12px;font-weight:600}
.site-footer .footer-links a{font-size:12px}
.site-footer .footer-brand .brand-image{width:210px}
.site-footer address,.site-footer p,.office-map-link,.footer-instagram{font-size:12px;line-height:1.8}
.breadcrumbs{font-size:12px}
.listing-hero h1,.document-header h1{font-size:clamp(38px,5vw,58px);line-height:1.25;font-weight:600;letter-spacing:-.035em}
.listing-hero>p:last-child{font-size:18px;line-height:1.85;max-width:820px;color:var(--muted)}
.listing-hero{padding-block:56px 64px}
.story-header h1{font-size:clamp(30px,4vw,46px);line-height:1.45;letter-spacing:-.025em}
.story-header .article-date{display:inline-block;font-size:12px;line-height:1.7;margin:18px 14px 0 0}
.article-body{line-height:1.95}
.partner-copy h1{font-size:clamp(34px,4vw,56px);line-height:1.35;font-weight:600;letter-spacing:-.03em}
.partner-benefits article,.partner-terms-grid{border-radius:26px;box-shadow:none}
@media(hover:hover) and (pointer:fine){
 .audience-grid>a:hover,.editorial-card:hover,.model-card:hover{transform:translateY(-5px);box-shadow:none}
}
@media(min-width:1000px){.is-scroll-story .concept-sticky{top:64px}}
@media(max-width:1000px){
 .wrap{width:calc(100% - 64px)}
 .section{padding-block:88px}
 .model-track{width:calc(100% - 64px);grid-auto-columns:320px}
 .owner-highlights{gap:22px}
 .owner-highlights>li+li{padding-left:23px}
 .owner-highlights strong{font-size:36px}
 .owner-highlights strong>span{font-size:16px}
 .audience-grid{grid-template-columns:repeat(2,1fr)}
 .proof-grid{gap:24px}
 .home-page .hero-product{width:min(610px,90%)}
}
@media(max-width:600px){
 .wrap{width:calc(100% - 44px)}
 .section{padding-block:72px}
 .header{height:60px;padding-inline:22px}
 .header .brand-image{width:164px}
 .header-cta{font-size:11px;padding:7px 12px;min-height:32px}
 .menu-toggle{margin-left:auto;width:44px;height:44px;flex:0 0 44px}
 .mobile-menu{top:60px}
 .mobile-menu>a{font-size:16px!important;padding-block:13px}
 .home-page .hero-grid{padding-top:40px;padding-bottom:36px}
 .home-page .hero-intro{font-size:14px;margin-bottom:16px}
 .hero-intro>span{font-size:11px;margin-left:6px}
 .home-page .hero-headline{font-size:clamp(32px,8.8vw,48px);line-height:1.3;letter-spacing:-.055em}
 .home-page .hero-lede{font-size:15px;line-height:1.6;margin-top:18px;letter-spacing:-.025em}
 .hero-actions{gap:22px;margin-top:23px}
 .hero-actions .button{font-size:13px;min-height:46px;padding:11px 17px;white-space:nowrap}
 .hero-actions .text-link{font-size:13px;gap:5px;white-space:nowrap;min-height:46px}
 .home-page .hero-product{width:100%;margin-top:36px}
 .home-page .hero-product img{filter:drop-shadow(0 16px 15px #0000001a)}
 .home-page .hero-product figcaption{font-size:10px;margin-top:17px}
 .hero-product .spray-controls{gap:9px}
 .owner-overview{padding-block:24px 44px}
 .owner-overview-heading{align-items:flex-end;gap:12px;padding-bottom:26px}
 .owner-overview-heading h2{font-size:20px;line-height:1.5;letter-spacing:-.03em}
 .owner-overview-heading .text-link{font-size:12px;gap:4px;padding-bottom:3px}
 .owner-highlights{gap:0;grid-template-columns:1fr}
 .owner-highlights>li{display:grid;grid-template-columns:1fr auto;align-items:center;padding:20px 0;gap:4px 15px;border-top:1px solid #e5e5e7}
 .owner-highlights>li+li{padding-left:0;border-left:0}
 .owner-highlights>li>span{font-size:12px}
 .owner-highlights strong{grid-column:2;grid-row:1/3;font-size:32px}
 .owner-highlights strong>span{font-size:14px}
 .owner-highlights small{font-size:10px;line-height:1.6}
 .owner-overview .hero-note{font-size:10px;margin-top:10px;line-height:1.8}
 .home-page .section h2{font-size:34px;line-height:1.35;letter-spacing:-.045em}
 .eyebrow{font-size:12px;margin-bottom:16px}
 .concept-description{font-size:14px;line-height:1.95}
 .concept-visual{margin-top:32px}
 .is-scroll-story .concept-visual{margin-top:8px}
 .concept-stages h3{font-size:21px}
 .mechanism-flow{grid-template-columns:repeat(2,1fr);padding:18px 8px;border-radius:22px;gap:0}
 .mechanism-flow>li{padding:20px 12px}
 .mechanism-flow>li+li{border-left:0}
 .mechanism-flow>li:nth-child(even){border-left:1px solid #e5e5e7}
 .mechanism-flow>li:nth-child(n+3){border-top:1px solid #e5e5e7}
 .mechanism-flow h3{font-size:15px;line-height:1.6}
 .mechanism-flow-label{font-size:13px}
 .home-page .mechanism{padding-bottom:64px}
 .model-track{width:100%;padding-inline:22px;scroll-padding-left:22px;grid-auto-columns:calc(100vw - 70px);gap:14px;margin-top:28px}
 .model-card,.model-card.featured{padding:32px 27px;border-radius:26px}
 .model-card h3{font-size:28px}
 .audience-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
 .audience-grid>a{border-radius:22px;padding:24px 18px}
 .audience-grid strong{font-size:19px;line-height:1.5;letter-spacing:-.04em}
 .audience-grid>a>span:first-child{font-size:10px}
 .audience-grid .audience-brand-rental{padding:26px 22px}
 .proof-grid{gap:20px;margin-top:30px}
 .proof-numbers{padding:30px 24px;border-radius:24px}
 .proof-numbers>strong{font-size:64px}
 .advertising-proof{padding:24px;border-radius:22px}
 .search-intent-links{gap:0;margin-bottom:44px}
 .search-intent-links>a{padding:22px 0}
 .visitor-guide-intro{font-size:15px;line-height:1.9}
 .visitor-guide-grid article{padding:28px 24px;border-radius:24px}
 .visitor-guide-grid h3{font-size:24px}
 .calculator{padding:28px 23px;border-radius:26px}
 .comparison-row{padding-block:25px}
 .business-model-grid article{padding:28px 24px;border-radius:24px}
 .home-editorial .editorial-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc(100% - 26px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;padding-block:6px 12px}
 .home-editorial .editorial-card{scroll-snap-align:start}
 .editorial-card{border-radius:24px}
 .editorial-copy{padding:24px}
 .editorial-copy h3{font-size:20px;line-height:1.55}
 .feed-heading{gap:14px;margin-bottom:28px}
 .feed-heading .text-link{font-size:13px;white-space:nowrap}
 .home-page .contact,.reader-cta{padding-block:72px}
 .contact h2,.reader-cta h2{font-size:34px;line-height:1.4}
 .mobile-dock{padding-block:9px max(9px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #0000000c;backdrop-filter:blur(20px);box-shadow:none}
 .mobile-dock{gap:10px}
 .mobile-dock .dock-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding-inline:15px;border:1px solid #e5e5e7;border-radius:10px;line-height:1.4;white-space:nowrap}
 .mobile-dock .button-line{min-height:56px;justify-content:center;line-height:1.4}
 .listing-hero{padding-block:36px 44px}
 .listing-hero h1,.document-header h1{font-size:34px;line-height:1.35}
 .listing-hero>p:last-child{font-size:15px;line-height:1.9}
 .story-header h1{font-size:29px;line-height:1.5}
 .partner-copy h1{font-size:34px;line-height:1.4}
 .site-footer .footer-top{padding-top:36px}
 .site-footer .footer-brand .brand-image{width:200px}
}
@media(max-width:370px){
 .header{padding-inline:18px}
 .header .brand-image{width:149px}
 .header-cta{font-size:10px;padding-inline:10px}
 .menu-toggle{margin-left:auto}
 .hero-actions{gap:16px}
 .hero-actions .button{font-size:12px;padding-inline:15px}
 .hero-actions .text-link{font-size:12px}
 .home-page .hero-lede{font-size:14px}
 .owner-highlights strong{font-size:29px}
 .audience-grid>a{padding-inline:15px}
 .audience-grid strong{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important}
 .audience-grid>a,.editorial-card,.model-card{transition:none}
 .audience-grid>a:hover,.editorial-card:hover,.model-card:hover{transform:none}
}

/* White surfaces use light outlines instead of tinted panels. */
html,body{background:#fff;color-scheme:light}
.model-card,.model-card.featured,.audience-grid>a,.visitor-guide-grid article,.business-model-grid article,.calculator,.advertising-proof{border:1px solid #e5e5e7}
.model-card.featured{border-color:#b8cee4}
.sales-installation,.sales-track-record,.sales-media,.brands-plan-grid article,.contact-options article,.article-body .income-calculator,.partner-terms,.partner-contact{border:1px solid #e5e5e7}
.home-page .proof .advertising-proof{border:1px solid #e5e5e7}
.home-page .sales-consultation{border-block:1px solid #e5e5e7}
.home-page .story-product-window::before{background:none}
.map-badge,.card-top>span:last-child,.location-tags>span{box-shadow:inset 0 0 0 1px #e5e5e7}
