
:root{
  --paper:#fbf8f3;
  --ink:#351308;
  --muted:#6f5a50;
  --line:#d8c8bc;
  --accent:#7a2408;
  --accent2:#a04925;
  --white:#fff;
  --soft:#f2ebe4;
  --radius:18px;
  --shadow:0 14px 40px rgba(54,19,8,.08);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI Variable","Segoe UI",Aptos,Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(251,248,243,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  max-width:var(--max);margin:auto;padding:10px 24px;
  display:flex;align-items:center;gap:28px;
}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:320px;height:auto;object-fit:contain}
.nav{margin-left:auto;display:flex;gap:24px;align-items:center;font-size:15px}
.nav a{padding:8px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a.active{border-color:var(--accent)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:12px;padding:9px 13px;color:var(--ink)}
.wrap{max-width:var(--max);margin:auto;padding:0 24px}
.hero{padding:74px 0 54px;border-bottom:1px solid var(--line)}
.eyebrow{font-size:13px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--accent)}
h1,h2,h3{
  font-family:"Segoe UI Variable Display","Segoe UI Variable","Segoe UI",Aptos,Arial,sans-serif;
  font-weight:350;line-height:1.08;letter-spacing:-.025em;margin:0
}
h1{font-size:clamp(48px,7vw,96px);max-width:1050px;margin:24px 0}
h2{font-size:clamp(36px,4vw,58px);margin-bottom:22px}
h3{font-size:28px}
.lead{font-size:20px;max-width:940px;color:#5d4439}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 22px;border-radius:999px;
  border:1px solid var(--accent);font-weight:700;cursor:pointer
}
.btn.primary{background:var(--accent);color:#fff}
.btn.secondary{background:transparent;color:var(--accent)}
.section{padding:56px 0;border-bottom:1px solid var(--line)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;box-shadow:var(--shadow)
}
.card p{color:var(--muted)}
.card .meta{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:700}
.link{display:inline-block;margin-top:12px;color:var(--accent);font-weight:700}
.product-feature{
  display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center
}
.wheel-stage{
  min-height:520px;background:#fff;border:1px solid var(--line);border-radius:24px;
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  box-shadow:var(--shadow)
}
.wheel-board{
  width:min(78%,480px);aspect-ratio:1;border:1px solid #d7cec8;background:#fff;
  display:flex;align-items:center;justify-content:center;position:relative
}
.wheel{
  width:82%;aspect-ratio:1;border-radius:50%;
  background:conic-gradient(
    #f4d323 0 30deg,#f0a51d 30deg 60deg,#dc542a 60deg 90deg,
    #c83439 90deg 120deg,#a83d73 120deg 150deg,#774da2 150deg 180deg,
    #3c5eb7 180deg 210deg,#3188bd 210deg 240deg,#3ca678 240deg 270deg,
    #7fb846 270deg 300deg,#bec637 300deg 330deg,#e7d53c 330deg 360deg
  );
  position:relative;border:1px solid #eee
}
.wheel:after{content:"";position:absolute;inset:31%;background:#fff;border-radius:50%;border:1px solid #eee}
.visual-note{position:absolute;bottom:16px;left:20px;font-size:12px;color:var(--muted)}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.spec{background:#fff;padding:16px}
.spec strong{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.step{border-top:2px solid var(--accent);padding-top:12px;font-size:15px}
.band{background:var(--ink);color:#fff}
.band .lead{color:#eadfd8}
.footer{padding:36px 0}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}
.small{font-size:13px;color:var(--muted)}
.page-head{padding:44px 0 30px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(42px,5vw,66px);margin-bottom:16px}
.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:22px}
.list-clean{list-style:none;margin:0;padding:0}
.list-clean li{padding:10px 0;border-bottom:1px solid var(--line)}
.product-list{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;max-width:880px}
.product-card{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center}
.mini-wheel{width:180px;height:180px;border-radius:50%;margin:auto;background:conic-gradient(#f4d323,#f0a51d,#dc542a,#c83439,#a83d73,#774da2,#3c5eb7,#3188bd,#3ca678,#7fb846,#bec637,#e7d53c,#f4d323);position:relative}
.mini-wheel:after{content:"";position:absolute;inset:32%;border-radius:50%;background:#fff}
.notice{border-left:3px solid var(--accent);padding:14px 18px;background:var(--soft);color:#5a4238}
details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:12px;padding:0 18px}
summary{cursor:pointer;padding:17px 0;font-weight:700}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;padding:0 0 18px}
.checks label{display:flex;gap:8px;align-items:flex-start}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px;color:var(--ink)}
textarea{min-height:130px;resize:vertical}
.form-status{margin-top:14px;font-size:14px;color:var(--accent)}
.tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:12px;margin:4px 5px 4px 0}
.kpi{font-family:Georgia,serif;font-size:34px;color:var(--accent)}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:#fff}
td,th{border-bottom:1px solid var(--line);padding:14px 12px;text-align:left;vertical-align:top}
th{font-size:13px;color:var(--muted)}
@media(max-width:980px){
  .brand img{width:290px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:18px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}
  .menu-btn{display:block}
  .product-feature,.grid2{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .process{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .header-inner,.wrap{padding-left:16px;padding-right:16px}
  .brand img{width:225px}
  .hero{padding-top:46px}
  h1{font-size:50px}
  .product-card{grid-template-columns:1fr}
  .form-grid,.checks{grid-template-columns:1fr}
  .wheel-stage{min-height:390px}
  .process{grid-template-columns:1fr}
}


.status{
  display:inline-block;margin:10px 0 2px;padding:6px 10px;border-radius:999px;
  font-size:12px;font-weight:700;letter-spacing:.04em
}
.status.ready{background:#e9f2e7;color:#315f2b}
.status.dev{background:#f5eadf;color:#7a3b17}
.status.proto{background:#eee8f4;color:#56346d}
.mask-stage,.pointer-stage{
  min-height:320px;background:#fff;border:1px solid var(--line);border-radius:18px;
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden
}
.mask-wheel,.pointer-wheel{
  width:220px;height:220px;border-radius:50%;position:relative;
  background:conic-gradient(#f4d323,#f0a51d,#dc542a,#c83439,#a83d73,#774da2,#3c5eb7,#3188bd,#3ca678,#7fb846,#bec637,#e7d53c,#f4d323);
}
.mask-wheel:after,.pointer-wheel:after{
  content:"";position:absolute;inset:31%;background:#fff;border-radius:50%
}
.mask-overlay{
  position:absolute;width:220px;height:220px;border:2px solid rgba(80,50,65,.55);border-radius:50%;
}
.mask-overlay:before,.mask-overlay:after{
  content:"";position:absolute;left:50%;top:50%;width:172px;height:2px;background:rgba(80,50,65,.7);
  transform-origin:left center
}
.mask-overlay:before{transform:rotate(0deg)}
.mask-overlay:after{transform:rotate(120deg)}
.triangle-line{
  position:absolute;width:145px;height:125px;left:38px;top:43px;
  clip-path:polygon(50% 0,100% 100%,0 100%,50% 0);
  background:rgba(80,50,65,.55);
}
.triangle-line:after{
  content:"";position:absolute;inset:3px;
  clip-path:polygon(50% 0,100% 100%,0 100%,50% 0);background:#fff
}
.pointer{
  position:absolute;left:50%;top:50%;width:190px;height:7px;background:rgba(90,47,36,.78);
  transform-origin:left center;border-radius:5px
}
.pointer:after{
  content:"";position:absolute;right:-16px;top:-6px;border-left:18px solid rgba(90,47,36,.78);
  border-top:9px solid transparent;border-bottom:9px solid transparent
}
.pointer.p1{transform:rotate(-12deg)}
.pointer.p2{transform:rotate(48deg)}
.pointer.p3{transform:rotate(108deg)}
.pointer.p4{transform:rotate(168deg)}
.pointer.p5{transform:rotate(228deg)}
.pointer.p6{transform:rotate(288deg)}
.hub{
  position:absolute;left:50%;top:50%;width:22px;height:22px;border-radius:50%;
  transform:translate(-50%,-50%);background:#fff;border:2px solid var(--ink);z-index:8
}
.product-card .visual-mini{width:220px;display:flex;justify-content:center}
@media(max-width:650px){
  .product-card .visual-mini{width:100%}
}


/* MVP v2.3 — refined survey UI; data field names and API unchanged */
form[data-market-demand].card{
  max-width:1120px;margin:0 auto;padding:clamp(24px,3vw,42px);
  border-radius:20px;box-shadow:0 12px 34px rgba(54,19,8,.055)
}
form[data-market-demand] h2{
  font-size:clamp(32px,3.2vw,46px);font-weight:350;margin:8px 0 26px
}
form[data-market-demand] .eyebrow{font-size:12px;letter-spacing:.22em;font-weight:650}
form[data-market-demand] .form-grid{gap:18px 20px}
form[data-market-demand] .field{gap:7px}
form[data-market-demand] .field > label{
  font-size:15px;line-height:1.35;font-weight:520;color:#45261b
}
form[data-market-demand] input,
form[data-market-demand] select,
form[data-market-demand] textarea{
  border-radius:11px;border-color:#d9c8bb;padding:12px 14px;background:#fff;
  transition:border-color .16s ease,box-shadow .16s ease
}
form[data-market-demand] input,
form[data-market-demand] select{min-height:50px}
form[data-market-demand] textarea{min-height:112px;line-height:1.5}
form[data-market-demand] input:focus,
form[data-market-demand] select:focus,
form[data-market-demand] textarea:focus{
  outline:none;border-color:#9b5b42;box-shadow:0 0 0 3px rgba(122,36,8,.08)
}
form[data-market-demand] .checks{
  grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:4px 0
}
form[data-market-demand] .checks label{
  min-height:48px;display:flex;align-items:center;gap:11px;padding:10px 12px;
  border:1px solid #e4d7cd;border-radius:11px;background:#fcfaf7;
  cursor:pointer;font-size:14px;line-height:1.35
}
form[data-market-demand] .checks label:hover{border-color:#c9aa99;background:#fff}
form[data-market-demand] .checks input[type="checkbox"]{
  width:17px;height:17px;min-height:0;flex:0 0 17px;margin:0;
  accent-color:var(--accent);padding:0;box-shadow:none
}
form[data-market-demand] .notice{
  margin-top:22px!important;padding:12px 15px;font-size:13px;line-height:1.5;background:#f5eee8
}
form[data-market-demand] .actions{margin-top:22px}
form[data-market-demand] .btn{min-height:46px;padding:0 21px;font-weight:650}
form[data-market-demand] .form-status{
  min-height:22px;margin-top:12px;font-size:14px;font-weight:520
}
@media(max-width:980px){.brand img{width:270px}}
@media(max-width:720px){
  form[data-market-demand].card{padding:22px 18px}
  form[data-market-demand] .form-grid,
  form[data-market-demand] .checks{grid-template-columns:1fr}
  form[data-market-demand] textarea{min-height:104px}
}


/* =========================================================
   MVP v2.3.1 — geometry refinement only
   Typography, colors, field names and submission logic unchanged.
   ========================================================= */

/* Slightly lower, calmer header */
.header-inner{
  padding-top:7px;
  padding-bottom:7px;
}
.brand img{
  width:285px;
}
.nav{
  gap:22px;
}

/* Survey page: a little narrower and denser */
form[data-market-demand].card{
  max-width:1060px;
  padding:34px 36px;
}

form[data-market-demand] h2{
  margin-bottom:22px;
}

form[data-market-demand] .form-grid{
  gap:15px 18px;
}

form[data-market-demand] .field{
  gap:6px;
}

form[data-market-demand] input,
form[data-market-demand] select{
  min-height:48px;
  padding-top:10px;
  padding-bottom:10px;
}

/* Long-answer fields are noticeably shorter, but still comfortable */
form[data-market-demand] textarea{
  min-height:88px;
  padding-top:11px;
  padding-bottom:11px;
}

/* Keep checkbox rows compact */
form[data-market-demand] .checks{
  gap:9px 12px;
}
form[data-market-demand] .checks label{
  min-height:44px;
  padding:8px 11px;
}

/* Compact final section */
form[data-market-demand] .notice{
  margin-top:18px!important;
}
form[data-market-demand] .actions{
  margin-top:18px;
}

/* Slightly less vertical air around the survey */
.page-head{
  padding-top:38px;
  padding-bottom:26px;
}
.section{
  padding-top:48px;
  padding-bottom:48px;
}

@media(max-width:980px){
  .brand img{width:255px}
  form[data-market-demand].card{
    max-width:100%;
    padding:28px 26px;
  }
}

@media(max-width:720px){
  .header-inner{
    padding-top:8px;
    padding-bottom:8px;
  }
  .brand img{width:235px}
  form[data-market-demand].card{
    padding:20px 17px;
  }
  form[data-market-demand] textarea{
    min-height:82px;
  }
}


/* =========================================================
   MVP v2.3.3 — NEW HEADER ONLY
   User-supplied relief logo is used AS-IS.
   No image processing or proportion changes.
   ========================================================= */

.site-header{
  position:relative;
  top:auto;
  z-index:30;
  background:var(--paper);
  backdrop-filter:none;
  border-bottom:0;
}

.masthead{
  background:var(--paper);
  border-bottom:1px solid rgba(216,200,188,.72);
}

.masthead-inner{
  max-width:1480px;
  margin:0 auto;
  padding:16px 30px 12px;
  display:grid;
  grid-template-columns:minmax(0, 2.1fr) minmax(300px, .9fr);
  align-items:center;
  gap:48px;
}

.brand-relief{
  display:block;
  min-width:0;
}

.brand-relief img{
  width:100%;
  height:auto;
  max-height:330px;
  object-fit:contain;
  object-position:left center;
}

.center-info{
  align-self:center;
  justify-self:end;
  width:min(100%,420px);
  color:#4a2a1d;
  padding:8px 0;
}

.center-info-title{
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.25;
  font-weight:600;
  letter-spacing:.035em;
  margin-bottom:12px;
}

.center-info-line{
  font-size:clamp(15px,1.15vw,19px);
  line-height:1.45;
  color:#5f463b;
}

.nav-shell{
  background:rgba(251,248,243,.98);
  border-bottom:1px solid var(--line);
}

.nav-inner{
  max-width:1480px;
  margin:0 auto;
  padding:0 30px;
}

.nav{
  margin-left:0;
  display:flex;
  justify-content:center;
  gap:clamp(22px,3vw,44px);
  align-items:center;
  min-height:58px;
  font-size:15px;
}

.nav a{
  padding:18px 0 15px;
  border-bottom:1px solid transparent;
  white-space:nowrap;
}

.nav a:hover,
.nav a.active{
  border-color:var(--accent);
}

.menu-btn{
  display:none;
}

@media(max-width:1100px){
  .masthead-inner{
    grid-template-columns:minmax(0,1.75fr) minmax(260px,.75fr);
    gap:28px;
    padding-left:24px;
    padding-right:24px;
  }
  .brand-relief img{max-height:280px}
  .nav-inner{padding:0 24px}
  .nav{gap:22px;font-size:14px}
}

@media(max-width:820px){
  .masthead-inner{
    display:flex;
    flex-wrap:wrap;
    gap:14px 18px;
    padding:12px 18px;
  }
  .brand-relief{
    flex:1 1 100%;
  }
  .brand-relief img{
    max-height:none;
    width:100%;
  }
  .center-info{
    flex:1 1 auto;
    justify-self:auto;
    width:auto;
    padding:2px 0 6px;
  }
  .center-info-title{
    font-size:15px;
    margin-bottom:5px;
  }
  .center-info-line{
    font-size:13px;
  }
  .menu-btn{
    display:block;
    margin-left:auto;
    align-self:flex-end;
    background:none;
    border:1px solid var(--line);
    border-radius:10px;
    padding:8px 12px;
    color:var(--ink);
  }
  .nav-shell{
    border-top:1px solid var(--line);
  }
  .nav-inner{
    padding:0 18px;
  }
  .nav{
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:8px 0 12px;
    min-height:0;
  }
  .nav.open{
    display:flex;
  }
  .nav a{
    width:100%;
    padding:10px 0;
  }
}

/* =========================================================
   MVP v2.3.4 — HEADER GEOMETRY ONLY
   Relief logo file remains untouched and keeps its native aspect ratio.
   ========================================================= */
@media(min-width:1101px){
  .masthead-inner{
    max-width:1360px;
    padding:10px 28px 8px;
    grid-template-columns:minmax(0,1.95fr) minmax(300px,.85fr);
    gap:42px;
  }
  .brand-relief img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:left center;
  }
  .center-info{
    width:min(100%,390px);
    padding:4px 0;
  }
  .center-info-title{
    margin-bottom:9px;
  }
  .nav{
    min-height:50px;
  }
  .nav a{
    padding:14px 0 12px;
  }
}

/* MVP v2.4 — approved catalogue */
.catalog-tools-section{padding-bottom:34px}
.catalog-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:24px}
.catalog-search{display:flex;flex-direction:column;gap:8px;max-width:760px}
.catalog-search span{font-size:13px;font-weight:650;color:var(--muted)}
.catalog-search input{min-height:52px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 16px;font-size:16px;color:var(--ink)}
.catalog-search input:focus{outline:none;border-color:#9b5b42;box-shadow:0 0 0 3px rgba(122,36,8,.08)}
.catalog-summary{display:flex;align-items:baseline;gap:9px;padding:10px 0;color:var(--muted)}
.catalog-summary strong{font-size:32px;font-weight:350;color:var(--accent)} .catalog-summary span{font-size:14px}
.catalog-section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.catalog-section-chip{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;min-height:58px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;line-height:1.25;transition:.15s ease}
.catalog-section-chip:hover{border-color:#b98c77;transform:translateY(-1px)}
.catalog-section-chip>span{font-size:11px;letter-spacing:.08em;color:var(--accent);font-weight:700}
.catalog-section-chip em{font-style:normal}.catalog-section-chip b{font-size:12px;color:var(--muted);font-weight:600}
.catalog-content{padding-bottom:30px}.catalog-section{scroll-margin-top:20px;padding:54px 0 10px;border-bottom:1px solid var(--line)}
.catalog-section:last-child{border-bottom:0}
.catalog-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px}
.catalog-section-head h2{max-width:900px;font-size:clamp(32px,3.6vw,48px)}
.catalog-count{display:flex;flex-direction:column;align-items:flex-end;font-size:34px;font-weight:300;color:var(--accent);line-height:1}
.catalog-count span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:6px}
.catalog-subsection{margin:0 0 32px}
.catalog-subsection h3{display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:"Segoe UI Variable","Segoe UI",sans-serif;font-size:19px;font-weight:550;letter-spacing:-.01em;margin:0 0 10px;padding:0 2px}
.catalog-subsection h3 span{flex:0 0 auto;font-size:11px;min-width:30px;text-align:center;padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font-weight:700}
.catalog-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.catalog-table{width:100%;border-collapse:collapse;table-layout:fixed}
.catalog-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8f3ee;border-bottom:1px solid var(--line);padding:11px 12px}
.catalog-table td{padding:12px;border-bottom:1px solid #eadfd7;font-size:14px;line-height:1.4;vertical-align:top}
.catalog-table tbody tr:last-child td{border-bottom:0}.catalog-table tbody tr:hover{background:#fcf8f4}
.catalog-table th:nth-child(1),.catalog-table td:nth-child(1){width:145px}
.catalog-table th:nth-child(2),.catalog-table td:nth-child(2){width:auto}
.catalog-table th:nth-child(3),.catalog-table td:nth-child(3){width:150px}
.catalog-table th:nth-child(4),.catalog-table td:nth-child(4){width:190px}
.catalog-index{font-size:12px!important;font-weight:700;color:var(--accent);white-space:nowrap}
.catalog-name{font-weight:500}.catalog-type,.catalog-level{color:var(--muted)}
.catalog-detail-link{color:var(--ink);font-weight:600}.catalog-detail-link span{color:var(--accent)}.catalog-detail-link:hover{color:var(--accent)}
.catalog-empty{margin-top:20px}.catalog-row-hidden{display:none}.catalog-subsection.catalog-hidden,.catalog-section.catalog-hidden{display:none}
@media(max-width:1000px){.catalog-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-tools{grid-template-columns:1fr}.catalog-summary{padding:0}}
@media(max-width:720px){.catalog-section-nav{grid-template-columns:1fr}.catalog-section-head{align-items:flex-start;flex-direction:column;gap:12px}.catalog-count{align-items:flex-start}.catalog-table{min-width:760px}}

/* MVP v2.4.1 — AHS-PUB-001 detail page */
.pub-product-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:44px;align-items:start}.pub-product-image{background:#f3eee8;border:1px solid var(--line);border-radius:16px;overflow:hidden}.pub-product-image img{display:block;width:100%;height:auto}.pub-product-summary h2{font-size:clamp(30px,3vw,44px);margin:10px 0 18px}.pub-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:26px 0}.pub-facts>div{border:1px solid var(--line);border-radius:12px;background:#fff;padding:15px}.pub-facts strong{display:block;color:var(--accent);font-size:18px;margin-bottom:4px}.pub-facts span{font-size:12px;color:var(--muted)}@media(max-width:920px){.pub-product-hero{grid-template-columns:1fr}.pub-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.pub-facts{grid-template-columns:1fr}}

/* V266_CATALOG_ROW_NAV */
.catalog-active-row{cursor:pointer}.catalog-active-row:focus{outline:2px solid rgba(91,33,14,.35);outline-offset:-2px}

/* MVP v2.6.66 — AHS-DEM-023 verified reference reliefs */
.relief-reference-section{background:#f8f4ef;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.relief-reference-section h2{margin:8px 0 24px}
.relief-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.relief-photo-card{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(56,34,20,.06)}
.relief-photo-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#111}
.relief-photo-card figcaption{display:flex;gap:9px;align-items:baseline;min-height:68px;padding:14px 15px;color:var(--ink);font-size:14px;line-height:1.35}
.relief-photo-card figcaption strong{color:var(--accent);font-size:12px;letter-spacing:.08em}
@media(max-width:900px){.relief-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.relief-photo-grid{grid-template-columns:1fr}}

/* HOME_CATALOG_SEARCH_2026_08_21 */
.home-catalog-search{position:relative;max-width:760px;margin-top:28px}
.home-catalog-search-form{position:relative}
.home-catalog-search-form>label{display:block;margin-bottom:8px;font-size:13px;font-weight:650;color:var(--muted)}
.home-catalog-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.home-catalog-search-row input{width:100%;min-height:52px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 16px;font:inherit;font-size:16px;color:var(--ink);box-shadow:0 8px 28px rgba(50,30,20,.05)}
.home-catalog-search-row input:focus{outline:none;border-color:#9b5b42;box-shadow:0 0 0 3px rgba(122,36,8,.08)}
.home-catalog-search-row .btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center}
.home-catalog-search-results{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 46px rgba(31,22,18,.15);overflow:hidden}
.home-catalog-search-result{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:12px 15px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.home-catalog-search-result:last-child{border-bottom:0}
.home-catalog-search-result:hover,.home-catalog-search-result:focus{background:#f8f4f1;outline:none}
.home-catalog-search-result strong{font-size:13px;color:var(--accent);letter-spacing:.02em}
.home-catalog-search-result span{font-size:14px;line-height:1.35}
.home-catalog-search-empty{padding:14px 16px;color:var(--muted);font-size:14px}
@media(max-width:620px){.home-catalog-search-row{grid-template-columns:1fr}.home-catalog-search-row .btn{width:100%}.home-catalog-search-result{grid-template-columns:1fr;gap:3px}}

/* Spaces visual galleries — 2026-08-23 */
.spaces-showcase{display:grid;gap:54px}.space-block{border-bottom:1px solid var(--line);padding-bottom:44px}.space-block:last-child{border-bottom:0}.space-block h2{margin:0 0 10px}.space-block>p{max-width:920px;color:var(--muted);margin:0 0 22px}.space-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.space-gallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:#f3eee8}.space-gallery-single{grid-template-columns:minmax(0,1fr)}.space-gallery-single img{aspect-ratio:16/9;max-height:680px}.space-gallery-two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:820px){.space-gallery,.space-gallery-two{grid-template-columns:1fr}.space-gallery img{aspect-ratio:16/10}}

/* Homepage concept visual: academic tradition + digital technology */
.home-concept-media{border-radius:18px;overflow:hidden;background:#f4f1ec;box-shadow:0 14px 34px rgba(35,25,20,.10)}
.home-concept-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
@media (max-width:760px){.home-concept-media img{aspect-ratio:16/11}}

/* Production & service partnership */
.partner-head{background:linear-gradient(180deg,#fff 0%,#fbf8f5 100%)}
.partner-hero-media{margin:0;border:1px solid var(--line);background:#fff;overflow:hidden}
.partner-hero-media img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain}
.partner-intro .card{height:100%}
.partner-directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.partner-dir{border:1px solid var(--line);background:#fff;padding:18px;min-height:125px}
.partner-dir strong{display:block;color:var(--ink);margin-bottom:7px;font-size:17px}
.partner-dir span{display:block;color:var(--muted);line-height:1.48;font-size:14px}
.partner-form{padding:30px}
.partner-form textarea{min-height:118px}
.partner-capabilities{margin-top:26px}
.partner-consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0;color:var(--muted);font-size:14px;line-height:1.45}
.partner-consent input{margin-top:3px}
@media(max-width:900px){.partner-directions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.partner-directions{grid-template-columns:1fr}.partner-form{padding:20px 16px}.partner-head h1{font-size:38px}}

/* Partnership direction switcher */
.partner-switcher{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.partner-switcher a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}
.partner-switcher a:hover{border-color:#9b7440;color:#6e4d22}
.partner-switcher a.active{background:#0d2949;color:#fff;border-color:#0d2949}
@media(max-width:620px){.partner-switcher{display:grid;grid-template-columns:1fr}.partner-switcher a{justify-content:center;text-align:center}}

/* Creative activity section */
.creative-head{padding-bottom:34px}.creative-stream{display:grid;gap:58px}.creative-item{border-bottom:1px solid #dedbd3;padding-bottom:50px}.creative-item figure{margin:0 0 24px}.creative-item figure img{display:block;width:100%;height:auto;max-height:720px;object-fit:cover;border-radius:4px}.creative-copy{max-width:980px}.creative-copy h2{margin:5px 0 5px}.creative-copy h3{font-weight:600;margin:0 0 14px;color:#555}.creative-copy p{font-size:18px;line-height:1.7}.creative-order{background:#f5f3ee}.partner-form select{width:100%;min-height:48px;border:1px solid #cbc8c0;border-radius:6px;background:#fff;padding:10px 12px;font:inherit}.partner-form input[type=file]{padding:11px;background:#fff}@media(max-width:700px){.creative-stream{gap:38px}.creative-item{padding-bottom:34px}.creative-copy p{font-size:16px}}
