:root{
  --navy:#0d1929;
  --navy2:#182b42;
  --red:#ed1c2e;
  --light:#f4f6f8;
  --ink:#132033;
  --muted:#667284;
  --line:#dfe4ea;
  --white:#ffffff;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,"Noto Sans JP",sans-serif;color:var(--ink);line-height:1.7;background:#fff}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.wrap{max-width:var(--max);margin:auto;padding:0 24px}

/* HEADER */
.top{background:rgba(13,25,41,.98);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner,.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:82px}
.logo{font-size:27px;font-weight:900;letter-spacing:.5px;line-height:1}
.logo span{color:var(--red)}
.logo small{display:block;font-size:10px;letter-spacing:1.2px;font-weight:600;margin-top:7px}
.nav{display:flex;align-items:center;gap:19px;flex-wrap:wrap;font-size:14px}
.nav a{color:#fff;transition:.2s}
.nav a:hover{color:#ff717b}
.nav-sell{font-weight:800}
.lang{background:transparent;border:1px solid #7f8b9b;color:#fff;padding:7px 10px;border-radius:4px;cursor:pointer;font-weight:700}
.lang.active{background:var(--red);border-color:var(--red)}

/* SHARED */
.eyebrow{color:var(--red);font-weight:900;letter-spacing:2.4px;font-size:12px}
.section{padding:88px 0}
.section h2{font-size:clamp(30px,3.8vw,44px);line-height:1.2;margin:10px 0 26px;letter-spacing:-.7px}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:34px}
.section-head>p{max-width:540px;color:var(--muted);margin:0}
.btn{display:inline-block;border:0;border-radius:4px;background:var(--red);color:#fff;padding:14px 24px;font-weight:800;cursor:pointer;transition:.2s}
.btn:hover{transform:translateY(-1px);filter:brightness(.95)}
.btn.secondary{background:#fff;color:var(--navy)}
.hero-actions,.cta-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* HOME HERO */
.home-hero{position:relative;min-height:650px;background:
  linear-gradient(115deg,rgba(7,18,31,.96) 0%,rgba(16,38,61,.88) 52%,rgba(16,38,61,.52) 100%),
  url("images/hero.jpg") center/cover no-repeat;
  color:#fff;display:flex;align-items:center;overflow:hidden}
.home-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:rgba(255,255,255,.18)}
.hero-inner{position:relative;z-index:2;padding-top:80px;padding-bottom:78px}
.hero-copy{max-width:810px}
.home-hero h1{font-size:clamp(44px,6vw,76px);line-height:1.08;letter-spacing:-1.5px;margin:14px 0 24px}
.home-hero p{font-size:18px;max-width:740px;color:#e7edf4;margin:0}
.home-hero .hero-actions{margin-top:30px}
.hero-facts{margin-top:54px;display:flex;gap:0;border-top:1px solid rgba(255,255,255,.2);max-width:760px}
.hero-facts>div{padding:22px 45px 0 0;margin-right:45px;border-right:1px solid rgba(255,255,255,.18);min-width:150px}
.hero-facts>div:last-child{border-right:0;margin-right:0}
.hero-facts strong{display:block;font-size:30px;line-height:1}
.hero-facts span{display:block;color:#cbd6e3;font-size:13px;margin-top:7px}

/* ABOUT */
.about-section{background:#fff}
.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.about-copy{font-size:17px;color:var(--muted)}
.about-copy p:first-child{margin-top:0}
.about-copy p{margin-bottom:18px}

/* BUSINESS */
.business-section{background:var(--light)}
.business-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.business-card{background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:0 10px 26px rgba(16,35,58,.06)}
.service-photo{height:255px;position:relative;background-color:#dce2e8;background-size:cover;background-position:center}
.service-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,24,40,.35),transparent 60%)}
.service-photo span{position:absolute;z-index:2;left:22px;bottom:16px;background:var(--red);color:#fff;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900}
.photo-cars{background-image:url("images/used-vehicle-buying-sales.png")}
.photo-dismantling{background-image:url("images/vehicle-dismantling.png")}
.photo-parts{background-image:url("images/used-auto-parts.png")}
.photo-export{background-image:url("images/overseas-export.png")}
.business-body{padding:25px 26px 28px}
.business-body h3{font-size:22px;margin:0 0 10px}
.business-body p{color:var(--muted);margin:0}

/* GALLERY */
.gallery-section{background:#fff}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:18px}
.gallery-card{margin:0;min-height:360px;position:relative;background:#dfe4e9 center/cover no-repeat;overflow:hidden}
.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,14,25,.72),rgba(5,14,25,.05) 55%)}
.gallery-card figcaption{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-size:18px;font-weight:800}
.gallery-kameyama{background-image:url("images/kameyama.jpg")}
.gallery-matsusaka{background-image:url("images/matsusaka.jpg")}
.gallery-loading{background-image:url("images/loading.jpg")}

/* WHY */
.why-section{background:var(--navy);color:#fff}
.why-section h2{color:#fff}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.why-item{padding:30px 28px 10px 0;margin-right:28px;border-right:1px solid rgba(255,255,255,.14)}
.why-item:last-child{border-right:0;margin-right:0}
.why-item b{color:var(--red);font-size:13px;letter-spacing:2px}
.why-item h3{font-size:19px;line-height:1.4}
.why-item p{color:#bfcbd8;font-size:14px;margin-bottom:0}

/* COMPANY */
.company-section{background:#fff}
.company-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}
.company-lead{color:var(--muted);max-width:380px}
.facts{display:grid;grid-template-columns:190px 1fr;border-top:2px solid var(--navy);margin:0}
.facts dt,.facts dd{padding:17px 16px;border-bottom:1px solid var(--line);margin:0}
.facts dt{color:var(--muted);font-weight:800}
.facts dd{font-weight:700}
.facts dd small{font-weight:500;color:var(--muted)}

/* CTA */
.cta-section{background:linear-gradient(115deg,#172c43,#0d1929);color:#fff;padding:70px 0}
.cta-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.cta-section h2{font-size:clamp(28px,3.5vw,42px);line-height:1.25;margin:10px 0 0}
.light-eyebrow{color:#ff5c68}
.cta-actions{justify-content:flex-start}
.text-contact{color:#fff;font-weight:800;padding:10px 0}

/* FOOTER */
.footer{background:#08111f;color:#aeb9c7;padding:28px 0;font-size:13px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-logo{color:#fff;font-size:22px}

/* SELL YOUR CAR PAGE (kept compatible) */
.hero{background:linear-gradient(115deg,#111d2ff2,#233a55e8);color:white;padding:95px 0}
.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.2;max-width:850px;margin:10px 0}
.hero p{max-width:760px;font-size:18px;color:#e4eaf0}
.section.alt{background:var(--light)}
.intro{max-width:850px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.card{background:#fff;border:1px solid #e2e6eb;border-radius:9px;padding:27px;box-shadow:0 5px 16px #14243b0a}
.card h3{margin:8px 0}.card p{color:var(--muted);margin:0}.symbol{font-size:32px}
.contact{background:var(--navy);color:white}.contact a{text-decoration:underline;text-underline-offset:3px}
.form-shell{max-width:900px;margin:0 auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-weight:700;font-size:14px}
.field input,.field select,.field textarea{border:1px solid #c9d1da;border-radius:5px;padding:12px;font:inherit;width:100%;background:white}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #ffb5bc;border-color:var(--red)}
.hint{font-size:13px;color:var(--muted)}
.notice{background:#fff7e9;padding:13px 16px;border-left:4px solid #e6a434;margin-bottom:22px}
.form-shell form{background:#fff;border:1px solid #e2e6eb;padding:28px;border-radius:10px}
.form-shell fieldset{border:0;margin:0 0 24px;padding:0}
.form-shell legend{font-size:19px;font-weight:800;border-bottom:1px solid #dfe4eb;width:100%;margin-bottom:18px;padding-bottom:9px}
.required{color:#c21c2a}
.status{margin-top:16px;font-weight:700}.status.error{color:#b31b27}.status.ok{color:#176d36}

@media(max-width:980px){
  .business-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr;gap:0}
  .why-item:nth-child(2){border-right:0}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-card:first-child{grid-column:1/-1}
  .two-col,.company-layout,.cta-inner{grid-template-columns:1fr;gap:35px}
  .section-head{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:760px){
  .top{position:relative}
  .header-inner,.top .wrap{padding-top:14px;padding-bottom:14px;align-items:flex-start}
  .nav{gap:11px;font-size:13px}
  .home-hero{min-height:590px}
  .hero-facts{flex-wrap:wrap}
  .hero-facts>div{min-width:130px;margin-right:24px;padding-right:24px}
  .business-grid,.gallery-grid,.why-grid{grid-template-columns:1fr}
  .gallery-card:first-child{grid-column:auto}
  .why-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);margin-right:0;padding-right:0;padding-bottom:24px}
  .facts{grid-template-columns:1fr}
  .facts dt{padding-bottom:3px;border-bottom:0}
  .facts dd{padding-top:0}
  .footer-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){
  .wrap{padding:0 18px}
  .section{padding:58px 0}
  .home-hero h1{font-size:42px}
  .home-hero p{font-size:16px}
  .hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .hero-facts>div{min-width:0;margin:0;padding:18px 10px 0 0}
  .business-card{box-shadow:none}
  .service-photo{height:220px}
  .gallery-card{min-height:280px}
  .form-grid{grid-template-columns:1fr}
  .form-shell form{padding:18px}
}


/* BUSINESS PROFILE */
.business-profile-section{
  background:#eef2f5;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.business-profile-heading{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:70px;
  align-items:start;
  margin-bottom:38px;
}
.business-profile-heading h2{
  margin-bottom:0;
}
.business-profile-intro{
  color:var(--muted);
  font-size:16px;
}
.business-profile-intro p:first-child{margin-top:0}
.business-profile-intro p:last-child{margin-bottom:0}
.business-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.profile-card{
  background:#fff;
  border:1px solid #dce2e8;
  padding:28px 30px;
  min-height:210px;
  position:relative;
  box-shadow:0 8px 24px rgba(14,31,50,.045);
}
.profile-number{
  display:block;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:2px;
  margin-bottom:12px;
}
.profile-card h3{
  margin:0 0 10px;
  font-size:21px;
}
.profile-card p{
  margin:0;
  color:var(--muted);
  font-size:15px;
}
.online-store-coming-soon{
  margin-top:22px;
  background:var(--navy);
  color:#fff;
  padding:26px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.store-copy{
  display:flex;
  align-items:flex-start;
  gap:28px;
}
.store-label{
  color:#ff5c68;
  font-size:11px;
  font-weight:900;
  letter-spacing:2px;
  padding-top:5px;
  white-space:nowrap;
}
.store-copy strong{
  font-size:21px;
}
.store-copy p{
  margin:5px 0 0;
  color:#c7d2de;
  font-size:14px;
}
.coming-soon-badge{
  border:1px solid rgba(255,255,255,.55);
  color:#fff;
  padding:11px 17px;
  font-weight:900;
  letter-spacing:1.2px;
  font-size:12px;
  white-space:nowrap;
}

@media(max-width:980px){
  .business-profile-heading{grid-template-columns:1fr;gap:18px}
}
@media(max-width:760px){
  .business-profile-grid{grid-template-columns:1fr}
  .online-store-coming-soon{align-items:flex-start;flex-direction:column}
  .store-copy{flex-direction:column;gap:7px}
}


/* OFFICIAL AUTOZONE IMAGE LOGO */
.logo-image-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  padding:6px 10px;
  border-radius:5px;
  line-height:0;
  flex:0 0 auto;
}
.brand-logo{
  display:block;
  width:245px;
  max-width:100%;
  height:58px;
  object-fit:contain;
}
.footer-logo-image{
  padding:5px 8px;
}
.footer-brand-logo{
  width:205px;
  height:48px;
}
@media(max-width:760px){
  .brand-logo{
    width:195px;
    height:48px;
  }
  .footer-brand-logo{
    width:180px;
    height:42px;
  }
}
@media(max-width:580px){
  .logo-image-link{
    padding:5px 7px;
  }
  .brand-logo{
    width:170px;
    height:42px;
  }
}


/* =========================================================
   PROFESSIONAL MOBILE / TABLET RESPONSIVE LAYOUT
   ========================================================= */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
body.menu-open{
  overflow:hidden;
}
button, a, input, select, textarea{
  -webkit-tap-highlight-color:transparent;
}
.mobile-menu-btn{
  display:none;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:5px;
  background:transparent;
  padding:10px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.mobile-menu-btn span{
  display:block;
  width:23px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.mobile-menu-btn.open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.mobile-menu-btn.open span:nth-child(2){
  opacity:0;
}
.mobile-menu-btn.open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}
.nav-languages{
  display:flex;
  gap:8px;
  align-items:center;
}

@media(max-width:900px){
  .top{
    position:sticky;
    top:0;
    z-index:1000;
  }
  .header-inner,
  .top .wrap{
    min-height:70px;
    padding-top:8px;
    padding-bottom:8px;
    align-items:center;
    position:relative;
  }
  .logo-image-link{
    padding:4px 7px;
  }
  .brand-logo{
    width:180px;
    height:46px;
  }
  .mobile-menu-btn{
    display:flex;
    margin-left:auto;
    flex:0 0 auto;
  }
  .nav{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:999;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:#0d1929;
    border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 16px 28px rgba(0,0,0,.22);
    padding:0 20px;
    max-height:0;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
    transition:max-height .28s ease, opacity .2s ease, padding .28s ease;
  }
  .nav.open{
    max-height:520px;
    opacity:1;
    pointer-events:auto;
    padding-top:10px;
    padding-bottom:18px;
  }
  .nav a{
    display:block;
    padding:14px 4px;
    min-height:48px;
    border-bottom:1px solid rgba(255,255,255,.1);
    font-size:15px;
  }
  .nav-languages{
    padding-top:14px;
    width:100%;
  }
  .nav-languages .lang{
    min-height:44px;
    padding:10px 14px;
  }

  .home-hero{
    min-height:auto;
    background-position:center center;
  }
  .hero-inner{
    padding-top:72px;
    padding-bottom:55px;
  }
  .home-hero h1{
    font-size:clamp(38px,8vw,58px);
    line-height:1.08;
  }
  .home-hero p{
    font-size:16px;
    line-height:1.75;
  }
  .hero-actions .btn{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .hero-facts{
    width:100%;
  }

  .section{
    padding:64px 0;
  }
  .section h2{
    font-size:clamp(29px,6vw,38px);
  }
  .two-col,
  .company-layout,
  .cta-inner,
  .business-profile-heading{
    grid-template-columns:1fr;
    gap:26px;
  }
  .business-grid,
  .business-profile-grid{
    grid-template-columns:1fr 1fr;
  }
  .gallery-grid{
    grid-template-columns:1fr 1fr;
  }
  .gallery-card:first-child{
    grid-column:1/-1;
  }
  .why-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:650px){
  .wrap{
    padding-left:18px;
    padding-right:18px;
  }
  .brand-logo{
    width:155px;
    height:40px;
  }
  .mobile-menu-btn{
    width:44px;
    height:44px;
  }

  .home-hero{
    background-position:center center;
  }
  .hero-inner{
    padding-top:54px;
    padding-bottom:45px;
  }
  .home-hero h1{
    font-size:38px;
    letter-spacing:-.8px;
    margin-top:10px;
  }
  .eyebrow{
    font-size:10px;
    letter-spacing:1.8px;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .hero-actions .btn{
    width:100%;
    text-align:center;
  }
  .hero-facts{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:38px;
  }
  .hero-facts>div{
    min-width:0;
    margin:0;
    padding:18px 10px 0 0;
  }
  .hero-facts strong{
    font-size:24px;
  }
  .hero-facts span{
    font-size:11px;
  }

  .section{
    padding:52px 0;
  }
  .section-head{
    margin-bottom:24px;
  }
  .section-head>p{
    font-size:15px;
  }
  .about-copy{
    font-size:16px;
  }

  .business-grid,
  .business-profile-grid,
  .gallery-grid,
  .why-grid{
    grid-template-columns:1fr;
  }
  .gallery-card:first-child{
    grid-column:auto;
  }
  .service-photo{
    height:210px;
    background-position:center center;
  }
  .business-body{
    padding:21px 20px 23px;
  }
  .business-body h3{
    font-size:20px;
  }
  .business-body p{
    font-size:14px;
  }

  .gallery-card{
    min-height:240px;
  }
  .gallery-card figcaption{
    left:18px;
    bottom:15px;
    font-size:16px;
  }

  .why-item{
    margin-right:0;
    padding:23px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .why-item:last-child{
    border-bottom:0;
  }

  .profile-card{
    min-height:0;
    padding:23px 20px;
  }
  .online-store-coming-soon{
    padding:22px 20px;
  }

  .facts{
    grid-template-columns:1fr;
  }
  .facts dt{
    padding:15px 14px 3px;
    border-bottom:0;
  }
  .facts dd{
    padding:0 14px 15px;
  }

  .cta-section{
    padding:52px 0;
  }
  .cta-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .cta-actions .btn,
  .cta-actions .text-contact{
    width:100%;
    text-align:center;
  }

  .footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .footer-brand-logo{
    width:165px;
    height:40px;
  }

  /* Sell Your Car mobile form */
  .hero{
    padding:46px 0 !important;
  }
  .hero h1{
    font-size:36px;
  }
  .hero p{
    font-size:16px;
  }
  .form-shell{
    width:100%;
  }
  .form-shell form{
    padding:18px 15px;
    border-radius:8px;
  }
  .form-grid{
    grid-template-columns:1fr;
    gap:15px;
  }
  .field.full{
    grid-column:auto;
  }
  .field input,
  .field select,
  .field textarea{
    min-height:48px;
    font-size:16px; /* prevents iPhone auto-zoom */
    padding:12px;
  }
  .field textarea{
    min-height:120px;
  }
  .form-shell legend{
    font-size:18px;
  }
  .form-shell .btn{
    width:100%;
    min-height:50px;
    font-size:16px;
  }
  .notice{
    font-size:14px;
  }
}

@media(max-width:390px){
  .brand-logo{
    width:142px;
  }
  .home-hero h1{
    font-size:34px;
  }
  .hero-facts span{
    font-size:10px;
  }
  .section h2{
    font-size:28px;
  }
}
