
:root{--orange:#f08300;--orange-dark:#d96f00;--text:#2d2d2d;--muted:#6f6f6f;--line:#e8e8e8;--light:#f7f7f7;--soft:#fff7ef;--dark:#3d3d3d}
*{box-sizing:border-box;margin:0;padding:0}body{font-family:"Noto Sans JP","Yu Gothic",Arial,sans-serif;color:var(--text);line-height:1.8;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:10}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between}.logo img{width:240px;display:block}.nav{display:flex;gap:26px;align-items:center;color:#666;font-weight:700}.nav .active,.nav a:hover{color:var(--orange)}.nav-contact{background:var(--orange);color:#fff!important;padding:10px 18px;border-radius:999px}
.page-hero,.product-hero{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.78)),url("../images/hero-bg.svg") center/cover no-repeat;border-bottom:1px solid var(--line)}.page-hero.services{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.6)),url("../images/cleanroom_hero.jpg") center/cover no-repeat;border-bottom:1px solid var(--line)}.page-hero.company{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.6)),url("../images/office_hero.jpg") center/cover no-repeat;border-bottom:1px solid var(--line)}.page-hero.news{position:relative;border-bottom:1px solid var(--line);overflow:hidden}.page-hero.recruit{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.6)),url("../images/recruit_hero.jpg") center/cover no-repeat;border-bottom:1px solid var(--line)}.page-hero.news::before{content:'';position:absolute;inset:-20px;background:url("../images/lab_hero.jpg") center/cover no-repeat;filter:blur(4px);z-index:0}.page-hero.news::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.65));z-index:1}.page-hero.news .container{position:relative;z-index:2}.hero{background:linear-gradient(90deg,rgba(255,255,255,.88) 30%,rgba(255,255,255,.3) 65%,rgba(255,255,255,0) 100%),url("../images/top_wafer_hero.jpg") center center/160% no-repeat;border-bottom:1px solid var(--line);min-height:620px;display:flex;align-items:center}.page-hero,.product-hero{padding:110px 0 90px}.page-label,.section-label,.product-tagline{color:var(--orange);font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
h1{font-size:clamp(40px,5vw,62px);line-height:1.25;margin-bottom:18px}.hero h1{font-size:clamp(28px,3vw,48px);white-space:nowrap}@media(max-width:900px){.hero h1{white-space:normal}}h2{font-size:clamp(26px,3.5vw,38px);line-height:1.45;margin-bottom:18px}h3{font-size:20px;line-height:1.45;margin-bottom:8px}p{color:var(--muted)}.hero-text,.lead-text,.product-lead{max-width:780px;color:var(--muted);font-size:18px}.center .lead-text{margin:0 auto;text-align:center}.section{padding:86px 0}.section-light{background:var(--light)}.section-head{margin-bottom:42px;text-align:center}.section-head .lead-text{margin:0 auto}.section-head .buttons{justify-content:center}.center{text-align:center}
.button{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:13px 26px;border-radius:999px;font-weight:800;border:0;font:inherit}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:var(--orange-dark)}.button-secondary{border:1px solid var(--orange);color:var(--orange);background:#fff}.button-disabled{background:#ddd;color:#777}.buttons{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card,.message-box,.intro-box,.contact-form,.office-block,.group-card,.side-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.04)}.card:hover,.group-card:hover{border-color:rgba(240,131,0,.45);box-shadow:0 14px 34px rgba(0,0,0,.07)}
.news-item{display:grid;grid-template-columns:130px 120px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.tag,.news-category{display:inline-block;color:var(--orange);background:#fff3e3;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}.news-category{justify-self:start}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}th,td{padding:20px 24px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{width:230px;background:var(--soft)}td{color:var(--muted)}
.office-list{display:grid;gap:50px}.office-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:26px}.office-title{grid-column:1/-1}.access-item strong{display:block;color:var(--orange);font-size:14px;text-transform:uppercase}.map-wide{border-radius:18px;overflow:hidden;border:1px solid var(--line);min-height:540px;background:var(--soft)}.map-wide iframe{width:100%;height:540px;border:0}.map-placeholder{display:grid;place-items:center;text-align:center;padding:40px}
.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.group-card{min-height:340px;display:flex;flex-direction:column}.logo-card{height:80px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;padding:8px 16px;border-bottom:1px solid var(--line)}.logo-card img{width:100%;max-width:200px;max-height:52px;object-fit:contain}.logo-card img.logo-square{max-width:180px;max-height:52px}.group-card h3{font-size:18px;white-space:nowrap;min-height:38px;display:flex;align-items:center}.group-card p,.group-card ul{flex:1;margin-bottom:16px}.group-card .button{margin-top:auto}
.history{border-left:2px solid #ffd8a6;padding-left:28px}.history-item{margin-bottom:28px}.history-date{color:var(--orange);font-weight:800;font-size:17px;margin-bottom:6px}.history-text{color:var(--muted)}.history-item ul{margin:0;padding-left:1.2em;color:var(--muted);list-style:disc}.history-item ul li{margin-bottom:4px;line-height:1.6}.profile-card{position:sticky;top:110px;background:var(--light);border:1px solid var(--line);border-radius:20px;padding:30px}.profile-image{width:100%;aspect-ratio:1/1.15;background:url("../images/profile-placeholder.svg") center/cover no-repeat;border-radius:16px;margin-bottom:22px}
.services-overview{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}.services-category-list{display:grid;gap:36px}.service-category-block{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:stretch;padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.04);transition:.25s}.service-category-block:hover{border-color:rgba(240,131,0,.4);box-shadow:0 16px 40px rgba(0,0,0,.07);transform:translateY(-3px)}.service-category-head{padding-right:26px;border-right:1px solid var(--line)}.service-category-number{display:inline-block;margin-bottom:18px;color:var(--orange);font-size:34px;font-weight:900;line-height:1}.service-category-head h2{font-size:28px}.service-category-head p{font-size:15px}.service-item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service-item{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.2s}.service-item:hover{border-color:rgba(240,131,0,.4);background:#fff8ef}.service-item h3{font-size:17px}.service-item p{font-size:14px}.service-item.single{grid-column:1/-1}.services-note-box{margin-top:48px;padding:42px;border-radius:24px;background:linear-gradient(135deg,#4b4b4b,#727272);color:#fff}.services-note-box h2,.services-note-box p{color:#fff}.services-note-box p{margin-bottom:26px;color:#eee}
.template01-main{max-width:980px;margin:0 auto;display:grid;gap:76px}.product-main{display:grid;gap:60px}.product-layout{display:grid;grid-template-columns:1fr 320px;gap:48px}.feature-list{display:grid;gap:14px;list-style:none}.feature-list li{padding:18px 22px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted)}.sidebar{position:sticky;top:110px;display:grid;gap:18px}.related-links{display:grid;gap:12px}.related-links a{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--orange);font-weight:800}.standard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.contact-box{padding:42px;border-radius:24px;background:linear-gradient(135deg,#4b4b4b,#727272);color:#fff}.contact-box h2,.contact-box p{color:#fff}
.product-visual{margin-top:42px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.product-visual-main,.product-visual-sub img{border-radius:20px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.06);overflow:hidden}.product-visual-main img{width:100%;height:100%;min-height:460px;object-fit:cover;display:block}.product-visual-sub{display:grid;grid-template-columns:1fr 1fr;gap:14px}.product-visual-sub img{width:100%;height:220px;object-fit:cover}.benefit-grid,.tester-grid,.related-product-grid,.spec-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.benefit-card,.tester-card,.related-product-card,.spec-feature-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.04)}
.product-visual-simple{margin-top:42px;padding:54px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,247,239,.9));box-shadow:0 14px 36px rgba(0,0,0,.08)}.product-visual-simple-inner{max-width:none}.product-visual-simple h2{margin-bottom:18px;font-size:clamp(30px,4vw,46px)}
.ti-photo-section{display:grid;gap:72px}.ti-photo-block{padding:40px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.05)}.ti-photo-block p{max-width:900px}.ti-photo-grid{margin-top:28px;display:grid;gap:22px;align-items:stretch}.ti-photo-grid.hifix-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px}.ti-photo-grid.pogotower-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ti-photo-card{width:100%;aspect-ratio:4/3;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.05);overflow:hidden}.ti-photo-card img{width:100%;height:100%;object-fit:contain;display:block}
.reference-models{margin-top:28px;margin-bottom:28px;padding:22px 24px;border-radius:16px;background:#fff7ef;border:1px solid #ffe1bd}.reference-models h4{margin-bottom:12px;font-size:17px}.reference-models ul{list-style:none;display:grid;gap:8px;color:var(--muted)}.reference-models li{position:relative;padding-left:20px}.reference-models li:before{content:"";position:absolute;left:0;top:12px;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.form-row{display:grid;gap:10px;margin-bottom:24px}.form-row label{font-weight:800}.required{color:var(--orange);font-size:12px;margin-left:8px}.form-row input,.form-row textarea{padding:14px 16px;border:1px solid var(--line);border-radius:12px;font:inherit}.form-row textarea{min-height:220px}.checkbox-group{display:grid;gap:14px}.checkbox-item{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.checkbox-item input{width:18px;height:18px;accent-color:var(--orange)}.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}
.footer{background:var(--dark);color:#ddd;padding:44px 0 20px}.footer-inner{display:flex;justify-content:space-between;gap:40px;margin-bottom:28px}.footer-logo{color:#fff;font-size:20px;font-weight:900}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.copyright{border-top:1px solid rgba(255,255,255,.16);padding-top:18px;text-align:center;color:#bbb;font-size:12px}
@media(max-width:900px){.header-inner{height:auto;padding:16px 0;flex-direction:column;align-items:flex-start}.nav{flex-wrap:wrap;gap:14px}.logo img{width:210px}.grid-2,.grid-3,.grid-4,.office-info,.product-layout,.news-item,.group-grid,.services-overview,.service-category-block,.service-item-grid,.standard-grid,.product-visual,.product-visual-sub,.benefit-grid,.tester-grid,.related-product-grid,.spec-feature-grid{grid-template-columns:1fr}.profile-card,.sidebar{position:static}.map-wide,.map-wide iframe{height:420px;min-height:420px}th,td{display:block;width:100%}.service-category-head{padding-right:0;padding-bottom:24px;border-right:0;border-bottom:1px solid var(--line)}.product-visual-main img,.product-visual-sub img{height:auto;min-height:auto}.ti-photo-grid.hifix-grid,.ti-photo-grid.pogotower-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.footer-inner{flex-direction:column}.footer-links{flex-direction:column;gap:8px}}
@media(max-width:560px){.ti-photo-block{padding:28px 20px}.ti-photo-grid.hifix-grid,.ti-photo-grid.pogotower-grid{grid-template-columns:1fr}}


/* ===== Template02 Partner Product Page: Manipulator ===== */
.partner-hero-card {
  margin-top: 44px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items: center;
  padding: 40px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(0,0,0,.07);
}

.partner-hero-card img {
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  display: block;
}

.partner-name {
  font-size: clamp(32px,4vw,52px);
  line-height: 1.15;
  margin-bottom: 12px;
}

.partner-sub {
  font-size: 18px;
  color: var(--muted);
}

.partner-link-box {
  margin-top: 28px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.partner-profile {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 34px;
  align-items: start;
}

.partner-profile-card {
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0,0,0,.05);
}

.partner-logo-text {
  color: var(--orange);
  font-size: 30px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .02em;
}

.product-lineup-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.lineup-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.04);
  transition: .25s;
}

.lineup-card:hover {
  transform: translateY(-3px);
  border-color: rgba(240,131,0,.42);
  box-shadow: 0 16px 38px rgba(0,0,0,.07);
}

.lineup-image {
  aspect-ratio: 4 / 3;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border-bottom: 1px solid var(--line);
}

.lineup-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.lineup-body {
  padding: 22px;
}

.lineup-body h3 {
  margin-bottom: 8px;
}

.lineup-body p {
  font-size: 14px;
}

.partner-note {
  padding: 24px 28px;
  border: 1px solid var(--line);
  border-left: 4px solid #cfcfcf;
  border-radius: 16px;
  background: #fafafa;
}

.partner-note h3 {
  font-size: 17px;
  color: #555;
}

.partner-note p {
  font-size: 14px;
  color: #777;
}

.image-placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #f5f5f5;
  color: #888;
  font-weight: 700;
}

@media (max-width: 900px) {
  .partner-hero-card,
  .partner-profile,
  .product-lineup-grid {
    grid-template-columns: 1fr;
  }

  .partner-hero-card {
    padding: 28px 22px;
  }
}


/* ===== Template02 Partner Product Page: Wireless Tester / LitePoint ===== */
.wireless-standard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.standard-pill {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  text-align: center;
  font-weight: 800;
  color: #555;
}

.litepoint-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.litepoint-product-card {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 22px;
  align-items: center;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.04);
  transition: .25s;
}

.litepoint-product-card:hover {
  transform: translateY(-3px);
  border-color: rgba(240,131,0,.42);
  box-shadow: 0 16px 38px rgba(0,0,0,.07);
}

.litepoint-product-visual {
  height: 108px;
  border-radius: 14px;
  border: 1px solid #e5e5e5;
  background: linear-gradient(#fafafa, #eeeeee);
  position: relative;
  overflow: hidden;
}

.litepoint-product-visual::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 24px;
  height: 14px;
  background: radial-gradient(circle, #c9a36a 0 4px, #333 5px, transparent 6px) 0 0 / 25px 14px repeat-x;
}

.litepoint-product-visual::after {
  content: "LitePoint";
  position: absolute;
  right: 14px;
  top: 12px;
  color: var(--orange);
  font-size: 12px;
  font-weight: 900;
}

.litepoint-product-card h3 {
  margin-bottom: 6px;
}

.litepoint-product-card p {
  font-size: 14px;
}

@media (max-width: 900px) {
  .litepoint-product-card {
    grid-template-columns: 1fr;
  }

  .wireless-standard-grid,
  .litepoint-product-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .wireless-standard-grid,
  .litepoint-product-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== Wireless tester gallery refinement ===== */
.wireless-photo-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 30px;
}

.wireless-photo-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.04);
  transition: .25s;
}

.wireless-photo-card:hover {
  transform: translateY(-3px);
  border-color: rgba(240,131,0,.42);
  box-shadow: 0 16px 38px rgba(0,0,0,.07);
}

.wireless-photo-visual {
  aspect-ratio: 4 / 3;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 20% 20%, rgba(240,131,0,.18), transparent 28%),
    linear-gradient(135deg, #fbfbfb, #ececec);
  display: grid;
  place-items: center;
  padding: 20px;
}

.wireless-photo-device {
  width: 92%;
  aspect-ratio: 2.5 / 1;
  border-radius: 16px;
  border: 1px solid #d8d8d8;
  background: linear-gradient(#f8f8f8, #e9e9e9);
  position: relative;
  box-shadow: 0 18px 28px rgba(0,0,0,.12);
}

.wireless-photo-device::before {
  content: "LitePoint";
  position: absolute;
  right: 16px;
  top: 12px;
  color: var(--orange);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
}

.wireless-photo-device::after {
  content: "";
  position: absolute;
  left: 20px;
  bottom: 18px;
  width: 68%;
  height: 16px;
  background:
    radial-gradient(circle, #c59f67 0 4px, #333 5px, transparent 6px) 0 0 / 26px 16px repeat-x;
}

.wireless-photo-body {
  padding: 20px 22px 22px;
}

.wireless-photo-body h3 {
  margin-bottom: 8px;
  font-size: 18px;
}

.wireless-photo-body p {
  font-size: 14px;
  margin-bottom: 14px;
}

.photo-source-note {
  margin-top: 18px;
  color: #888;
  font-size: 13px;
}

@media (max-width: 900px) {
  .wireless-photo-gallery {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .wireless-photo-gallery {
    grid-template-columns: 1fr;
  }
}


/* ===== Wireless tester real image gallery fix ===== */
.wireless-photo-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin-top: 30px !important;
}

.wireless-photo-card {
  display: block !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.04) !important;
  transition: .25s !important;
}

.wireless-photo-card:hover {
  transform: translateY(-3px);
  border-color: rgba(240,131,0,.42) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.07) !important;
}

.wireless-photo-img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fafafa !important;
  border-bottom: 1px solid var(--line) !important;
}

.wireless-photo-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.wireless-photo-body {
  padding: 20px 22px 22px !important;
}

.wireless-photo-body h3 {
  margin-bottom: 8px !important;
  font-size: 18px !important;
}

.wireless-photo-body p {
  font-size: 14px !important;
  margin-bottom: 14px !important;
}

@media (max-width: 900px) {
  .wireless-photo-gallery {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 560px) {
  .wireless-photo-gallery {
    grid-template-columns: 1fr !important;
  }
}


/* ===== STILDirector page ===== */
.stil-hero-card {
  margin-top: 44px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: center;
  padding: 42px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(0,0,0,.07);
}

.stil-hero-card img {
  width: 100%;
  display: block;
  border-radius: 20px;
}

.stil-link-box {
  padding: 34px;
  border: 1px solid #ffe1bd;
  border-radius: 24px;
  background: #fff8ef;
}

.stil-link-box p {
  margin-bottom: 24px;
}

@media (max-width: 900px) {
  .stil-hero-card {
    grid-template-columns: 1fr;
  }
}


/* ===== AI Chat Widget ===== */
.msg.bot .bubble a{color:var(--orange);text-decoration:underline;font-weight:700}.msg.bot .bubble a:hover{color:var(--orange-dark)}.chat-link-block{display:block;margin-top:8px;font-size:13px}.chat-wrap{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.06)}.chat-messages{height:380px;overflow-y:auto;padding:24px 24px 12px;display:flex;flex-direction:column;gap:14px}.msg{display:flex;gap:12px;align-items:flex-start;max-width:88%}.msg.user{align-self:flex-end;flex-direction:row-reverse}.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0}.msg.bot .avatar{background:var(--orange);color:#fff}.msg.user .avatar{background:#e8e8e8;color:#888}.bubble{padding:11px 15px;border-radius:16px;font-size:14px;line-height:1.7;max-width:100%}.msg.bot .bubble{background:var(--soft);border:1px solid #fde8c8;border-top-left-radius:4px}.msg.user .bubble{background:var(--orange);color:#fff;border-top-right-radius:4px}.typing-dots{display:flex;gap:5px;align-items:center;padding:14px 16px}.dot{width:7px;height:7px;border-radius:50%;background:var(--orange);opacity:.5;animation:dotbounce 1.2s infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes dotbounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 12px}.suggestion{background:#fff;border:1px solid #fcd3a0;color:var(--orange);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.suggestion:hover{background:var(--soft)}.chat-input-row{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--line);background:#fafafa}.chat-input{flex:1;padding:11px 16px;border:1px solid var(--line);border-radius:999px;font:inherit;font-size:14px;outline:none;transition:border-color .15s}.chat-input:focus{border-color:var(--orange)}.send-btn{background:var(--orange);color:#fff;border:none;border-radius:999px;padding:11px 22px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s;white-space:nowrap}.send-btn:hover{background:var(--orange-dark)}.send-btn:disabled{background:#ddd;cursor:not-allowed}.chat-disclaimer{text-align:center;font-size:12px;color:var(--muted);padding:8px 20px 16px}
.top-message-grid {
  align-items: start;
}

.top-message-photo {
  margin-top: 28px;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 12px 32px rgba(0,0,0,.07);
  background: #fff;
}

.top-message-photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

