*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#fff;font-family:"Noto Sans JP",sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:92px;background:rgba(5,5,5,.96);display:flex;align-items:center;padding:12px 3vw;gap:30px;border-bottom:1px solid #262626}.brand{width:175px;flex:none}.brand img{width:100%;height:68px;object-fit:contain;filter:grayscale(1) contrast(1.3)}.desktop-nav{display:flex;justify-content:center;gap:28px;flex:1}.desktop-nav a{font-family:Oswald,sans-serif;font-weight:600;font-size:14px;letter-spacing:.08em;text-align:center}.desktop-nav span{display:block;font-family:"Noto Sans JP",sans-serif;font-size:9px;font-weight:400;letter-spacing:.08em;color:#aaa}.header-actions{width:240px;display:grid;gap:5px}.phone-box,.mail-btn{border:1px solid #777;text-align:center;padding:3px 8px;font-weight:700}.phone-box{font-family:Oswald,sans-serif;font-size:21px;line-height:1.15}.phone-box small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:8px;color:#bbb}.mail-btn{background:#fff;color:#111;font-size:12px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:27px;height:2px;background:#fff;margin:5px}.hero{min-height:850px;margin-top:92px;position:relative;display:grid;place-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background-image:url("images/work-01.jpg"),url("images/work-02.jpg");background-size:cover;background-position:center;filter:brightness(.55) grayscale(.35);transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.35),rgba(0,0,0,.7))}.hero-content{position:relative;text-align:center;max-width:1000px;padding:90px 25px}.eyebrow{font-family:Oswald,sans-serif;letter-spacing:.18em;color:#bbb;font-size:12px}.hero h1{font:700 clamp(54px,9vw,120px)/.9 "Great Vibes",cursive;letter-spacing:.02em;margin:18px 0;text-shadow:0 4px 20px #000}.hero h1 em{font-family:"Great Vibes",cursive;font-style:normal;font-weight:400;letter-spacing:.02em;-webkit-text-stroke:0;color:#fff;text-shadow:0 4px 20px #000}.hero-lead{font-size:clamp(20px,3vw,32px);font-weight:900;margin:22px 0 8px}.hero-copy{font-size:14px;color:#ddd}.hero-cta{display:inline-flex;gap:35px;border:1px solid #fff;padding:13px 25px;margin-top:25px;font-weight:700;transition:.25s}.hero-cta:hover{background:#fff;color:#000}.section{padding:110px 5vw}.section-heading p{font:500 12px Oswald,sans-serif;letter-spacing:.18em;color:#999;margin:0}.section-heading h2{font:600 clamp(40px,6vw,70px)/1 Oswald,sans-serif;letter-spacing:.03em;margin:8px 0 40px}.section-heading.row{display:flex;justify-content:space-between;align-items:end}.heading-note{color:#aaa;font-size:13px;margin-bottom:45px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid #333;background:#111;min-height:450px}.service-image{height:250px;background:#222 center/cover no-repeat;position:relative}.service-image.aircon{background-image:url("images/work-01.jpg")}.service-image.cargo{background:linear-gradient(135deg,#222,#090909)}.service-image.cars{background:linear-gradient(135deg,#222,#090909)}.vehicle-placeholder{position:absolute;inset:0;display:grid;place-items:center;font:700 42px/.9 Oswald,sans-serif;letter-spacing:.06em;color:#555;text-align:center}.service-body{padding:25px}.service-en{font:600 26px Oswald,sans-serif;margin:0}.service-body h3{font-size:16px;margin:2px 0 15px}.service-body p:not(.service-en){font-size:12px;color:#aaa;min-height:60px}.service-body a{display:inline-flex;border:1px solid #555;padding:6px 12px;font-size:11px;gap:30px}.works{background:#0c0c0c}.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.works-grid figure{margin:0;position:relative;overflow:hidden;aspect-ratio:1/1}.works-grid img{width:100%;height:100%;object-fit:cover;transition:.5s;filter:grayscale(.2)}.works-grid figure:hover img{transform:scale(1.06);filter:grayscale(0)}.works-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(0,0,0,.9));font-size:13px;font-weight:700}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-lead{font-size:20px;font-weight:900}.about-copy>p{color:#bbb;font-size:13px}.about-mark{height:400px;background:#161616;display:grid;place-items:center;overflow:hidden}.about-mark img{width:70%;filter:grayscale(1) contrast(1.4)}.contact{position:relative;min-height:420px;display:grid;align-items:center;padding:90px 7vw;overflow:hidden}.contact-bg{position:absolute;inset:0;background:url("images/work-02.jpg") center/cover;filter:brightness(.3) grayscale(1)}.contact-content{position:relative}.contact h2{font-size:clamp(28px,4vw,48px);margin:10px 0}.contact p{color:#ccc}.contact-buttons{display:flex;gap:12px;margin-top:28px}.contact-phone,.contact-form{border:1px solid #888;padding:14px 25px;min-width:260px}.contact-phone strong,.contact-form strong{display:block;font-size:23px}.contact-phone small,.contact-form small{display:block;font-size:10px;color:#aaa}.contact-form{background:#fff;color:#111}.contact-form small{color:#555}.company-grid{display:grid;grid-template-columns:350px 1fr;gap:80px;align-items:start}.company-logo{background:#151515;padding:35px}.company-logo img{width:100%;filter:grayscale(1) contrast(1.3)}dl{margin:0}dl div{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid #2b2b2b;padding:18px 0}dt{color:#888;font-size:12px}dd{margin:0;font-size:14px}.footer{border-top:1px solid #262626;background:#050505;padding:55px 5vw 20px}.footer-main{display:grid;grid-template-columns:190px 1fr 1fr;gap:45px;align-items:start}.footer-main>img{width:180px;filter:grayscale(1) contrast(1.3)}.footer-main p{font-size:11px;color:#999}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px;color:#bbb}.copyright{text-align:center;color:#555;font-size:10px;margin-top:50px}.site-header.scrolled{box-shadow:0 5px 25px rgba(0,0,0,.5)}@media(max-width:900px){.site-header{height:70px;padding:8px 18px}.brand{width:125px}.brand img{height:52px}.desktop-nav,.header-actions{display:none}.menu-toggle{display:block;margin-left:auto}.hero{margin-top:70px;min-height:720px}.hero-content{padding:60px 20px}.hero-copy{font-size:12px}.pc{display:none}.section{padding:75px 20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-image{height:210px}.works-grid{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr;gap:30px}.about-mark{height:280px}.contact{padding:70px 20px}.contact-buttons{flex-direction:column}.contact-phone,.contact-form{min-width:0;width:100%}.company-grid{grid-template-columns:1fr;gap:30px}.footer-main{grid-template-columns:1fr;gap:25px}.footer-main>img{width:150px}.footer nav{grid-template-columns:1fr 1fr}.mobile-nav{position:fixed;inset:70px 0 0;background:#070707;z-index:99;padding:30px 25px;display:none;flex-direction:column}.mobile-nav.open{display:flex}.mobile-nav a{font:600 25px Oswald,sans-serif;border-bottom:1px solid #292929;padding:14px 0}.mobile-nav span{font:10px "Noto Sans JP",sans-serif;color:#888;margin-left:10px}}@media(min-width:901px){.mobile-nav{display:none!important}}

/* Inquiry form */
.contact-form-wrap{width:min(980px,100%);margin:0 auto}
.contact-intro{max-width:760px}
.rogue-form{margin-top:34px;background:rgba(8,8,8,.92);border:1px solid #3b3b3b;padding:30px}
.form-section{border-bottom:1px solid #2c2c2c;padding:0 0 28px;margin-bottom:28px}
.form-section h3{font-size:20px;margin:0 0 20px;font-weight:900}
.form-label{display:block;font-size:14px;font-weight:800;margin:18px 0 8px}
.form-label span,.required-mark{font-size:10px;background:#fff;color:#111;padding:2px 7px;margin-left:7px}
.rogue-form input[type="text"],.rogue-form input[type="email"],.rogue-form input[type="tel"],.rogue-form textarea{
  width:100%;border:1px solid #555;background:#fff;color:#111;padding:13px 14px;border-radius:2px;font:inherit;outline:none
}
.rogue-form textarea{resize:vertical;min-height:150px}
.rogue-form input:focus,.rogue-form textarea:focus{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check-grid label{display:flex;align-items:center;gap:11px;border:1px solid #333;padding:12px;background:#111;cursor:pointer;font-size:14px}
.check-grid input{appearance:none;width:22px;height:22px;border:2px solid #aaa;background:#fff;margin:0;flex:none;position:relative}
.check-grid input:checked:after{content:"✓";position:absolute;color:#111;font-weight:900;left:3px;top:-4px;font-size:20px}
.form-error{display:none;color:#ffb3b3;font-size:11px;margin:10px 0 0}
.form-error.show{display:block}
.anti-spam{border:1px solid #444;background:#f7f7f7;color:#111;padding:14px 16px;display:flex;align-items:center;gap:12px;position:relative}
.robot-check{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;cursor:pointer}
.robot-check input{position:absolute;opacity:0;pointer-events:none}
.fake-check{width:27px;height:27px;border:2px solid #555;background:#fff;display:inline-grid;place-items:center}
.robot-check input:checked + .fake-check:after{content:"✓";font-size:22px;font-weight:900}
.anti-spam p{font-size:10px;color:#666;margin:0 0 0 auto}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.form-note{font-size:10px;color:#888;margin:16px 0}
.form-submit{width:100%;border:0;background:#fff;color:#111;padding:16px;font-weight:900;font-size:16px;cursor:pointer;transition:.2s}
.form-submit:hover{background:#ddd}
.form-submit span{float:right}
.form-success{margin-top:30px;padding:45px 25px;background:#fff;color:#111;text-align:center}
.form-success[hidden]{display:none}
.success-mark{width:54px;height:54px;border:2px solid #111;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;font-size:28px}
.form-success h3{font-size:23px;margin:0 0 10px}
.form-success p{color:#555}
.back-to-form{background:#111;color:#fff;border:0;padding:12px 25px;cursor:pointer}
.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.contact-direct a{border:1px solid #555;padding:14px 18px}
.contact-direct strong{display:block;font-size:18px}
.contact-direct small{display:block;color:#aaa;font-size:10px}
@media(max-width:900px){
  .rogue-form{padding:20px}
  .check-grid{grid-template-columns:1fr}
  .anti-spam{align-items:flex-start;flex-wrap:wrap}
  .anti-spam p{width:100%;margin:0 0 0 39px}
  .contact-direct{grid-template-columns:1fr}
}

.form-submit:disabled{opacity:.55;cursor:wait}
  .hero{
  min-height:520px;
  margin-top:92px;
}

.hero-content{
  padding:40px 25px;
}

.hero h1{
  margin:8px 0 14px;
}

.hero-lead{
  margin-top:0;
}
  font-family:"Great Vibes",cursive;
  font-size:clamp(45px,6vw,80px);
  font-weight:400;
  line-height:1;
  white-space:nowrap;
  letter-spacing:0;
  text-transform:none;
}