*{box-sizing:border-box}
:root{
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --navy:#082b63;
  --blue:#0870ef;
  --bg:#f4f7fb;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:var(--navy);
  font-family:var(--font);
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:#fff;
  border-bottom:1px solid #e7edf5;
}
.header-inner{
  width:min(96%,1600px);
  margin:auto;
  min-height:70px;
  display:flex;
  align-items:center;
  gap:24px;
}
.brand{
  width:260px;
  flex:0 0 260px;
}
.brand img{width:100%;height:auto}
.nav{
  margin-left:auto;
  margin-right:5%;
  display:flex;
  align-items:center;
  white-space:nowrap;
  font-size:14px;
  font-weight:800;
  color:#0b2d66;
}
.nav a{
  padding:8px 12px;
  border-right:1px solid #ccd7e5;
}
.nav a:last-child{border-right:0}
.menu-toggle{
  display:none;
  margin-left:auto;
  border:0;
  background:none;
  font-size:28px;
  color:var(--navy);
}

/* Hero */
.hero{
  position:relative;
  min-height:390px;
  overflow:hidden;
  background:url("assets/hero-seto.jpg") center center/cover no-repeat;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.30),rgba(255,255,255,.04) 62%,rgba(255,255,255,.10));
}
.hero-inner{
  position:relative;
  z-index:2;
  width:min(90%,1600px);
  min-height:390px;
  margin:auto;
  padding:44px 0;
  display:grid;
  grid-template-columns:1fr 1fr .52fr;
  gap:28px;
  align-items:start;
}
.hero-copy h1{
  margin:0 0 16px;
  font-size:clamp(48px,4.8vw,72px);
  line-height:1.02;
  letter-spacing:-.03em;
  color:#08285f;
}
.hero-copy p{
  margin:0;
  font-size:clamp(17px,1.5vw,23px);
  line-height:1.45;
  font-weight:800;
  color:#0e315f;
}
.hero-company{
  text-align:center;
  padding-top:8px;
  transform:translateX(calc(-14% - 2em));
  color:#082b63;
}
.company-name{
  font-size:clamp(42px,4vw,60px);
  font-weight:900;
  line-height:1.05;
}
.company-sub{
  margin-top:7px;
  font-size:clamp(20px,1.7vw,28px);
  font-weight:900;
}
.hero-tagline{
  justify-self:end;
  padding-top:8px;
  font-weight:800;
  color:#123762;
}
.hero-tagline p{
  margin:0;
  font-size:18px;
  line-height:1.45;
}
.hero-tagline span{
  display:block;
  width:76px;
  margin:14px 0;
  border-top:2px solid rgba(18,55,98,.45);
}
.hero-tagline strong{
  font-size:18px;
  line-height:1.35;
  letter-spacing:.04em;
}

/* Main products */
.products-section{
  width:min(98%,1700px);
  margin:0 auto;
  padding:18px 0 30px;
}
.upper-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.upper-card{
  position:relative;
  min-height:650px;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 18px 44px rgba(16,42,70,.14);
}
.upper-bg{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
}
.upper-copy-panel{
  position:absolute;
  inset:0 auto 0 0;
  width:55%;
  clip-path:polygon(0 0,100% 0,74% 100%,0 100%);
}
.upper-accent{
  position:absolute;
  top:0;
  bottom:0;
  width:72px;
  transform:skewX(-18deg);
}
.ua1{left:46%}
.ua2{left:50%}
.upper-copy{
  position:relative;
  z-index:4;
  width:52%;
  padding:38px 0 32px 38px;
}
.upper-eyebrow{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:26px;
  font-size:28px;
  line-height:1;
  font-weight:900;
}
.upper-eyebrow span{
  width:52px;
  height:3px;
  display:block;
}
.upper-copy h2{
  margin:0 0 22px;
  font-size:clamp(38px,3.15vw,54px);
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:900;
}
.upper-copy h2 em{
  font-style:normal;
  font-weight:900;
}
.upper-desc{
  margin:0 0 22px;
  font-size:clamp(18px,1.45vw,23px);
  line-height:1.5;
  font-weight:600;
}
.upper-features{
  list-style:none;
  margin:0 0 26px;
  padding:0;
  display:grid;
  gap:10px;
}
.upper-features li{
  position:relative;
  padding-left:46px;
  font-size:clamp(18px,1.45vw,23px);
  line-height:1.25;
  font-weight:900;
}
.upper-features li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-1px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:21px;
  font-weight:900;
}
.upper-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  min-width:260px;
  padding:17px 30px;
  border-radius:999px;
  font-size:23px;
  font-weight:900;
}
.upper-cta span{font-size:30px;line-height:1}
.upper-product{
  position:absolute;
  z-index:3;
  right:2.5%;
  top:14%;
  width:50%;
  height:72%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.upper-product img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.26));
}

/* Three-phase card */
.upper-three .upper-bg{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.08),rgba(11,49,79,.04)),
    url("assets/factory-light.jpg");
}
.upper-three .upper-copy-panel{
  background:linear-gradient(110deg,rgba(255,255,255,.99),rgba(248,252,255,.96) 72%,rgba(255,255,255,.44));
}
.upper-three .upper-accent{background:rgba(23,117,235,.24)}
.upper-three .ua2{background:rgba(91,174,255,.20)}
.upper-three .upper-copy{color:#082b63}
.upper-three .upper-eyebrow{color:#0a66cf}
.upper-three .upper-eyebrow span{background:#0a5ebd}
.upper-three h2 em{color:#0870ef}
.upper-three .upper-desc{color:#303846}
.upper-three .upper-features li{color:#0a2d68}
.upper-three .upper-features li::before{background:#0d6fe8;color:#fff}
.upper-three .upper-cta{
  color:#fff;
  background:linear-gradient(90deg,#0a78f4,#0865db);
}

/* Custom card */
.upper-custom .upper-bg{
  background-image:
    linear-gradient(90deg,rgba(4,14,27,.20),rgba(4,14,27,.40)),
    url("assets/factory-dark.jpg");
}
.upper-custom .upper-copy-panel{
  background:linear-gradient(110deg,rgba(10,29,50,.98),rgba(14,39,65,.96) 72%,rgba(14,39,65,.56));
}
.upper-custom .upper-accent{background:rgba(49,128,209,.22)}
.upper-custom .ua2{background:rgba(91,174,255,.13)}
.upper-custom .upper-copy{color:#fff}
.upper-custom .upper-eyebrow{color:#8fc7ff}
.upper-custom .upper-eyebrow span{background:#8fc7ff}
.upper-custom h2 em{color:#63b2ff}
.upper-custom .upper-desc{color:#e6edf4}
.upper-custom .upper-features li{color:#fff}
.upper-custom .upper-features li::before{background:#1979dc;color:#fff}
.upper-custom .upper-cta{
  color:#fff;
  background:linear-gradient(90deg,#1678df,#075db8);
}
.upper-custom .upper-product img{max-width:92%;max-height:92%}

/* Lower three cards */
.lower-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.lower-card{
  position:relative;
  min-height:470px;
  overflow:hidden;
  border-radius:14px;
  background:#eff6ff;
  box-shadow:0 14px 36px rgba(25,54,86,.10);
}
.lower-photo{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
}
.lower-standard .lower-photo{background-image:url("assets/standard.jpg")}
.lower-solar .lower-photo{background-image:url("assets/solar.jpg")}
.lower-gridbattery .lower-photo{background-image:url("assets/grid.jpg")}

.lower-copy{
  position:relative;
  z-index:2;
  width:72%;
  min-height:470px;
  padding:30px 16px 24px 30px;
  background:linear-gradient(112deg,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.96) 69%,
    rgba(244,249,255,.76) 83%,
    rgba(255,255,255,.04) 100%);
  clip-path:polygon(0 0,100% 0,78% 100%,0 100%);
}
.lower-copy::before,
.lower-copy::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:60px;
  transform:skewX(-18deg);
  pointer-events:none;
}
.lower-copy::before{right:-22px;background:rgba(26,123,238,.12)}
.lower-copy::after{right:-58px;background:rgba(58,155,255,.16)}

.lower-eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
  color:#0a67d3;
  font-size:clamp(19px,1.2vw,25px);
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.lower-eyebrow span{
  width:46px;
  height:3px;
  flex:0 0 46px;
  display:block;
  background:#0a67d3;
}
.lower-copy h3{
  margin:0 0 23px;
  font-size:clamp(27px,1.85vw,38px);
  line-height:1.12;
  letter-spacing:-.02em;
  font-weight:900;
  color:#0b2e67;
}
.lower-copy h3 span,
.lower-copy h3 em{
  display:block;
  white-space:nowrap;
}
.lower-copy h3 em{
  margin-top:5px;
  color:#0a6fe8;
  font-style:normal;
  font-weight:900;
}
.lower-copy ul{
  list-style:none;
  margin:0 0 26px;
  padding:0;
  display:grid;
  gap:10px;
}
.lower-copy li{
  position:relative;
  padding-left:40px;
  font-size:clamp(14px,.95vw,18px);
  line-height:1.25;
  font-weight:900;
  color:#13346f;
  white-space:nowrap;
}
.lower-copy li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-1px;
  width:29px;
  height:29px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#0a72eb;
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.lower-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-width:210px;
  padding:14px 24px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(90deg,#0b7af2,#0563d5);
  font-size:clamp(16px,1vw,20px);
  font-weight:900;
  white-space:nowrap;
}
.lower-cta span{font-size:25px;line-height:1}
.lower-gridbattery .lower-copy{width:74%}

/* Simple lower sections */
.info-section,
.contact-section{
  padding:70px 7%;
  text-align:center;
}
.info-section.alt{background:#f6f9fc}
.info-section h2,
.contact-section h2{
  margin:0 0 14px;
  font-size:36px;
}
.info-section p,
.contact-section p{
  margin:0;
  font-size:18px;
  color:#586b82;
}
.contact-section{background:#eaf3ff}
.footer{
  padding:24px;
  text-align:center;
  color:#fff;
  background:#09264f;
}

/* Responsive */
@media(max-width:1180px){
  .nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    background:#fff;
    padding:10px 20px;
    box-shadow:0 8px 20px rgba(0,0,0,.10);
  }
  .nav.open{display:flex}
  .nav a{border-right:0;border-bottom:1px solid #e7edf5}
  .menu-toggle{display:block}
  .brand{width:220px;flex-basis:220px}

  .hero-inner{grid-template-columns:1fr 1fr}
  .hero-tagline{display:none}

  .upper-grid{grid-template-columns:1fr}
  .lower-grid{grid-template-columns:1fr}
  .lower-card{min-height:430px}
  .lower-copy,.lower-gridbattery .lower-copy{width:64%;min-height:430px}
}
@media(max-width:760px){
  .header-inner{width:94%;min-height:62px}
  .brand{width:178px;flex-basis:178px}

  .hero{min-height:520px}
  .hero-inner{
    width:90%;
    min-height:520px;
    grid-template-columns:1fr;
    padding:36px 0;
  }
  .hero-company{text-align:left;transform:none}
  .company-name{font-size:42px}
  .company-sub{font-size:21px}

  .products-section{width:96%}

  .upper-card{
    min-height:0;
    padding-bottom:360px;
  }
  .upper-copy-panel{
    width:100%;
    clip-path:none;
  }
  .upper-accent{display:none}
  .upper-copy{
    width:100%;
    padding:28px 22px 20px;
  }
  .upper-copy h2{font-size:38px}
  .upper-desc{font-size:18px}
  .upper-features li{font-size:18px}
  .upper-product{
    top:auto;
    bottom:20px;
    left:8%;
    right:8%;
    width:84%;
    height:320px;
  }
  .upper-cta{width:100%;min-width:0}

  .lower-card{min-height:0}
  .lower-copy,
  .lower-gridbattery .lower-copy{
    width:100%;
    min-height:0;
    padding:24px 20px 20px;
    clip-path:none;
    background:rgba(255,255,255,.94);
  }
  .lower-copy::before,
  .lower-copy::after{display:none}
  .lower-photo{
    position:relative;
    height:250px;
  }
  .lower-copy h3{font-size:30px}
  .lower-copy h3 span,
  .lower-copy h3 em{white-space:normal}
  .lower-copy li{font-size:17px;white-space:normal}
  .lower-cta{width:100%;min-width:0}
}


/* ===== Migrated three-phase converter page ===== */
.subpage-hero{
  padding:58px 7% 42px;
  background:linear-gradient(135deg,#eef6ff 0%,#ffffff 58%,#e8f2ff 100%);
  border-bottom:1px solid #dce8f5;
}
.subpage-hero-inner{
  width:min(1180px,100%);
  margin:auto;
}
.breadcrumbs{
  margin-bottom:18px;
  font-size:14px;
  font-weight:700;
  color:#6a7c90;
}
.breadcrumbs a{color:#0a69d4}
.subpage-hero h1{
  margin:0;
  font-size:clamp(40px,5vw,68px);
  letter-spacing:-.04em;
  color:#082b63;
}
.subpage-hero p{
  margin:14px 0 0;
  font-size:clamp(18px,2vw,24px);
  font-weight:800;
  color:#0b69d1;
}

.product-detail{
  width:min(1180px,92%);
  margin:48px auto 70px;
}
.product-intro{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:54px;
  align-items:center;
}
.product-photo-wrap{
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  border-radius:22px;
  background:linear-gradient(145deg,#f9fbfd,#eef4fa);
  box-shadow:0 16px 42px rgba(23,57,91,.10);
}
.product-photo-wrap img{
  max-height:500px;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.14));
}
.product-summary .label{
  display:inline-flex;
  padding:7px 14px;
  border-radius:999px;
  color:#086bd9;
  background:#e8f3ff;
  font-size:14px;
  font-weight:900;
}
.product-summary h2{
  margin:14px 0 12px;
  font-size:clamp(34px,4vw,52px);
  color:#082b63;
}
.product-summary .lead{
  margin:0 0 25px;
  font-size:21px;
  line-height:1.6;
  font-weight:700;
  color:#34485e;
}
.spec-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 16px;
}
.spec-item{
  padding:14px 16px;
  border-radius:12px;
  background:#f5f8fc;
}
.spec-item b{
  display:block;
  margin-bottom:4px;
  font-size:13px;
  color:#6c7c8e;
}
.spec-item span{
  font-size:17px;
  font-weight:900;
  color:#102f62;
}
.custom-note{
  margin:18px 0 0;
  padding:13px 16px;
  border-left:4px solid #0a73e8;
  background:#eef6ff;
  color:#0b3a76;
  font-weight:900;
}
.content-section{
  margin-top:62px;
}
.content-section h2{
  margin:0 0 24px;
  font-size:clamp(30px,3vw,42px);
  color:#082b63;
}
.use-case-block{
  margin:0 0 24px;
  padding:28px 30px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e5edf5;
}
.use-case-block h3{
  margin:0 0 16px;
  font-size:24px;
  color:#0a65ca;
}
.use-case-block ol{
  margin:0;
  padding-left:1.5em;
  color:#31475f;
}
.use-case-block li{
  margin:10px 0;
  line-height:1.65;
  font-size:17px;
  font-weight:650;
}
.contact-box{
  margin-top:58px;
  padding:34px;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(135deg,#0a63c8,#082f69);
}
.contact-box h2{
  margin:0 0 14px;
  color:#fff;
}
.contact-box p{
  margin:8px 0;
  font-size:18px;
  line-height:1.6;
}
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.contact-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:210px;
  padding:14px 20px;
  border-radius:999px;
  background:#fff;
  color:#0759b4;
  font-weight:900;
}
.download-box{
  margin-top:26px;
  padding:24px;
  border-radius:16px;
  background:#f2f7fc;
}
.download-box h3{
  margin:0 0 10px;
  color:#082b63;
}
.download-box a{
  display:inline-flex;
  margin-top:10px;
  padding:12px 18px;
  border-radius:999px;
  background:#0a6bd8;
  color:#fff;
  font-weight:900;
}

@media(max-width:800px){
  .product-intro{grid-template-columns:1fr;gap:28px}
  .product-photo-wrap{min-height:320px}
  .spec-grid{grid-template-columns:1fr}
  .use-case-block{padding:22px 20px}
}


/* ===== Public works page ===== */
.publicworks-page{
  width:min(1320px,94%);
  margin:48px auto 72px;
}
.publicworks-intro{
  margin-bottom:34px;
  padding:22px 26px;
  border-radius:16px;
  background:#f4f8fc;
  color:#38506a;
  font-size:18px;
  line-height:1.7;
  font-weight:650;
}
.works-year{
  margin-top:48px;
}
.works-year h2{
  margin:0 0 20px;
  font-size:clamp(28px,3vw,40px);
  color:#082b63;
}
.table-wrap{
  overflow-x:auto;
  border-radius:16px;
  border:1px solid #dce7f2;
  box-shadow:0 10px 28px rgba(21,51,82,.08);
}
.works-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
  background:#fff;
}
.works-table th,
.works-table td{
  padding:14px 16px;
  border-bottom:1px solid #e8eef5;
  border-right:1px solid #eef3f8;
  text-align:left;
  vertical-align:top;
  line-height:1.55;
}
.works-table th:last-child,
.works-table td:last-child{border-right:0}
.works-table thead th{
  background:#0b5fb8;
  color:#fff;
  font-size:15px;
  font-weight:900;
  white-space:nowrap;
}
.works-table tbody td{
  color:#2b4259;
  font-size:15px;
  font-weight:600;
}
.works-table tbody tr:nth-child(even){background:#f8fbfe}
.works-table tbody tr:hover{background:#eef6ff}
.works-table th:nth-child(1),
.works-table td:nth-child(1){width:64px;text-align:center}
.works-table th:nth-child(2),
.works-table td:nth-child(2){width:120px;white-space:nowrap}
.works-table th:nth-child(5),
.works-table td:nth-child(5){width:120px;white-space:nowrap}

@media(max-width:760px){
  .publicworks-page{width:94%;margin-top:30px}
  .publicworks-intro{font-size:16px;padding:18px}
  .works-year{margin-top:34px}
  .works-year h2{font-size:28px}
}


/* ===== Case studies page ===== */
.cases-page{
  width:min(1180px,92%);
  margin:48px auto 72px;
}
.case-card{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:44px;
  align-items:center;
  margin:0 0 34px;
  padding:28px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e3ebf4;
  box-shadow:0 14px 34px rgba(21,53,86,.08);
}
.case-card.reverse .case-image{order:2}
.case-card.reverse .case-copy{order:1}
.case-image{
  overflow:hidden;
  min-height:360px;
  border-radius:16px;
  background:#eef3f7;
}
.case-image img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
}
.case-location{
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 12px;
  border-radius:999px;
  background:#e9f3ff;
  color:#0a68d1;
  font-size:14px;
  font-weight:900;
}
.case-copy h2{
  margin:0 0 18px;
  font-size:clamp(28px,3vw,40px);
  line-height:1.25;
  color:#082b63;
}
.case-copy p{
  margin:0 0 14px;
  font-size:17px;
  line-height:1.8;
  color:#394f66;
  font-weight:600;
}
.case-link{
  display:inline-flex;
  margin-top:8px;
  color:#086bd8;
  font-weight:900;
}
.case-summary{
  margin:52px 0 0;
  padding:36px;
  border-radius:22px;
  background:linear-gradient(135deg,#edf6ff,#f9fcff);
}
.case-summary h2{
  margin:0 0 16px;
  font-size:34px;
  color:#082b63;
}
.case-summary p{
  margin:0;
  font-size:18px;
  line-height:1.8;
  color:#38506a;
}
.summary-spec{
  display:inline-block;
  margin-top:22px;
  padding:12px 18px;
  border-radius:999px;
  background:#0a69d4;
  color:#fff;
  font-weight:900;
}
@media(max-width:800px){
  .case-card{
    grid-template-columns:1fr;
    gap:22px;
    padding:18px;
  }
  .case-card.reverse .case-image,
  .case-card.reverse .case-copy{order:initial}
  .case-image,
  .case-image img{min-height:280px}
  .case-summary{padding:24px}
}


/* ===== Company page ===== */
.company-page{
  width:min(1100px,92%);
  margin:48px auto 72px;
}
.company-profile-card{
  overflow:hidden;
  border-radius:20px;
  border:1px solid #dfe8f2;
  background:#fff;
  box-shadow:0 14px 34px rgba(18,50,82,.08);
}
.company-table{
  display:grid;
}
.company-row{
  display:grid;
  grid-template-columns:200px 1fr;
  border-bottom:1px solid #e8eef5;
}
.company-row:last-child{border-bottom:0}
.company-key{
  padding:18px 20px;
  background:#f3f7fb;
  color:#0b3e7e;
  font-weight:900;
}
.company-value{
  padding:18px 22px;
  color:#34495f;
  font-weight:650;
  line-height:1.65;
}
.company-value a{
  color:#086bd8;
  font-weight:900;
}
.qualification-section{
  margin-top:48px;
}
.qualification-section h2{
  margin:0 0 20px;
  font-size:34px;
  color:#082b63;
}
.qualification-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.qualification-card{
  padding:24px;
  border-radius:18px;
  background:linear-gradient(145deg,#f7fbff,#eef5fb);
  border:1px solid #dfe9f3;
}
.qualification-card h3{
  margin:0 0 14px;
  color:#0a66cf;
  font-size:22px;
}
.qualification-card ul{
  margin:0;
  padding-left:1.3em;
  color:#34495f;
}
.qualification-card li{
  margin:8px 0;
  line-height:1.55;
  font-weight:650;
}
.company-message-box{
  margin-top:48px;
  padding:30px 34px;
  border-left:5px solid #0b6fdf;
  border-radius:16px;
  background:#f5f9fe;
}
.company-message-box p{
  margin:0;
  color:#34495f;
  font-size:18px;
  line-height:1.9;
  font-weight:650;
}
@media(max-width:760px){
  .company-row{
    grid-template-columns:1fr;
  }
  .company-key{
    padding:12px 16px;
  }
  .company-value{
    padding:14px 16px 18px;
  }
  .qualification-grid{
    grid-template-columns:1fr;
  }
  .company-message-box{
    padding:22px;
  }
}


/* ===== Message page ===== */
.message-page{
  width:min(980px,92%);
  margin:48px auto 72px;
}
.message-panel{
  padding:46px 52px;
  border-radius:24px;
  background:#fff;
  border:1px solid #e2eaf3;
  box-shadow:0 16px 38px rgba(20,50,82,.08);
}
.message-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:#0a6bd8;
  font-size:14px;
  font-weight:900;
  letter-spacing:.16em;
}
.message-panel h2{
  margin:0 0 30px;
  font-size:clamp(30px,4vw,44px);
  line-height:1.35;
  color:#082b63;
}
.message-body p{
  margin:0 0 22px;
  color:#354b62;
  font-size:17px;
  line-height:2;
  font-weight:600;
}
.message-sign{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  margin-top:38px;
  padding-top:26px;
  border-top:1px solid #e5edf5;
  color:#1f3650;
}
.message-sign span{
  font-size:15px;
  font-weight:700;
}
.message-sign strong{
  margin-top:6px;
  font-size:28px;
  color:#082b63;
}
@media(max-width:760px){
  .message-panel{
    padding:28px 22px;
  }
  .message-body p{
    font-size:16px;
    line-height:1.9;
  }
}


/* ===== DC-AC inverter page ===== */
.dcac-page{
  width:min(1180px,92%);
  margin:48px auto 72px;
}
.dcac-intro{
  padding:34px 38px;
  border-radius:22px;
  background:linear-gradient(135deg,#edf6ff,#fff);
  border:1px solid #dce8f4;
}
.dcac-intro h2,.dcac-generic h2{
  margin:0 0 14px;
  color:#082b63;
  font-size:clamp(30px,3vw,42px);
}
.dcac-intro p,.dcac-generic p{
  margin:0;
  font-size:18px;
  line-height:1.8;
  color:#395169;
  font-weight:600;
}
.feature-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.feature-pills span{
  padding:8px 13px;
  border-radius:999px;
  background:#0a68d1;
  color:white;
  font-size:14px;
  font-weight:900;
}
.dcac-product-block{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:center;
  margin-top:34px;
  padding:30px;
  border:1px solid #e1e9f2;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 30px rgba(25,55,85,.07);
}
.dcac-product-block.reverse .dcac-copy{order:2}
.dcac-product-block.reverse .dcac-spec-image{order:1}
.dcac-label{
  display:inline-block;
  margin-bottom:8px;
  color:#0a68d1;
  font-size:13px;
  font-weight:900;
  letter-spacing:.1em;
}
.dcac-copy h2{
  margin:0 0 14px;
  color:#082b63;
  font-size:32px;
}
.dcac-copy p{
  margin:0 0 16px;
  color:#395169;
  font-size:17px;
  line-height:1.75;
  font-weight:600;
}
.dcac-copy ul{
  margin:0;
  padding-left:1.3em;
  color:#344b63;
}
.dcac-copy li{
  margin:8px 0;
  line-height:1.55;
  font-weight:650;
}
.dcac-highlight{
  display:inline-block;
  margin:2px 0 14px;
  padding:10px 15px;
  border-radius:10px;
  background:#eaf4ff;
  color:#075db9;
  font-weight:900;
}
.dcac-spec-image{
  overflow:hidden;
  border-radius:14px;
  border:1px solid #dfe7ef;
  background:#f7f9fb;
}
.dcac-spec-image img{
  width:100%;
  display:block;
}
.dcac-generic{
  margin-top:42px;
}
.dcac-generic-head{
  margin-bottom:22px;
}
.generic-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.generic-card{
  overflow:hidden;
  border-radius:18px;
  border:1px solid #e0e8f0;
  background:#fff;
  box-shadow:0 10px 26px rgba(20,50,80,.06);
}
.generic-card img{
  width:100%;
  display:block;
  border-bottom:1px solid #e6edf4;
}
.generic-card h3{
  margin:18px 20px 8px;
  font-size:24px;
  color:#082b63;
}
.generic-card p{
  margin:0 20px 22px;
  font-size:16px;
}
@media(max-width:820px){
  .dcac-product-block{grid-template-columns:1fr;padding:20px}
  .dcac-product-block.reverse .dcac-copy,
  .dcac-product-block.reverse .dcac-spec-image{order:initial}
  .generic-grid{grid-template-columns:1fr}
  .dcac-intro{padding:24px 22px}
}


/* ===== AC-DC converter page ===== */
.acdc-page{
  width:min(1180px,92%);
  margin:48px auto 72px;
}
.acdc-intro{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:34px;
  align-items:center;
  padding:30px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e1e9f2;
  box-shadow:0 12px 30px rgba(25,55,85,.07);
}
.acdc-label{
  display:inline-block;
  margin-bottom:8px;
  color:#0a68d1;
  font-size:13px;
  font-weight:900;
  letter-spacing:.1em;
}
.acdc-copy h2,
.acdc-spec-section h2,
.acdc-expand h2{
  margin:0 0 14px;
  color:#082b63;
  font-size:clamp(30px,3vw,42px);
}
.acdc-copy p,
.acdc-expand p{
  margin:0;
  color:#395169;
  font-size:18px;
  line-height:1.8;
  font-weight:600;
}
.acdc-image{
  overflow:hidden;
  border-radius:14px;
  border:1px solid #dfe7ef;
  background:#f7f9fb;
}
.acdc-image img{
  width:100%;
  display:block;
}
.acdc-spec-section{
  margin-top:42px;
}
.acdc-spec-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.acdc-spec-card{
  padding:24px;
  border-radius:18px;
  background:linear-gradient(145deg,#f8fbff,#eef5fb);
  border:1px solid #dfe9f3;
}
.acdc-spec-card h3{
  margin:0 0 16px;
  color:#0a66cf;
  font-size:24px;
}
.acdc-spec-card dl{
  margin:0;
}
.acdc-spec-card dl div{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid #dfe8f1;
}
.acdc-spec-card dl div:last-child{
  border-bottom:0;
}
.acdc-spec-card dt{
  color:#6a7b8e;
  font-weight:800;
}
.acdc-spec-card dd{
  margin:0;
  color:#213b5b;
  font-weight:900;
}
.acdc-expand{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:30px;
  align-items:center;
  margin-top:42px;
  padding:32px;
  border-radius:22px;
  background:linear-gradient(135deg,#edf6ff,#fff);
  border:1px solid #dce8f4;
}
.acdc-number-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.acdc-number-grid div{
  padding:22px 12px;
  text-align:center;
  border-radius:14px;
  background:#0a67cf;
  color:#fff;
}
.acdc-number-grid strong{
  display:block;
  font-size:30px;
}
.acdc-number-grid span{
  display:block;
  margin-top:5px;
  font-size:13px;
  font-weight:800;
}
@media(max-width:820px){
  .acdc-intro,
  .acdc-expand{
    grid-template-columns:1fr;
  }
  .acdc-spec-grid{
    grid-template-columns:1fr;
  }
  .acdc-number-grid{
    grid-template-columns:1fr 1fr 1fr;
  }
}


/* ===== 24V lithium-ion battery module page ===== */
.battery24-page{
  width:min(1080px,92%);
  margin:48px auto 72px;
}
.battery24-intro,
.battery24-use,
.battery24-note{
  padding:34px 38px;
  border-radius:22px;
  border:1px solid #dfe8f2;
  background:#fff;
  box-shadow:0 12px 30px rgba(22,52,82,.07);
}
.battery24-use,
.battery24-note{
  margin-top:28px;
}
.battery24-label{
  display:inline-block;
  margin-bottom:9px;
  color:#0a69d4;
  font-size:13px;
  font-weight:900;
  letter-spacing:.1em;
}
.battery24-page h2{
  margin:0 0 14px;
  color:#082b63;
  font-size:clamp(30px,3vw,42px);
}
.battery24-page p{
  margin:0;
  color:#395169;
  font-size:18px;
  line-height:1.8;
  font-weight:600;
}
.battery24-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:26px;
}
.battery24-points div{
  padding:22px;
  border-radius:16px;
  background:linear-gradient(145deg,#eef6ff,#f9fcff);
}
.battery24-points strong{
  display:block;
  margin-bottom:7px;
  color:#0967cc;
  font-size:22px;
}
.battery24-points span{
  color:#415970;
  line-height:1.6;
  font-weight:700;
}
.battery24-use-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:24px;
}
.battery24-use-grid div{
  padding:18px 12px;
  border-radius:14px;
  background:#0a67cf;
  color:#fff;
  text-align:center;
  font-weight:900;
}
.battery24-note{
  background:linear-gradient(135deg,#edf6ff,#fff);
}
@media(max-width:800px){
  .battery24-points,
  .battery24-use-grid{
    grid-template-columns:1fr;
  }
  .battery24-intro,
  .battery24-use,
  .battery24-note{
    padding:24px 22px;
  }
}

/* ===== AC-DC charger page ===== */
.charger-page{width:min(1120px,92%);margin:48px auto 72px}
.charger-lead{padding:30px 34px;margin-bottom:28px;border-radius:20px;background:linear-gradient(135deg,#edf6ff,#fff);border:1px solid #dce8f4}
.charger-lead h2,.charger-card h2{margin:0 0 12px;color:#082b63;font-size:clamp(28px,3vw,40px)}
.charger-lead p,.charger-card p{margin:0;color:#395169;font-size:17px;line-height:1.75;font-weight:600}
.charger-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:center;margin:22px 0;padding:28px;border-radius:20px;background:#fff;border:1px solid #e0e8f1;box-shadow:0 10px 28px rgba(20,50,80,.07)}
.charger-card.featured{border-top:4px solid #0a69d4}
.charger-card img{width:100%;border-radius:12px;border:1px solid #e1e7ed}
.charger-copy>span{display:inline-block;margin-bottom:7px;color:#0a69d4;font-size:12px;font-weight:900;letter-spacing:.12em}
.charger-spec{display:grid;grid-template-columns:105px 1fr;gap:0;margin:14px 0 18px;border-top:1px solid #e4ebf2}
.charger-spec b,.charger-spec strong{padding:10px 8px;border-bottom:1px solid #e4ebf2}
.charger-spec b{color:#6a7c8f}.charger-spec strong{color:#173b65}
@media(max-width:800px){.charger-card{grid-template-columns:1fr;padding:20px}.charger-spec{grid-template-columns:90px 1fr}}


/* ===== High-current DC relay page ===== */
.dcrelay-page{width:min(1120px,92%);margin:48px auto 72px}
.dcrelay-intro{
  display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center;
  padding:32px;border-radius:22px;background:#fff;border:1px solid #e1e9f2;
  box-shadow:0 12px 30px rgba(24,54,84,.07)
}
.dcrelay-label{display:inline-block;margin-bottom:8px;color:#0a68d1;font-size:13px;font-weight:900;letter-spacing:.1em}
.dcrelay-copy h2,.dcrelay-gallery h2{margin:0 0 14px;color:#082b63;font-size:clamp(28px,3vw,40px)}
.dcrelay-copy p{margin:0;color:#395169;font-size:17px;line-height:1.8;font-weight:600}
.dcrelay-product{display:flex;align-items:center;justify-content:center;min-height:360px;border-radius:18px;background:linear-gradient(145deg,#f8fbfe,#edf4fa)}
.dcrelay-product img{max-width:88%;max-height:390px;object-fit:contain}
.dcrelay-specs{margin-top:22px;border-top:1px solid #e1e8f0}
.dcrelay-specs div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid #e1e8f0}
.dcrelay-specs b,.dcrelay-specs strong{padding:11px 8px}
.dcrelay-specs b{color:#6b7c8e}.dcrelay-specs strong{color:#193b62}
.dcrelay-note{margin-top:16px;padding:12px 15px;border-left:4px solid #0a69d4;background:#eef6ff;color:#0b4d96;font-weight:900}
.dcrelay-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
.dcrelay-gallery article{padding:24px;border-radius:20px;background:#fff;border:1px solid #e0e8f1;box-shadow:0 10px 26px rgba(20,50,80,.06)}
.dcrelay-gallery article.wide{grid-column:1/-1}
.dcrelay-gallery img{width:100%;display:block;border-radius:10px;border:1px solid #e2e8ef;background:#fff}
@media(max-width:800px){
  .dcrelay-intro{grid-template-columns:1fr;padding:22px}
  .dcrelay-gallery{grid-template-columns:1fr}
  .dcrelay-gallery article.wide{grid-column:auto}
  .dcrelay-specs div{grid-template-columns:120px 1fr}
}


/* ===== Sodium-ion battery page ===== */
.sodium-page{width:min(1140px,92%);margin:48px auto 72px}
.sodium-intro,.sodium-spec{
  display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;
  padding:32px;border-radius:22px;background:#fff;border:1px solid #e1e9f2;
  box-shadow:0 12px 30px rgba(24,54,84,.07)
}
.sodium-label{display:inline-block;margin-bottom:8px;color:#0a68d1;font-size:13px;font-weight:900;letter-spacing:.1em}
.sodium-copy h2,.sodium-spec h2,.sodium-system h2{
  margin:0 0 14px;color:#082b63;font-size:clamp(30px,3vw,42px)
}
.sodium-copy p,.sodium-system p{margin:0;color:#395169;font-size:18px;line-height:1.8;font-weight:600}
.sodium-product{display:flex;align-items:center;justify-content:center;min-height:360px;border-radius:18px;background:linear-gradient(145deg,#f8fbfe,#edf4fa)}
.sodium-product img{max-width:92%;max-height:400px;object-fit:contain}
.sodium-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.sodium-points div{padding:18px;border-radius:15px;background:#eef6ff}
.sodium-points strong{display:block;color:#0a64c8;font-size:22px}
.sodium-points span{display:block;margin-top:6px;color:#425a72;font-size:14px;font-weight:700;line-height:1.5}
.sodium-spec{margin-top:30px}
.sodium-spec-grid{margin-top:18px;border-top:1px solid #e1e8f0}
.sodium-spec-grid div,.system-spec div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #e1e8f0}
.sodium-spec-grid b,.sodium-spec-grid strong,.system-spec b,.system-spec strong{padding:10px 8px}
.sodium-spec-grid b,.system-spec b{color:#6b7c8e}.sodium-spec-grid strong,.system-spec strong{color:#193b62}
.sodium-reference img{width:100%;display:block;border-radius:14px}
.sodium-system{margin-top:30px;padding:32px;border-radius:22px;background:linear-gradient(135deg,#edf6ff,#fff);border:1px solid #dce8f4}
.system-spec{margin-top:20px;max-width:680px;border-top:1px solid #dce6ef}
.sodium-banner{margin-top:30px;text-align:center}
.sodium-banner img{max-width:760px;width:100%;border-radius:18px;box-shadow:0 12px 28px rgba(20,50,80,.08)}
@media(max-width:820px){
  .sodium-intro,.sodium-spec{grid-template-columns:1fr;padding:22px}
  .sodium-points{grid-template-columns:1fr}
  .sodium-system{padding:24px 22px}
}

/* ===== Contact page ===== */
.contact-page{width:min(1040px,92%);margin:48px auto 72px}
.contact-lead{padding:32px 36px;border-radius:22px;background:linear-gradient(135deg,#edf6ff,#fff);border:1px solid #dce8f4}
.contact-lead h2,.contact-method h2,.contact-form-note h2{margin:0 0 12px;color:#082b63;font-size:clamp(27px,3vw,38px)}
.contact-lead p,.contact-method p,.contact-form-note p{margin:0;color:#405970;font-size:17px;line-height:1.75;font-weight:600}
.contact-methods{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}
.contact-method{display:block;padding:30px;border-radius:20px;background:#fff;border:1px solid #dfe8f1;box-shadow:0 10px 28px rgba(20,50,80,.07);text-decoration:none}
.contact-method>span{color:#0a68d1;font-size:12px;font-weight:900;letter-spacing:.12em}
.contact-method strong{display:block;margin:18px 0;color:#0867cb;font-size:clamp(24px,3vw,34px)}
.contact-method:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,50,80,.11)}
.contact-form-note{margin-top:26px;padding:28px 32px;border-radius:18px;background:#f7f9fb;border:1px solid #e2e8ef}
.contact-form-note h2{font-size:24px}
@media(max-width:720px){.contact-methods{grid-template-columns:1fr}.contact-lead,.contact-method,.contact-form-note{padding:23px}}


/* ===== Standard products hub ===== */
.products-hub{
  width:min(1120px,92%);
  margin:48px auto 72px;
}
.products-hub-lead{
  margin-bottom:24px;
}
.products-hub-lead h2{
  margin:0 0 8px;
  color:#082b63;
  font-size:clamp(30px,3vw,42px);
}
.products-hub-lead p{
  margin:0;
  color:#52697f;
  font-size:17px;
  font-weight:600;
}
.products-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.product-hub-card{
  display:block;
  min-height:220px;
  padding:26px;
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#f4f9ff);
  border:1px solid #dfe8f1;
  box-shadow:0 10px 26px rgba(20,50,80,.07);
  text-decoration:none;
  transition:.2s ease;
}
.product-hub-card:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(20,50,80,.12);
}
.product-hub-card span{
  display:inline-block;
  margin-bottom:10px;
  color:#0a68d1;
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
}
.product-hub-card h2{
  margin:0 0 12px;
  color:#082b63;
  font-size:24px;
  line-height:1.35;
}
.product-hub-card p{
  margin:0 0 22px;
  color:#405970;
  line-height:1.65;
  font-weight:600;
}
.product-hub-card b{
  color:#0a68d1;
}
@media(max-width:900px){
  .products-hub-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .products-hub-grid{grid-template-columns:1fr}
}


/* ===== DCDC converter page ===== */
.dcdc-page{width:min(1140px,92%);margin:48px auto 72px}
.dcdc-block{
  display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;
  padding:32px;margin-bottom:30px;border-radius:22px;background:#fff;
  border:1px solid #e1e9f2;box-shadow:0 12px 30px rgba(24,54,84,.07)
}
.dcdc-block.reverse .dcdc-copy{order:2}
.dcdc-block.reverse .dcdc-image{order:1}
.dcdc-label{display:inline-block;margin-bottom:8px;color:#0a68d1;font-size:13px;font-weight:900;letter-spacing:.1em}
.dcdc-copy h2{margin:0 0 14px;color:#082b63;font-size:clamp(30px,3vw,42px)}
.dcdc-copy h3{margin:24px 0 8px;color:#0a64c8;font-size:22px}
.dcdc-copy p{margin:0 0 12px;color:#395169;font-size:17px;line-height:1.75;font-weight:600}
.dcdc-image{overflow:hidden;border-radius:16px;border:1px solid #dfe7ef;background:#f7f9fb}
.dcdc-image img{width:100%;display:block}
.dcdc-spec-list{margin-top:20px;border-top:1px solid #e1e8f0}
.dcdc-spec-list div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid #e1e8f0}
.dcdc-spec-list b,.dcdc-spec-list strong{padding:9px 8px}
.dcdc-spec-list b{color:#6a7c8e}.dcdc-spec-list strong{color:#173b65}
.dcdc-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}
.dcdc-feature-grid div{padding:18px;border-radius:14px;background:#eef6ff}
.dcdc-feature-grid strong{display:block;color:#0a64c8;font-size:20px}
.dcdc-feature-grid span{display:block;margin-top:5px;color:#405970;font-weight:700}
.dcdc-example{padding:10px 13px;border-left:4px solid #0a68d1;background:#f5f9fd}
@media(max-width:820px){
  .dcdc-block{grid-template-columns:1fr;padding:22px}
  .dcdc-block.reverse .dcdc-copy,.dcdc-block.reverse .dcdc-image{order:initial}
  .dcdc-spec-list div{grid-template-columns:135px 1fr}
  .dcdc-feature-grid{grid-template-columns:1fr}
}


/* ===== Original contact form ===== */
.custom-contact-page{width:min(920px,92%);margin:48px auto 72px}
.custom-contact-intro{margin-bottom:26px;text-align:center}
.contact-eyebrow{display:block;margin-bottom:8px;color:#0a68d1;font-size:13px;font-weight:900;letter-spacing:.12em}
.custom-contact-intro h2{margin:0 0 12px;color:#082b63;font-size:clamp(30px,4vw,44px)}
.custom-contact-intro p{margin:0;color:#50677e;font-size:17px;line-height:1.8;font-weight:600}
.custom-contact-form{padding:34px;border-radius:22px;background:#fff;border:1px solid #dfe8f1;box-shadow:0 12px 32px rgba(20,50,80,.08)}
.form-row{margin-bottom:22px}
.form-row>label{display:block;margin-bottom:8px;color:#173b65;font-weight:800}
.form-row.required>label::after{content:"必須";display:inline-block;margin-left:9px;padding:2px 7px;border-radius:999px;background:#e9f3ff;color:#0867cb;font-size:11px;vertical-align:2px}
.form-row input[type="text"],.form-row input[type="email"],.form-row input[type="tel"],.form-row select,.form-row textarea{
  box-sizing:border-box;width:100%;padding:13px 14px;border:1px solid #cfdbe7;border-radius:10px;background:#fbfdff;color:#17334e;font:inherit;outline:none
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#0a68d1;box-shadow:0 0 0 3px rgba(10,104,209,.1)}
.form-row textarea{resize:vertical;line-height:1.7}
.check-label{display:flex!important;gap:10px;align-items:flex-start;cursor:pointer}
.check-label input{margin-top:4px}
.form-submit{text-align:center;margin-top:8px}
.form-submit button{border:0;border-radius:999px;padding:15px 34px;background:#0968cf;color:#fff;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(9,104,207,.22)}
.form-submit button:hover{filter:brightness(.96);transform:translateY(-1px)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.contact-direct div{padding:20px;border-radius:14px;background:#f3f8fd;text-align:center}
.contact-direct span{display:block;color:#6a8094;font-size:12px;font-weight:900;letter-spacing:.1em}
.contact-direct strong{display:block;margin-top:5px;color:#0a63c6;font-size:21px}
.thanks-page{width:min(760px,92%);margin:60px auto 90px;padding:42px;text-align:center;border-radius:22px;background:#fff;border:1px solid #dfe8f1;box-shadow:0 12px 30px rgba(20,50,80,.08)}
.thanks-page h2{color:#082b63;font-size:32px}.thanks-page p{color:#50677e;font-size:17px}.thanks-page a{display:inline-block;margin-top:18px;padding:13px 24px;border-radius:999px;background:#0968cf;color:#fff;text-decoration:none;font-weight:800}
@media(max-width:650px){
  .custom-contact-form{padding:23px 20px}
  .contact-direct{grid-template-columns:1fr}
}

.front-contact-link{display:inline-block;text-decoration:none}
.front-contact-link h2{transition:.2s ease}
.front-contact-link:hover h2{opacity:.72}
