/* ===== LISS LLC website ===== */
:root{
  --navy:#0f1b2d;
  --navy-2:#16273f;
  --amber:#e6a53c;
  --amber-dark:#c8822a;
  --paper:#f7f5f0;
  --ink:#1c2430;
  --muted:#5b6472;
  --line:#e4e0d6;
  --radius:10px;
  --maxw:1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{line-height:1.4;margin:0;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.wrap.narrow{max-width:820px;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(15,27,45,0.96);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;
}
.brand{display:flex;flex-direction:column;line-height:1.3;}
.brand-name{font-weight:700;font-size:1.25rem;letter-spacing:.03em;color:#fff;}
.brand-sub{font-size:.68rem;color:var(--amber);letter-spacing:.04em;}
.site-nav{display:flex;align-items:center;gap:28px;}
.site-nav ul{display:flex;gap:22px;}
.site-nav a{font-size:.92rem;color:#dfe3ea;padding:6px 2px;border-bottom:2px solid transparent;}
.site-nav a:hover,.site-nav a.active{color:#fff;border-bottom-color:var(--amber);}
.nav-cta{
  background:var(--amber);color:var(--navy);font-weight:700;
  padding:9px 18px;border-radius:999px;font-size:.86rem;white-space:nowrap;
}
.nav-cta:hover{background:var(--amber-dark);}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{width:24px;height:2px;background:#fff;display:block;}

@media (max-width:860px){
  .nav-toggle{display:flex;}
  .site-nav{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    background:var(--navy-2);
    flex-direction:column;align-items:stretch;gap:0;
    padding:8px 24px 20px;
    border-top:1px solid rgba(255,255,255,0.08);
  }
  .site-nav.open{display:flex;}
  .site-nav ul{flex-direction:column;gap:0;}
  .site-nav ul li{border-bottom:1px solid rgba(255,255,255,0.06);}
  .site-nav ul li a{display:block;padding:14px 2px;}
  .nav-cta{margin-top:14px;text-align:center;}
}

/* ---------- Hero (top page) ---------- */
.hero{position:relative;color:#fff;overflow:hidden;}
.hero-media{position:absolute;inset:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg, rgba(10,16,28,.92) 0%, rgba(10,16,28,.72) 42%, rgba(10,16,28,.35) 100%);
}
.hero-inner{position:relative;padding:120px 24px 100px;max-width:720px;}
.hero-eyebrow{color:var(--amber);font-weight:700;letter-spacing:.06em;margin-bottom:14px;font-size:.9rem;}
.hero h1{font-size:2.5rem;font-weight:900;margin-bottom:22px;}
.hero-lead{font-size:1rem;color:#e7e9ee;margin-bottom:32px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

@media (max-width:600px){
  .hero-inner{padding:80px 20px 64px;}
  .hero h1{font-size:1.7rem;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;padding:14px 28px;border-radius:999px;
  font-weight:700;font-size:.92rem;letter-spacing:.02em;
  border:2px solid transparent;
}
.btn-primary{background:var(--amber);color:var(--navy);}
.btn-primary:hover{background:var(--amber-dark);}
.btn-outline{border-color:rgba(255,255,255,0.7);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,0.12);}

/* ---------- Page banner (inner pages) ---------- */
.page-banner{
  background:var(--navy);color:#fff;
  padding:64px 24px 40px;
}
.page-banner h1{font-size:1.8rem;font-weight:700;}
.page-banner p{color:var(--amber);font-size:.8rem;letter-spacing:.1em;margin:6px 0 0;}

/* ---------- Sections ---------- */
.section{padding:72px 0;}
.section.alt{background:#efeae0;}
.section-eyebrow{color:var(--amber-dark);font-weight:700;font-size:.78rem;letter-spacing:.12em;margin-bottom:6px;}
.section-title{font-size:1.55rem;font-weight:700;margin-bottom:36px;}
.section-header-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:28px;}
.section-header-row .section-title{margin-bottom:0;}
.link-more{color:var(--amber-dark);font-weight:700;font-size:.9rem;}

/* ---------- Card grid ---------- */
.card-grid{display:grid;gap:24px;}
.card-grid.three{grid-template-columns:repeat(3,1fr);}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 26px;
}
.card h3{font-size:1.1rem;margin-bottom:12px;color:var(--navy);}
.card p{color:var(--muted);margin:0;}

@media (max-width:800px){
  .card-grid.three{grid-template-columns:1fr;}
}

/* ---------- Topic list ---------- */
.topic-list li{
  position:relative;padding:16px 0 16px 30px;border-bottom:1px solid var(--line);
}
.topic-list li:last-child{border-bottom:none;}
.topic-list li::before{
  content:"";position:absolute;left:0;top:24px;width:10px;height:10px;
  background:var(--amber);border-radius:50%;
}

/* ---------- News list (top page summary) ---------- */
.news-list li{
  display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);
  align-items:baseline;
}
.news-list .news-date{color:var(--amber-dark);font-weight:700;font-size:.85rem;white-space:nowrap;}
.news-list .news-text{color:var(--ink);}

.news-list.detailed{display:flex;flex-direction:column;gap:36px;}
.news-list.detailed li{display:block;border-bottom:1px solid var(--line);padding-bottom:32px;}
.news-list.detailed .news-date{display:block;margin-bottom:8px;}
.news-list.detailed h3{font-size:1.1rem;margin-bottom:10px;color:var(--navy);}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--navy);color:#fff;padding:60px 0;text-align:center;
}
.cta-band h2{font-size:1.5rem;margin-bottom:14px;}
.cta-band p{color:#c9cedb;margin-bottom:28px;}

/* ---------- Info table (company page) ---------- */
.info-table{width:100%;border-collapse:collapse;margin-bottom:48px;}
.info-table th,.info-table td{
  text-align:left;padding:18px 16px;border-bottom:1px solid var(--line);vertical-align:top;
}
.info-table th{
  width:180px;color:var(--muted);font-weight:700;font-size:.9rem;
}
.lead-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.lead-box p:last-child{margin-bottom:0;}

/* ---------- Technology page ---------- */
.tech-block{margin-bottom:52px;}
.tech-block:last-child{margin-bottom:0;}
.tech-block h2{font-size:1.3rem;color:var(--navy);margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--amber);}
.tech-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;}
.tech-photos img{border-radius:var(--radius);}
@media (max-width:700px){.tech-photos{grid-template-columns:1fr;}}

/* ---------- Works grid ---------- */
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:56px;}
.work-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.work-photo{aspect-ratio:4/3;overflow:hidden;background:#e7e2d6;}
.work-photo img{width:100%;height:100%;object-fit:cover;}
.work-body{padding:20px 20px 24px;}
.work-body .news-date, .work-date{color:var(--amber-dark);font-weight:700;font-size:.82rem;}
.work-body h3{font-size:1.02rem;margin:8px 0 10px;color:var(--navy);}
.work-body p{color:var(--muted);font-size:.92rem;margin:0;}

@media (max-width:900px){.works-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.works-grid{grid-template-columns:1fr;}}

.works-more{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 30px 10px;}
.works-more h3{font-size:1.1rem;color:var(--navy);margin-bottom:16px;}
.simple-list li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);}
.simple-list li:last-child{border-bottom:none;}
.simple-list .news-date{display:inline-block;width:110px;color:var(--amber-dark);font-weight:700;font-size:.85rem;}

/* ---------- Contact page ---------- */
.lead-text{font-size:1.05rem;margin-bottom:36px;}
.flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-bottom:48px;}
.flow-step{
  background:var(--navy);color:#fff;padding:14px 22px;border-radius:999px;font-weight:700;font-size:.92rem;
  display:flex;align-items:center;gap:10px;
}
.flow-num{
  background:var(--amber);color:var(--navy);width:22px;height:22px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;
}
.flow-arrow{color:var(--amber-dark);font-weight:700;}
@media (max-width:640px){.flow{flex-direction:column;}.flow-arrow{transform:rotate(90deg);}}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;}
.contact-card h3{color:var(--navy);font-size:1.05rem;margin-bottom:16px;}
.contact-tel{font-size:1.8rem;font-weight:900;color:var(--navy);margin-bottom:6px;}
.contact-mail{font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:14px;word-break:break-all;}
.contact-card .note{font-size:.82rem;color:var(--muted);}
@media (max-width:700px){.contact-grid{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:#c9cedb;padding:56px 0 24px;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:32px;margin-bottom:36px;}
.footer-grid .brand-name{color:#fff;font-weight:700;font-size:1.1rem;margin-bottom:10px;}
.footer-grid p{margin:0 0 6px;font-size:.88rem;}
.footer-heading{color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.08em;margin-bottom:14px;}
.footer-nav li{margin-bottom:8px;font-size:.88rem;}
.footer-nav a:hover{color:var(--amber);}
.copyright{
  border-top:1px solid rgba(255,255,255,0.12);padding-top:20px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.78rem;color:#8b93a5;
}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr;}}

/* ---------- Header: 7 menu items ---------- */
.brand,.nav-cta{flex-shrink:0;}
.site-nav a.nav-cta{padding:9px 18px;border-bottom:none;}
.site-nav a.nav-cta:hover{color:var(--navy);}
@media (min-width:861px){
  .site-nav{gap:20px;}
  .site-nav ul{gap:18px;}
}
@media (max-width:1100px) and (min-width:861px){
  .site-nav{gap:14px;}
  .site-nav ul{gap:12px;}
  .site-nav a{font-size:.84rem;}
  .site-nav a.nav-cta{padding:8px 14px;font-size:.8rem;}
}
.product-card-media.contain img,.shot img.contain{object-fit:contain;object-position:center;}

/* ---------- Products ---------- */
.page-banner .breadcrumb{color:#9aa4b5;font-size:.78rem;letter-spacing:.02em;margin:0 0 10px;}
.page-banner .breadcrumb a{color:#c9cedb;}
.page-banner .breadcrumb a:hover{color:var(--amber);}
.page-banner .banner-sub{color:#c9cedb;font-size:.95rem;letter-spacing:0;margin-top:10px;}

.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.product-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;
}
.product-card-media{aspect-ratio:16/9;background:#0b111c;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.product-card-media img{width:100%;height:100%;object-fit:cover;}
.product-card-media.drawing{background:#fff;padding:20px;border-bottom:1px solid var(--line);}
.product-card-media.drawing img{object-fit:contain;}
.product-card-body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1;}
.product-tag{
  display:inline-block;align-self:flex-start;background:var(--navy);color:var(--amber);
  font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:3px 10px;border-radius:999px;margin-bottom:12px;
}
/* tag row + NEW badge */
.product-tags{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;}
.product-tags .product-tag{margin-bottom:0;}
.badge-new{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--amber);color:var(--navy);
  font-size:.8rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 14px 4px 11px;border-radius:999px;
  box-shadow:0 0 0 3px rgba(230,165,60,.28);
}
.badge-new::before{content:"";width:8px;height:8px;border-radius:50%;background:#d6362f;}
.product-variant{font-size:.8em;color:var(--amber-dark);font-weight:700;white-space:nowrap;}
.product-card h2{font-size:1.35rem;color:var(--navy);margin-bottom:4px;}
.product-model{color:var(--muted);font-size:.85rem;margin-bottom:12px;}
.product-card p{color:var(--muted);}
.product-points{margin:4px 0 24px;}
.product-points li{position:relative;padding:6px 0 6px 20px;font-size:.92rem;border-bottom:1px dashed var(--line);}
.product-points li::before{content:"";position:absolute;left:2px;top:15px;width:8px;height:8px;background:var(--amber);border-radius:50%;}
.product-card .btn{margin-top:auto;align-self:flex-start;}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-2);}
@media (max-width:800px){.product-grid{grid-template-columns:1fr;}}

/* product detail: intro */
.product-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;}
.product-intro-media{border-radius:var(--radius);overflow:hidden;background:#0b111c;}
.product-intro-media.drawing{background:#fff;border:1px solid var(--line);padding:18px;}
.product-intro-text .lead{font-size:1.05rem;color:var(--ink);}
.spec-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;}
.spec-chips li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:.84rem;font-weight:700;color:var(--navy);}
.meta-list{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin-top:20px;font-size:.88rem;}
.meta-list dt{color:var(--amber-dark);font-weight:700;letter-spacing:.04em;}
.meta-list dd{margin:0;color:var(--ink);}
@media (max-width:860px){.product-intro{grid-template-columns:1fr;gap:28px;}}

/* feature cards with number */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.feature-grid.two{grid-template-columns:repeat(2,1fr);}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;}
.feature-num{font-size:.8rem;font-weight:900;color:var(--amber-dark);letter-spacing:.1em;margin-bottom:6px;}
.feature h3{font-size:1.05rem;color:var(--navy);margin-bottom:10px;}
.feature p{color:var(--muted);font-size:.92rem;margin:0;}
@media (max-width:900px){.feature-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.feature-grid,.feature-grid.two{grid-template-columns:1fr;}}

/* screenshot gallery */
.shot-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.shot{margin:0;}
.shot img{border-radius:8px;border:1px solid var(--line);background:#0b111c;width:100%;aspect-ratio:3/2;object-fit:cover;object-position:top left;}
.shot figcaption{margin-top:10px;font-size:.9rem;color:var(--muted);}
.shot figcaption strong{display:block;color:var(--navy);font-size:1rem;}
@media (max-width:700px){.shot-grid{grid-template-columns:1fr;}}

/* media + text rows */
.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:56px;}
.detail-row:last-child{margin-bottom:0;}
.detail-row h3{font-size:1.2rem;color:var(--navy);margin-bottom:12px;}
.detail-row p{color:var(--ink);}
.detail-row .figure img{border-radius:8px;border:1px solid var(--line);}
.detail-row .figure figcaption{font-size:.82rem;color:var(--muted);margin-top:8px;}
.detail-row.text-only{grid-template-columns:1fr;}
@media (max-width:800px){.detail-row{grid-template-columns:1fr;gap:20px;}}

/* stats */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:14px;}
.stat{background:var(--navy);color:#fff;border-radius:var(--radius);padding:24px;}
.stat-value{font-size:2rem;font-weight:900;color:var(--amber);line-height:1.2;}
.stat-label{font-size:.88rem;color:#c9cedb;margin:6px 0 0;}
.note{font-size:.82rem;color:var(--muted);}
@media (max-width:700px){.stat-row{grid-template-columns:1fr;}}

/* spec tables */
.spec-table-wrap{overflow-x:auto;margin-bottom:36px;}
.spec-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);}
.spec-table th,.spec-table td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.92rem;}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none;}
.spec-table th{width:200px;background:#faf8f3;color:var(--navy);font-weight:700;white-space:nowrap;}
.spec-heading{font-size:1.1rem;color:var(--navy);margin:0 0 14px;}
@media (max-width:600px){.spec-table th{width:auto;white-space:normal;}}

.notice-box{background:#fff;border:1px solid var(--line);border-left:none;border-radius:var(--radius);padding:22px 26px;}
.notice-box h3{font-size:1rem;color:var(--navy);margin-bottom:10px;}
.notice-box ul li{position:relative;padding:4px 0 4px 18px;font-size:.92rem;color:var(--ink);}
.notice-box ul li::before{content:"・";position:absolute;left:0;color:var(--amber-dark);font-weight:700;}

.spec-table.compare thead th{background:var(--navy);color:#fff;white-space:nowrap;}
.spec-table.compare thead th:first-child{background:var(--navy);}
.spec-table.compare th{width:120px;}
.spec-table.compare thead th:nth-child(n+2){width:42%;}
@media (max-width:600px){
  .spec-table th,.spec-table td{padding:12px 12px;font-size:.86rem;}
  .spec-table th{width:34%;}
  .spec-table.compare th{width:22%;}
  .spec-table.compare thead th:nth-child(n+2){width:39%;white-space:normal;}
}
