:root{
  --text:#2f2417;
  --heading:#8a5a1c;
  --muted:#7b6955;
  --line:#eadcc7;
  --line-strong:#dcc8aa;
  --primary:#c07f22;
  --primary-dark:#945f1a;
  --shadow:0 14px 34px rgba(92,65,29,.08);
  --shadow-soft:0 8px 18px rgba(92,65,29,.05);
  --radius-lg:24px;
  --max:1200px;
}

/* =========================================================
   02. Reset / Base Page Setup
   ========================================================= */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(192,127,34,.08), transparent 24%),
    radial-gradient(circle at top right, rgba(239,179,92,.10), transparent 22%),
    linear-gradient(180deg, #fffdf9 0%, #fdf6ec 44%, #fffaf4 100%);
  color:var(--text);
  line-height:1.55;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
iframe{display:block;width:100%;border:0}
main{background:transparent;padding:18px 0 26px}
section{padding:18px 0}

/* =========================================================
   03. Layout Helpers / Common Wrappers
   ========================================================= */
.container{width:min(var(--max),calc(100% - 24px));margin-inline:auto}
.card{
  background:linear-gradient(180deg,#fffdf8 0%,#fff7e8 100%);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
}
.section-card,
.detail-shell,
.samples-shell,
.snapshot-shell,
.video-shell{padding:20px}

/* =========================================================
   04. Typography / Common Section Header
   ========================================================= */
h1,
.section-head h2,
.sample-card h3,
.faq h3,
.toc-panel-title{color:var(--heading)}
.section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.section-head h2{
  margin:0;
  font-size:clamp(20px,3vw,28px);
  letter-spacing:-.01em;
}
.section-head p{margin:0;color:var(--muted);max-width:70ch}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #f2dec2;
  background:linear-gradient(180deg,#fff5e6,#fff0dc);
  color:var(--primary-dark);
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
}

/* =========================================================
   05. Buttons / Links
   ========================================================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 16px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  transition:.2s ease;
  text-decoration:none;
  user-select:none;
}
.btn-primary{
  background:linear-gradient(180deg,var(--primary),var(--primary-dark));
  color:#fff;
  box-shadow:0 10px 24px rgba(192,127,34,.22);
}
.btn-primary:hover{transform:translateY(-1px)}
.btn-outline,
.btn-light{
  border-color:var(--line);
  background:linear-gradient(180deg,#fffaf0 0%,#fff2d9 100%);
  color:var(--primary-dark);
}
.btn-outline:hover,
.btn-light:hover{border-color:var(--line-strong);background:#fff7ea}
.btn-dark{
  color:#fff;
  background:linear-gradient(180deg,#4b2b11 0%,#341d0d 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 30px rgba(52,16,13,.22);
}

/* =========================================================
   06. Hero / Page Header Section
   ========================================================= */
.page-header{
  position:relative;
  background:
    radial-gradient(1000px 280px at 10% 0%, rgba(192,127,34,.10), transparent 60%),
    radial-gradient(900px 260px at 90% 10%, rgba(227,165,72,.10), transparent 60%),
    linear-gradient(180deg,#fffdf8 0%,#fff7ea 100%);
  padding:20px 0 26px;
  border-bottom:1px solid var(--line);
}
.page-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:18px;
  background:linear-gradient(to bottom, rgba(92,65,29,.10), transparent);
  pointer-events:none;
}
.hero-wrap{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  align-items:stretch;
}
.hero-left{
  padding:22px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fffdf8 0%,#fff7e8 100%);
}
h1{
  margin:12px 0 10px;
  font-size:clamp(26px,4vw,42px);
  line-height:1.12;
  letter-spacing:-.02em;
}
.hero-desc{margin:0;color:var(--muted);font-size:16px;max-width:66ch}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.quick-links a{
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffaf0;
  font-size:13px;
  font-weight:700;
}
.quick-links a:hover{border-color:var(--line-strong);color:var(--primary-dark);background:#fff7ea}
.hero-right{padding:16px;display:grid;gap:12px;align-content:start}
.product-visual{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(145deg,#fff9ee,#fff3df);
  min-height:250px;
  display:grid;
  place-items:center;
  position:relative;
}
.ribbon{
  position:absolute;
  top:12px;
  right:12px;
  background:#fff3df;
  color:var(--primary-dark);
  border:1px solid #eed8b6;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
}

/* =========================================================
   07. Product Snapshot Table Section
   ========================================================= */
.product-info-table-wrap{overflow:auto}
.product-info-table{width:100%;border-collapse:collapse;background:transparent}
.product-info-table th,
.product-info-table td{
  padding:14px 16px;
  text-align:left;
  vertical-align:top;
  border:1px solid var(--line);
}
.product-info-table th{
  width:18%;
  background:rgba(192,127,34,.06);
  color:var(--heading);
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
}
.product-info-table td{
  width:32%;
  color:#5c4738;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
  background:transparent;
}

/* =========================================================
   08. Overview Cards / FAQ Card Base
   ========================================================= */
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.faq{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:linear-gradient(180deg,#fffdf8,#fff7ea);
}
.faq h3{margin:0 0 8px;font-size:15px}
.faq p{margin:0;color:var(--muted);font-size:14px}

/* =========================================================
   09. Slider Common Section
   Used by screenshots and any future slider.
   ========================================================= */
.slider-wrap{
  position:relative;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#fffdf8,#fff7ea);
  overflow:hidden;
}
.slider-track{display:flex;transition:transform .45s ease;will-change:transform}
.slide{
  min-width:100%;
  padding:14px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
  align-items:center;
  background:linear-gradient(180deg,#fffdf8,#fff7e8);
}
.media-box{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:#1b160f;
  min-height:260px;
  display:grid;
  place-items:center;
  color:#e5e7eb;
  position:relative;
}
.media-box iframe,
.media-box img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  border:0;
  display:block;
}
.play-badge{
  position:absolute;
  left:12px;
  top:12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(47,36,23,.55);
  color:#fff;
  font-size:12px;
  padding:6px 10px;
  backdrop-filter:blur(6px);
}
.slider-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,#fffdf8,#fff7ea);
}
.dots{display:flex;gap:8px;flex-wrap:wrap}
.dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:1px solid var(--line-strong);
  background:#fffaf0;
  cursor:pointer;
  padding:0;
}
.dot.active{background:var(--primary);border-color:var(--primary)}
.ctrl-btns{display:flex;gap:8px}
.icon-btn{
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fffaf0,#fff2d9);
  cursor:pointer;
  font-weight:900;
  color:var(--primary-dark);
}

/* =========================================================
   10. Screenshot Showcase Section
   ========================================================= */
.slider-wrap.shots .slide{grid-template-columns:1fr;align-items:stretch}
.slider-wrap.shots .media-box{min-height:360px;background:#fffdf8}
.slider-wrap.shots .media-box img{object-fit:contain;background:#fffdf8;min-height:360px}

/* =========================================================
   11. Sample Reports Section
   ========================================================= */
.sample-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.sample-tab{
  min-height:44px;
  padding:0 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffaf0;
  color:var(--primary-dark);
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}
.sample-tab.is-active{
  background:linear-gradient(180deg,var(--primary),var(--primary-dark));
  color:#fff;
  border-color:transparent;
}
.sample-panel{display:none}
.sample-panel.is-active{display:block}
.sample-card{
  padding:20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg,#fffdf8 0%,#fff7ea 100%);
  box-shadow:var(--shadow-soft);
}
.sample-card.large{
  background:radial-gradient(circle at top right, rgba(192,127,34,.08), transparent 28%),linear-gradient(180deg,#fffdf8 0%,#fff7ea 100%);
}
.sample-card h3{margin:0 0 10px;font-size:20px}
.sample-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sample-link-grid a{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fffaf0;
  color:#5c4738;
  font-weight:800;
  transition:.2s ease;
}
.sample-link-grid a:hover{border-color:var(--primary-dark);color:var(--primary-dark);transform:translateY(-1px)}

/* =========================================================
   12. Video Demo Section
   ========================================================= */
.video-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#fffdf8,#fff7ea);
  padding:12px;
  box-shadow:var(--shadow-soft);
}
.video-embed{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:#1b160f;
}
.video-embed iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  min-height:420px;
  border:0;
}

/* =========================================================
   13. Content / TOC Tabs Section
   ========================================================= */
.toc-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.toc-tab{
  appearance:none;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fffaf0 0%,#fff2d9 100%);
  color:var(--primary-dark);
  border-radius:999px;
  padding:11px 16px;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
  transition:all .2s ease;
  box-shadow:var(--shadow-soft);
}
.toc-tab.active{
  border-color:#945f1a;
  background:linear-gradient(180deg,#c07f22,#945f1a);
  color:#fff;
  box-shadow:0 10px 20px rgba(192,127,34,.20);
}
.toc-panel{
  display:none;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg,#fffdf8 0%,#fff7ea 100%);
  box-shadow:var(--shadow-soft);
}
.toc-panel.active{display:block}
.toc-panel-head{
  padding:18px 20px 14px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fffdf8 0%,#fff8ec 100%);
}
.toc-panel-title{margin:0;font-size:18px;line-height:1.3;font-weight:800}
.toc-panel-sub{margin:8px 0 0;color:var(--muted);font-size:14px}
.toc-panel-body{padding:20px 24px 24px}
.content-list{
  margin:0;
  padding-left:18px;
  columns:2;
  column-gap:30px;
  color:#5c4738;
}
.content-list li{margin:0 0 8px;break-inside:avoid}

/* =========================================================
   14. Bottom CTA Strip Section
   ========================================================= */
.cta-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:28px 30px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,#7e4a1f 0%, #5e3416 50%, #3a1f0d 100%);
  box-shadow:0 28px 72px rgba(36,10,8,.18);
}
.cta-strip h3{margin:0;color:#fff7f0;font-size:2rem;line-height:1.1}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* =========================================================
   15. Responsive CSS
   ========================================================= */
@media (max-width:1100px){
  .faq-grid{grid-template-columns:1fr}
}
@media (max-width:991px){
  .sample-link-grid{grid-template-columns:1fr}
}
@media (max-width:900px){
  .hero-wrap{grid-template-columns:1fr}
  .slide{grid-template-columns:1fr}
}
@media (max-width:767px){
  .content-list{columns:1}
}
@media (max-width:720px){
  .toc-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
  .toc-tab{flex:0 0 auto}
}
@media (max-width:640px){
  .product-info-table{min-width:0}
  .product-info-table-merged,
  .product-info-table-merged tbody,
  .product-info-table-merged tr,
  .product-info-table-merged th,
  .product-info-table-merged td{
    display:block;
    width:100% !important;
  }
  .product-info-table-merged tr{border-bottom:1px solid var(--line)}
  .product-info-table-merged tr:last-child{border-bottom:none}
  .product-info-table-merged th,
  .product-info-table-merged td{border:none;padding:10px 12px}
  .product-info-table-merged th{padding-bottom:4px;background:rgba(192,127,34,.06)}
  .product-info-table-merged td{padding-top:0}
  .container{width:min(var(--max),calc(100% - 16px))}
  .hero-left,
  .hero-right,
  .section-card,
  .detail-shell,
  .samples-shell,
  .snapshot-shell,
  .video-shell{padding:16px}
  .btn{width:100%}
  .cta-row{display:grid;grid-template-columns:1fr}
  .slider-controls{flex-direction:column;align-items:stretch}
  .ctrl-btns{justify-content:flex-end}
  .quick-links{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .quick-links a{flex:0 0 auto}
  .cta-actions,
  .sample-tabs{flex-direction:column;align-items:stretch}
  .sample-tab{width:100%}
}
@media (max-width:575px){
  .toc-panel-body{padding:16px 20px 20px}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .slider-track{transition:none}
  .btn-primary:hover,
  .sample-link-grid a:hover{transform:none}
}

