:root{--blue:#0b4f87;--navy:#0a3155;--sky:#eaf5fd;--ink:#17324a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"Helvetica Neue","Yu Gothic","Hiragino Sans","Noto Sans JP","Noto Sans CJK JP",sans-serif;background:#fff}
a{text-decoration:none;color:inherit}
header{height:82px;display:flex;align-items:center;padding:0 4.5vw;gap:36px;position:absolute;z-index:20;width:100%;background:rgba(255,255,255,.72);backdrop-filter:blur(12px)}
.brand{font-weight:800;letter-spacing:.05em}.mark{display:inline-grid;place-items:center;background:var(--blue);color:#fff;width:32px;height:32px;border-radius:9px;margin-right:8px}
nav{display:flex;gap:27px;margin-left:auto;font-size:13px}.contact{background:var(--navy);color:#fff;padding:14px 24px;border-radius:30px;font-size:13px}
.hero{min-height:760px;padding:130px 5vw 50px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;background:linear-gradient(135deg,#f7fcff 0%,#e5f4ff 48%,#d7eefb 100%);overflow:hidden}
.hero-copy{position:relative;z-index:2}.kicker{font-size:11px;letter-spacing:.22em;color:#5a86a6;margin-bottom:18px}
.hero h1{font-size:clamp(38px,4.6vw,78px);line-height:1.2;margin:0 0 24px;font-weight:500;letter-spacing:-.04em}
.hero h1 em{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;font-weight:500;color:var(--blue)}
.hero-copy>p{line-height:1.9;max-width:540px}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:30px}.primary{background:var(--blue);color:#fff;padding:16px 24px;border-radius:32px}.textlink{font-size:13px}
.hero-car{height:520px;background:url("../assets/road_hero_car.jpg") center/cover;border-radius:180px 0 0 180px;box-shadow:0 28px 80px rgba(26,93,138,.18)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);padding:0 5vw 90px;margin-top:-70px;position:relative;z-index:5}
.cards article{background:#fff;border:1px solid #dfeaf1;padding:14px;box-shadow:0 18px 40px rgba(44,84,110,.08)}
.cards article>span{font-size:10px;color:#7996aa}.thumb{height:190px;margin:10px 0 18px;background-size:cover;background-position:center}.t1{background-image:url("../assets/engine_service.jpg")}.t2{background-image:url("../assets/paint_repair.jpg")}.t3{background-image:url("../assets/body_repair.jpg")}.t4{background-image:url("../assets/wheel_service.jpg")}
.cards h3{margin:0}.cards p{font-size:10px;letter-spacing:.15em;color:#7890a2}.cards a{font-size:12px;color:var(--blue)}
.promise{display:grid;grid-template-columns:1.08fr .92fr;background:#f5fafc}.promise-photo{min-height:620px;background:url("../assets/garage_exterior.jpg") center/cover;border-radius:0 120px 0 0}.promise-copy{padding:90px 8vw 70px 7vw}.promise h2,.gallery h2,footer h2{font-size:clamp(38px,4vw,58px);line-height:1.25;margin:0 0 24px}.promise-copy>p{line-height:2;color:#4d6678}.promise ul{padding-left:18px;line-height:2}.outline{display:inline-block;margin-top:20px;border:1px solid #7da2bc;padding:13px 20px;border-radius:30px;font-size:13px}
.gallery{padding:100px 5vw}.title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.title-row a{font-size:13px}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:260px 260px;gap:18px}.gallery-grid article{background-size:cover;background-position:center;position:relative;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:end}.large{grid-row:1/3}.g1{background-image:linear-gradient(transparent,rgba(0,0,0,.45)),url("../assets/paint_repair.jpg")}.g2{background-image:url("../assets/engine_service.jpg")}.g3{background-image:url("../assets/coastline.jpg")}.gallery-grid span{font-size:10px;letter-spacing:.18em}.gallery-grid h3{font-size:30px;max-width:420px}
footer{background:var(--navy);color:#fff;padding:70px 5vw;display:flex;justify-content:space-between;align-items:center}footer a{background:#fff;color:var(--navy);padding:16px 24px;border-radius:30px}
@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:120px}.hero-car{margin-top:40px;height:320px;border-radius:80px 0 0 80px}.cards{grid-template-columns:1fr 1fr;margin-top:-20px}.promise{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.large{grid-row:auto;min-height:400px}.g2,.g3{min-height:250px}footer{flex-direction:column;align-items:flex-start;gap:24px}}
@media(max-width:560px){.cards{grid-template-columns:1fr}}

/* High-resolution image rendering */
.hero,.hero-car,.hero-photo,.about-photo,.promise-photo,.service-photo,.work-img,.thumb,.pimg,.works-grid article,.works-cards article,.sky-banner{background-repeat:no-repeat;}
img{max-width:100%;height:auto;}

/* Additional sections (flow / faq / company) */
.flow{padding:0 5vw 90px}
.flow h2,.faq h2,.company h2{font-size:clamp(32px,3.6vw,50px);line-height:1.25;margin:0 0 8px}
.flow-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.flow-list li{background:#fff;border:1px solid #dfeaf1;border-radius:14px;padding:26px 24px 30px}
.flow-list span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;letter-spacing:.06em}
.flow-list h3{margin:16px 0 8px;font-size:18px}
.flow-list p{margin:0;font-size:13px;line-height:1.9;color:#4d6678}
.faq{padding:90px 5vw;background:var(--sky)}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.faq-list>div{background:#fff;border-radius:14px;padding:26px 28px}
.faq-list h3{margin:0 0 10px;font-size:17px;color:var(--navy)}
.faq-list h3:before{content:"Q. ";color:var(--blue);font-weight:700}
.faq-list p{margin:0;font-size:13.5px;line-height:1.95;color:#4d6678}
.company{padding:90px 5vw 100px}
.company dl{margin:0;border-top:1px solid #dfeaf1}
.company dl>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:18px 4px;border-bottom:1px solid #dfeaf1}
.company dt{font-size:12px;letter-spacing:.1em;color:#5a86a6;padding-top:3px}
.company dd{margin:0;font-size:14px;line-height:1.9}
@media(max-width:900px){
  .flow-list{grid-template-columns:1fr 1fr}
  .faq-list{grid-template-columns:1fr}
  .company dl>div{grid-template-columns:110px 1fr;gap:14px}
}
@media(max-width:560px){
  .flow-list{grid-template-columns:1fr}
}
@media(max-width:430px){
  .hero h1{font-size:33px}
}
