:root{--ink:#15161a;--ink-2:#202127;--text:#292a30;--muted:#6e7078;--pink:#ed78a5;--pink-soft:#fff0f6;--line:#e6e7ea;--white:#fff;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font:400 16px/1.85 'Noto Sans JP',sans-serif;overflow-x:hidden}img{max-width:100%}button,a{font:inherit}
.site-header{height:86px;position:absolute;z-index:10;top:0;left:50%;width:min(100%,var(--max));transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:white}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;line-height:1}.brand-logo{width:54px;height:54px;display:block;overflow:hidden;border-radius:50%;background:#fff;border:2px solid rgba(255,255,255,.75);box-shadow:0 6px 24px rgba(0,0,0,.16);flex:0 0 auto}.brand-logo img{width:100%;height:100%;display:block;object-fit:cover}.brand b{display:block;font-size:19px;letter-spacing:.16em}.brand small{display:block;margin-top:5px;font:500 11px/1.2 Outfit,sans-serif;letter-spacing:.23em;opacity:.7}.nav{display:flex;align-items:center;gap:30px}.nav a{color:white;text-decoration:none;font-size:14px;font-weight:600}.nav-cta{border:1px solid rgba(255,255,255,.7);padding:9px 19px}.menu{display:none;background:transparent;border:0;color:inherit}.menu span{display:block;width:26px;height:1px;background:currentColor;margin:7px}
.hero{position:relative;min-height:780px;background:var(--ink);color:white;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(10,11,14,.91) 0%,rgba(10,11,14,.7) 40%,rgba(10,11,14,.08) 76%),linear-gradient(0deg,rgba(10,11,14,.5),transparent 35%)}.hero-content{position:relative;z-index:2;width:min(100%,var(--max));margin:auto;padding:150px 28px 110px}.kicker{margin:0 0 22px;color:var(--pink);font:600 12px/1 Outfit,sans-serif;letter-spacing:.25em}.kicker.light{color:#ffb0cc}.hero h1{margin:0;font-size:clamp(54px,7vw,100px);line-height:1.12;letter-spacing:-.05em}.hero h1 em,.contact h2 em{font-style:normal;color:#ff9fc2}.hero-lead{max-width:620px;margin:30px 0 0;color:rgba(255,255,255,.73);font-size:17px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:40px}.button{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:14px 25px;text-decoration:none;font-weight:700}.button-pink{background:var(--pink);color:white}.text-link{color:white;text-decoration:none;font-weight:600}.text-link span{display:inline-block;margin-left:12px;color:#ff9fc2}.hero-badge{position:absolute;z-index:3;right:max(28px,calc((100vw - 1164px)/2));bottom:0;width:360px;display:flex;gap:24px;padding:28px 32px;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);color:var(--ink);box-shadow:0 -15px 50px rgba(0,0,0,.12)}.hero-badge>span{color:var(--pink);font:600 12px Outfit}.hero-badge small,.hero-badge b,.hero-badge p{display:block}.hero-badge small{font:600 10px Outfit;letter-spacing:.16em;color:var(--muted)}.hero-badge b{font:700 31px/1.3 Outfit;color:var(--pink)}.hero-badge p{margin:0;font-size:12px;color:var(--muted)}.scroll{position:absolute;z-index:2;left:20px;bottom:40px;writing-mode:vertical-rl;font:600 10px Outfit;letter-spacing:.3em;color:rgba(255,255,255,.55)}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:auto;padding:38px 28px;border-bottom:1px solid var(--line)}.proof-strip div{display:flex;align-items:baseline;justify-content:center;gap:11px;border-right:1px solid var(--line)}.proof-strip div:last-child{border:0}.proof-strip b{font-size:24px}.proof-strip span{font-size:13px;color:var(--muted)}
.section{max-width:var(--max);margin:auto;padding:120px 28px}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:60px}.section-heading h2,.roboclean h2,.contact h2{margin:0;font-size:clamp(38px,5vw,64px);line-height:1.35;letter-spacing:-.035em}.section-heading>p{max-width:460px;margin:0;color:var(--muted)}.service-list{margin-top:70px;border-top:1px solid var(--ink)}.service-list article{display:grid;grid-template-columns:70px 1fr 1fr 35px;gap:20px;align-items:center;padding:29px 12px;border-bottom:1px solid var(--line);transition:.25s ease}.service-list article:hover{background:var(--pink-soft);padding-left:24px}.service-list span{font:600 12px Outfit;color:var(--pink)}.service-list h3{margin:0;font-size:25px}.service-list p{margin:0;color:var(--muted);font-size:14px}.service-list i{font-style:normal;color:var(--pink);font-size:21px}
.roboclean{display:grid;grid-template-columns:.92fr 1.08fr;background:var(--ink);color:white}.robo-photo{position:relative;min-height:820px;overflow:hidden}.robo-photo img{width:100%;height:100%;object-fit:cover}.robo-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,11,14,.65),transparent 42%)}.robo-photo>span{position:absolute;z-index:1;left:35px;bottom:30px;font:600 11px Outfit;letter-spacing:.25em}.robo-content{padding:100px max(32px,calc((100vw - 1120px)/2)) 85px 70px}.robo-content h2 span{color:var(--pink);font-family:Outfit,sans-serif}.robo-lead{max-width:630px;color:#babcc3;margin:27px 0 35px}.steps{list-style:none;margin:0;padding:0;border-top:1px solid #3a3b41}.steps li{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid #3a3b41}.steps li>b{color:var(--pink);font:600 12px Outfit}.steps h3{margin:0 0 4px;font-size:18px}.steps p{margin:0;color:#aeb0b8;font-size:14px}
.works{max-width:1360px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:10px;margin-top:68px}.work{position:relative;padding:0;border:0;background:#eee;overflow:hidden;cursor:zoom-in;color:white;text-align:left}.work.wide{grid-column:span 2}.work.tall{grid-row:span 2}.work img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}.work:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(8,9,12,.74))}.work:hover img{transform:scale(1.045)}.work>span{position:absolute;z-index:2;left:20px;bottom:18px;font-size:13px}.work>span b{display:block;font:600 11px Outfit;letter-spacing:.13em;color:#ffc2d8}.lightbox{width:min(92vw,1050px);border:0;padding:0;background:#111;color:white;box-shadow:0 30px 100px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(5,5,7,.88);backdrop-filter:blur(6px)}.lightbox img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#0b0b0d}.lightbox p{margin:0;padding:16px 22px;font-size:14px}.lightbox-close{position:absolute;z-index:2;right:12px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(10,10,12,.75);color:white;font-size:26px;cursor:pointer}
.price-section{background:var(--ink);color:white}.pricing .section-heading>p{color:#aeb0b7}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:65px}.price-grid article{padding:35px;background:var(--ink-2);border-top:2px solid var(--pink)}.price-grid header{display:flex;align-items:center;gap:18px;margin-bottom:24px}.price-grid header span{font:600 12px Outfit;color:var(--pink)}.price-grid h3{margin:0;font-size:22px}.price-grid dl{margin:0}.price-grid dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #37383e}.price-grid dt{color:#b9bbc2;font-size:14px}.price-grid dd{margin:0;font-weight:700}.price-grid small,.price-note{color:#9698a1;font-size:12px}.price-note{text-align:center;margin:28px 0 0}
.contact{max-width:var(--max);margin:auto;padding:125px 28px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-detail>p{color:var(--muted)}.phone{display:inline-flex;flex-direction:column;color:var(--ink);text-decoration:none;margin:30px 0 8px}.phone small{font-size:12px;color:var(--muted)}.phone strong{font:700 clamp(36px,5vw,56px) Outfit;letter-spacing:.02em}.address{font-size:13px}.contact h2 em{position:relative}.contact h2 em:after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:6px;background:var(--pink);opacity:.22}
footer{max-width:var(--max);margin:auto;padding:48px 28px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}footer>p{grid-column:1;margin:4px 0;color:var(--muted);font-size:12px}footer>small{grid-column:2;grid-row:1/3;color:#999;font-size:11px}
@media(max-width:900px){.site-header{height:72px;padding:0 20px}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:25px;background:rgba(21,22,26,.97);flex-direction:column}.nav.open{display:flex}.menu{display:block}.hero{min-height:720px}.hero-content{padding:130px 22px 190px}.hero-shade{background:linear-gradient(90deg,rgba(10,11,14,.87),rgba(10,11,14,.4)),linear-gradient(0deg,rgba(10,11,14,.65),transparent)}.hero-badge{right:20px;width:calc(100% - 40px)}.proof-strip{grid-template-columns:1fr 1fr;gap:22px}.proof-strip div:nth-child(2){border-right:0}.section{padding:90px 22px}.section-heading{grid-template-columns:1fr;gap:24px}.service-list article{grid-template-columns:48px 1fr 25px}.service-list p{grid-column:2}.service-list i{grid-column:3;grid-row:1/3}.roboclean{grid-template-columns:1fr}.robo-photo{min-height:550px}.robo-content{padding:80px 24px}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.price-grid,.contact{grid-template-columns:1fr}.contact{padding:90px 22px;gap:35px}footer{display:block}footer>small{display:block;margin-top:20px}}
@media(max-width:560px){body{font-size:16px}.brand b{font-size:17px}.brand-logo{width:46px;height:46px}.hero{min-height:720px}.hero h1{font-size:51px}.hero-lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.scroll{display:none}.proof-strip{padding:28px 15px}.proof-strip b{font-size:20px}.section-heading h2,.roboclean h2,.contact h2{font-size:39px}.service-list article{padding:24px 4px}.service-list h3{font-size:21px}.robo-photo{min-height:490px}.gallery{grid-template-columns:1fr;grid-auto-rows:310px}.work.wide{grid-column:span 1}.work.tall{grid-row:span 1}.price-grid{grid-template-columns:1fr}.price-grid article{padding:28px 22px}.phone strong{font-size:36px}}

/* Clear & bright theme */
.site-header{position:fixed;width:100%;max-width:none;padding-left:max(24px,calc((100vw - 1164px)/2));padding-right:max(24px,calc((100vw - 1164px)/2));background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(230,231,234,.8);color:var(--text)}
.nav a{color:var(--text)}.nav-cta{border-color:#d8d9de;background:rgba(255,255,255,.7)}
.hero{background:#f7f8fa;color:var(--text)}.hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 35%,rgba(255,255,255,.28) 70%,rgba(255,255,255,.06) 100%),linear-gradient(0deg,rgba(255,255,255,.55),transparent 45%)}
.hero-content{color:var(--text)}.hero-lead{color:var(--muted)}.text-link{color:var(--text)}.scroll{color:#777982}.hero-badge{border:1px solid rgba(231,232,235,.8);box-shadow:0 18px 60px rgba(56,44,49,.1)}
.button-pink{box-shadow:0 12px 28px rgba(237,120,165,.24)}
.roboclean{background:linear-gradient(135deg,#fff 0%,#fff8fb 100%);color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.robo-photo:after{background:linear-gradient(0deg,rgba(255,255,255,.65),transparent 42%)}.robo-photo>span{color:var(--text);background:rgba(255,255,255,.82);padding:8px 12px}.robo-lead,.steps p{color:var(--muted)}.steps,.steps li{border-color:var(--line)}
.price-section{background:linear-gradient(180deg,#fff8fb 0%,#fff 100%);color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pricing .section-heading>p{color:var(--muted)}.price-grid article{background:rgba(255,255,255,.88);border:1px solid var(--line);border-top:3px solid var(--pink);box-shadow:0 16px 45px rgba(72,55,63,.06)}.price-grid dl div{border-color:var(--line)}.price-grid dt{color:var(--muted)}.price-grid small,.price-note{color:#85878f}
.work{background:#f1f2f4;border:1px solid var(--line)}.work:after{inset:45% 0 0;background:linear-gradient(transparent,rgba(255,255,255,.97))}.work>span{color:var(--text);text-shadow:none}.work>span b{color:#ca527e}.lightbox{background:white;color:var(--text);box-shadow:0 30px 100px rgba(60,45,52,.25)}.lightbox::backdrop{background:rgba(245,246,248,.92);backdrop-filter:blur(8px)}.lightbox img{background:#f4f5f7}.lightbox-close{background:rgba(255,255,255,.9);color:var(--text);box-shadow:0 5px 20px rgba(0,0,0,.12)}
@media(max-width:900px){.site-header{padding-left:20px;padding-right:20px}.nav{background:rgba(255,255,255,.98);box-shadow:0 18px 50px rgba(50,40,45,.1)}.hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.52)),linear-gradient(0deg,rgba(255,255,255,.65),transparent)}}

/* Clearer work photography */
.gallery{grid-auto-rows:300px;gap:16px}.work{display:grid;grid-template-rows:minmax(0,1fr) auto;box-shadow:0 14px 38px rgba(70,55,62,.07);border-radius:3px}.work:after{display:none}.work img{filter:brightness(.88) contrast(1.14) saturate(1.04);object-position:center;transition:filter .25s ease,transform .55s ease}.work:hover img{filter:brightness(.94) contrast(1.1) saturate(1.05);transform:scale(1.025)}.work>span{position:static;padding:13px 16px;background:#fff;border-top:1px solid var(--line);font-weight:700}.work>span b{margin-top:2px}.lightbox img{filter:brightness(.9) contrast(1.12) saturate(1.03)}

/* Service area & LINE */
.information{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1280px}.area-block,.line-block{padding:54px;background:linear-gradient(145deg,#fff 0%,#fff7fa 100%);border:1px solid var(--line);box-shadow:0 18px 55px rgba(76,57,65,.06)}.information h2{margin:0;font-size:clamp(38px,4.6vw,58px);line-height:1.3;letter-spacing:-.035em}.area-lead,.line-copy>p:last-child{color:var(--muted)}.region-list{margin-top:34px;border-top:1px solid var(--line)}.region-list article{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:19px 0;border-bottom:1px solid var(--line)}.region-list span{font:600 12px Outfit;color:var(--pink)}.region-list h3{margin:0 0 3px;font-size:19px}.region-list p{margin:0;color:var(--muted);font-size:14px}.travel-note{margin:24px 0 0;padding:14px 16px;background:#fff;color:var(--muted);font-size:13px;border-left:3px solid var(--pink)}.line-block{display:flex;flex-direction:column;justify-content:space-between}.line-kicker{color:#00b900}.line-zoom{position:relative;margin-top:30px;padding:0;border:0;background:#fff;cursor:zoom-in;overflow:hidden;box-shadow:0 12px 36px rgba(0,185,0,.1)}.line-zoom img{width:100%;display:block}.line-zoom span{position:absolute;right:12px;bottom:12px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.94);color:#078b28;font-size:12px;font-weight:700;box-shadow:0 4px 18px rgba(0,0,0,.1)}
@media(max-width:900px){.information{grid-template-columns:1fr}.area-block,.line-block{padding:38px 28px}.gallery{grid-auto-rows:280px}}
@media(max-width:560px){.gallery{grid-auto-rows:350px}.area-block,.line-block{padding:32px 20px}.information h2{font-size:39px}}

/* Roboclean section without photography */
.roboclean{display:block}
.robo-content{width:min(100%,900px);margin:auto;padding:110px 28px}
@media(max-width:900px){.robo-content{padding:80px 24px}}

/* Roboclean guide before the work gallery */
.works-promo{position:relative;display:block;width:min(100%,760px);margin:0 auto 95px;padding:0;border:0;background:#fff;cursor:zoom-in;box-shadow:0 24px 70px rgba(15,52,91,.14);overflow:hidden}
.works-promo img{display:block;width:100%;height:auto}
.works-promo span{position:absolute;right:16px;bottom:16px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.95);color:#174a78;font-size:12px;font-weight:700;box-shadow:0 5px 20px rgba(0,0,0,.12)}
.works-promo:hover img{transform:scale(1.006)}
@media(max-width:900px){.works-promo{margin-bottom:70px}}
@media(max-width:560px){.works-promo{margin-bottom:54px}.works-promo span{right:10px;bottom:10px}}

/* Email contact */
.email{display:inline-flex;flex-direction:column;margin:18px 0 12px;color:var(--ink);text-decoration:none}
.email small{font-size:12px;color:var(--muted)}
.email strong{font:600 clamp(18px,2.2vw,26px)/1.45 Outfit,sans-serif;letter-spacing:.01em;overflow-wrap:anywhere}
.email:hover strong{color:var(--pink)}
@media(max-width:560px){.email strong{font-size:18px}}

/* Instagram */
.instagram{display:flex;align-items:center;gap:13px;width:min(100%,390px);margin:20px 0 18px;padding:13px 16px;border:1px solid #eadde4;background:linear-gradient(110deg,#fff 0%,#fff3f8 100%);color:var(--ink);text-decoration:none;box-shadow:0 10px 28px rgba(96,58,76,.07);transition:transform .2s ease,box-shadow .2s ease}
.instagram:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(96,58,76,.12)}
.instagram-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:linear-gradient(135deg,#6955d9,#e54a8b 55%,#f5a33b);color:white;font:700 12px Outfit,sans-serif;letter-spacing:.08em}
.instagram small,.instagram strong{display:block}.instagram small{font-size:12px;color:var(--muted)}.instagram strong{font:600 19px/1.4 Outfit,sans-serif}.instagram>b{margin-left:auto;color:var(--pink);font-size:20px}
.footer-instagram{grid-column:2;grid-row:1;color:var(--text);font:600 13px Outfit,sans-serif;text-decoration:none}.footer-instagram:hover{color:var(--pink)}
footer>small{grid-row:2}
@media(max-width:900px){.footer-instagram{display:inline-block;margin-top:20px}.footer-instagram+small{margin-top:8px}}
