/* Industrial landing reconstruction. Palette inspired by the surviving XTREME brochure. */
:root{
  --red:#90b83e;
  --ink:#202421;
  --muted:#626862;
  --paper:#f5f6f3;
  --line:#d7ddd2;
  --green:#90b83e
}
body{
  background:#f5f6f3
}
header{
  height:100px;
  background:#202421;
  color:#fff;
  border-bottom:4px solid var(--green);
  padding-inline:5%
}
.brand{
  font-size:23px;
  font-style:italic;
  font-weight:900;
  letter-spacing:1px
}
.brand-mark{
  color:var(--green);
  font-style:italic
}
.brand small{
  color:#aabd99;
  font-size:8px;
  letter-spacing:1.6px;
  font-style:normal
}
.header-cta{
  border-color:var(--green);
  color:#c6e795;
  text-transform:uppercase;
  font-weight:700;
  font-size:10px;
  letter-spacing:.7px
}
nav a{
  font-size:11px;
  letter-spacing:.8px;
  text-transform:uppercase;
  font-weight:700
}
nav a:hover{
  color:#b4d675
}
.hero{
  padding:68px 5% 0;
  gap:25px;
  background-color:#e9ece6;
  background-image:linear-gradient(#dce1d755 1px,transparent 1px),linear-gradient(90deg,#dce1d755 1px,transparent 1px);
  background-size:44px 44px;
  grid-template-columns:1.04fr 1fr
}
.hero-copy .eyebrow{
  font-size:10px;
  letter-spacing:2px;
  color:#465240
}
.hero h1{
  font-family:'Arial Narrow',Arial,Helvetica,sans-serif;
  font-weight:900;
  font-size:clamp(46px,5vw,76px);
  letter-spacing:-2.8px;
  text-transform:uppercase;
  line-height:1.02;
  margin:30px 0 27px
}
.hero h1 em{
  color:#658a21
}
.hero-copy p{
  color:#596155;
  font-size:15px;
  line-height:1.75;
  max-width:520px
}
.hero-visual{
  background:transparent;
  border:0;
  min-height:380px;
  margin-left:0
}
.hero-visual:before{
  width:330px;
  height:330px;
  border:36px solid #d3dccb;
  border-radius:50%;
  opacity:.58;
  outline:1px dashed #8c9a7d;
  outline-offset:18px
}
.hero-visual img{
  mix-blend-mode:multiply;
  z-index:1;
  width:126%;
  clip-path:inset(0 13% 12% 12%)
}
.hero-label{
  font-size:9px;
  color:#7a876f;
  top:7px;
  left:22px
}
.hero-caption{
  z-index:2;
  bottom:5px;
  left:25px;
  right:25px;
  border-top:1px solid #c3cdbc;
  padding-top:13px
}
.hero-caption b{
  font-weight:800;
  color:#2b3227
}
.hero-bottom{
  font-size:8px;
  padding-top:40px;
  color:#7a866f;
  letter-spacing:2px
}
.hero .button{
  min-width:185px;
  text-transform:uppercase;
  letter-spacing:.7px;
  font-size:11px
}
.button.red{
  color:#1d2816;
  background:#90b83e;
  border-color:#90b83e;
  font-weight:800
}
.button.red:hover{
  background:#a2ca50;
  border-color:#a2ca50
}
.hero-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:17px 20px;
  border:1px solid #828e77;
  text-transform:uppercase;
  font-weight:700;
  font-size:10px;
  letter-spacing:.5px;
  margin-left:12px
}
.hero-secondary:hover{
  background:#dae2d2
}
.hero-secondary span{
  margin-left:17px
}
.category-strip{
  margin:0;
  background:#292f27;
  color:#fff;
  padding:0 5%;
  border:0
}
.category-strip>a{
  padding:27px 22px;
  border-color:#485240;
  font-weight:700;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.2px
}
.category-strip small{
  text-transform:none;
  color:#a4b299;
  font-size:10px;
  letter-spacing:0
}
.category-num{
  color:#9bbf63
}
.category-strip a:hover{
  color:#b0d474
}
.category-strip b{
  color:#b4d37c
}
.section{
  padding:80px 5%
}
.eyebrow{
  color:#687b55;
  letter-spacing:2px;
  font-size:9px
}
h2{
  text-transform:uppercase;
  font-weight:800;
  font-size:clamp(29px,3vw,43px);
  letter-spacing:-1px;
  line-height:1.12
}
h3{
  font-weight:700
}
.engineering{
  background:#fff
}
.engineering>.section-heading{
  margin-bottom:32px
}
.engineering-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}
.engineering-grid article{
  padding:28px 28px 23px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative
}
.engineering-grid article>span{
  color:#749d31;
  font-size:13px;
  font-weight:700;
  letter-spacing:2px
}
.engineering-grid h3{
  font-size:19px;
  margin-top:16px
}
.engineering-grid p{
  font-size:12px;
  color:var(--muted);
  line-height:1.8;
  max-width:315px
}
.technology{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  align-items:center;
  background:#e9ede4
}
.technology-visual{
  background:white;
  border:1px solid #d4dccd;
  padding:18px;
  position:relative
}
.technology-visual img{
  display:block;
  width:100%;
  max-height:550px;
  object-fit:contain
}
.technology-copy>p{
  color:var(--muted);
  font-size:14px;
  line-height:1.85
}
.tech-points{
  padding:0;
  margin:25px 0;
  list-style:none
}
.tech-points li{
  padding:12px 0;
  border-bottom:1px solid #cbd5c2;
  font-size:13px;
  display:flex;
  gap:12px
}
.tech-points li:before{
  content:'+';
  color:#6e942d;
  font-weight:700
}
.technology .text-link{
  justify-content:flex-start;
  gap:20px;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.6px;
  color:#517223
}
.catalog{
  background:#fff
}
.section-heading p{
  font-size:12px;
  color:#697160
}
.catalog-toolbar{
  border-color:#cfd8c7
}
.filters button{
  font-weight:700;
  font-size:11px;
  text-transform:uppercase
}
.filters button[aria-pressed=true]{
  background:#87ac42;
  color:#172011
}
.search input{
  background:#f5f7f2;
  border-color:#cbd5c2
}
.product{
  border-color:#dbe1d5
}
.product:hover{
  border-color:#86a856
}
.product-image{
  background:#eef1e9
}
.product-body .eyebrow{
  color:#6d8059
}
.product-body h3{
  font-weight:800;
  letter-spacing:-.7px
}
.product-spec{
  font-weight:700;
  border-color:#e3e8de
}
.product-spec small{
  font-weight:400;
  color:#728265
}
.product .text-link{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.6px
}
.product .text-link span{
  color:#729d31
}
.spec-groups{
  background:#262c24;
  color:#f5f8ee
}
.spec-groups .eyebrow{
  color:#b4cf8d
}
.spec-groups details{
  border-color:#4a5740
}
.spec-groups summary{
  font-size:20px;
  font-weight:700;
  padding:25px 0
}
.spec-groups summary:hover{
  color:#b4d47a
}
.spec-groups details p{
  color:#b4bfaa
}
.spec-groups table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  text-align:left;
  margin-bottom:25px
}
.spec-groups td,.spec-groups th{
  padding:14px 16px;
  border-bottom:1px solid #46523e
}
.spec-groups th{
  color:#b0bf9e;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.5px
}
.spec-groups td a{
  color:#bedb91;
  text-decoration:underline;
  text-underline-offset:4px
}
.spec-groups .spec-links{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  padding-bottom:24px
}
.spec-links a{
  border:1px solid #4a5740;
  padding:17px;
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:13px
}
.spec-links a:hover{
  border-color:#a2bf78
}
.applications{
  background:#e6ebdf;
  color:#22291e
}
.applications .eyebrow{
  color:#617848
}
.applications .section-heading p{
  color:#6b775f
}
.use-cases article{
  border-color:#bcc9ac
}
.use-cases article>span{
  color:#6b844d;
  font-weight:700
}
.use-cases p{
  color:#64715a
}
.use-cases h3{
  font-weight:800;
  font-size:27px
}
.guide{
  background:#fff
}
.guide .steps article>span{
  color:#6e902f
}
.guide .text-link{
  color:#5b7a2e
}
.request{
  background:#20261d;
  color:#f2f6ed
}
.request .eyebrow{
  color:#b2cc90
}
.request p{
  color:#b0bca4
}
.request input,.request select,.request textarea{
  background:#30382a;
  border-color:#526145;
  color:#eef5e5
}
.request input::placeholder,.request textarea::placeholder{
  color:#a2ae96
}
.request label{
  color:#cbd6bf
}
.request-note{
  color:#8e9d7e!important
}
.contact-placeholders{
  border-color:#49583c
}
.contact-placeholders small{
  color:#9aa98a
}
.request .result-actions button{
  border-color:#7c925e;
  color:#d1e3b8
}
.faq{
  max-width:none;
  background:#f4f6ef;
  padding-inline:max(5%,calc((100% - 1000px)/2))
}
.faq summary{
  font-weight:600
}
footer{
  background:#151a12;
  color:#d9e4cb;
  border-top:1px solid #39472a
}
.footer-brand{
  font-style:italic
}
.footer-brand span{
  font-style:normal;
  color:#96a883
}
.detail-hero .eyebrow{
  color:#638336
}
.detail h1{
  font-weight:800
}
.detail-info h2{
  font-size:28px
}
.detail-values{
  font-weight:800
}
.detail-values small{
  font-weight:400
}
.model-next .button{
  border-color:#7a9a4c;
  color:#466422
}
.detail-info li{
  color:#59684d
}
.note{
  color:#718061
}
@media(max-width:1100px){
  .hero h1{
    font-size:53px
  }
  .hero-secondary{
    margin:13px 0 0
  }
  .hero-visual:before{
    width:230px;
    height:230px;
    border-width:27px
  }
  .category-strip>a{
    font-size:11px
  }
  .technology{
    gap:35px
  }
}
@media(max-width:760px){
  header{
    height:83px
  }
  .brand{
    font-size:17px
  }
  .brand small{
    font-size:6px;
    letter-spacing:.8px
  }
  .header-cta{
    font-size:9px;
    padding:10px 9px;
    max-width:132px
  }
  .hero{
    grid-template-columns:1fr;
    padding:39px 5% 0;
    gap:15px
  }
  .hero h1{
    font-size:clamp(40px,9.5vw,65px);
    letter-spacing:-1.9px;
    margin:23px 0
  }
  .hero-copy .eyebrow{
    font-size:8px;
    letter-spacing:1.3px
  }
  .hero-copy p{
    font-size:14px
  }
  .hero .button{
    min-width:165px;
    padding:15px 17px;
    font-size:10px
  }
  .hero-secondary{
    font-size:9px;
    padding:15px 13px;
    margin:0 0 0 8px;
    gap:2px
  }
  .hero-secondary span{
    margin-left:8px
  }
  .hero-visual{
    min-height:300px;
    margin-top:16px
  }
  .hero-visual:before{
    width:220px;
    height:220px;
    border-width:25px
  }
  .hero-visual img{
    width:123%
  }
  .hero-caption{
    left:15px;
    right:15px;
    bottom:4px
  }
  .hero-label{
    top:0;
    left:15px
  }
  .hero-bottom{
    padding-top:19px
  }
  .category-strip{
    padding-inline:5%;
    grid-template-columns:1fr
  }
  .category-strip>a{
    padding:20px 0;
    font-size:13px
  }
  .category-strip small{
    font-size:10px
  }
  .section{
    padding:50px 5%
  }
  h2{
    font-size:31px
  }
  .engineering-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .engineering-grid article{
    padding:20px 16px
  }
  .engineering-grid h3{
    font-size:16px
  }
  .engineering-grid p{
    font-size:11px
  }
  .technology{
    grid-template-columns:1fr;
    gap:27px
  }
  .technology-visual{
    padding:8px
  }
  .technology-copy>p{
    font-size:13px
  }
  .technology-copy h2{
    font-size:31px
  }
  .spec-groups summary{
    font-size:17px
  }
  .spec-groups td,.spec-groups th{
    padding:12px 8px;
    font-size:11px
  }
  .spec-groups th{
    font-size:8px
  }
  .spec-groups .spec-links{
    grid-template-columns:1fr
  }
  .filters button{
    font-size:10px;
    padding-inline:9px
  }
  .request{
    gap:25px
  }
  .detail-info h2{
    font-size:26px
  }
  .product-body h3{
    font-size:21px
  }
}
@media(max-width:380px){
  .hero h1{
    font-size:38px
  }
  .hero-secondary{
    margin:12px 0 0;
    display:flex;
    width:max-content
  }
  .engineering-grid{
    grid-template-columns:1fr
  }
  .hero-visual{
    min-height:270px
  }
}
.tech-points>div{
  display:grid;
  grid-template-columns:125px 1fr;
  gap:18px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid #cbd5c2
}
.tech-points strong{
  font-size:21px;
  color:#506f2e
}
.tech-points span{
  font-size:12px;
  color:#627055
}
.technology-visual>span{
  display:block;
  font-size:9px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#758569;
  margin-top:12px
}
.spec-table-wrap{
  overflow-x:auto
}
.spec-groups summary>span{
  font-size:10px;
  letter-spacing:1px;
  color:#9caf8b;
  margin-left:18px;
  font-weight:400
}
.spec-groups table tr:hover{
  background:#303b2a
}
.spec-groups .section-heading p{
  color:#adbea0
}
@media(max-width:420px){
  .tech-points>div{
    grid-template-columns:100px 1fr;
    gap:12px
  }
  .tech-points strong{
    font-size:19px
  }
  .spec-groups summary>span{
    display:block;
    margin:5px 0 0 20px
  }
}
@media(max-width:760px){
  .hero .button{
    display:flex;
    width:215px
  }
  .hero-secondary{
    display:flex;
    width:215px;
    margin:12px 0 0;
    justify-content:space-between
  }
}
/* One category selection controls the complete landing page. */
.landing-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  position:sticky;
  top:0;
  z-index:20;
  padding:0 5%;
  background:#20261d;
  border-bottom:1px solid #46543a;
  box-shadow:0 4px 14px #17201114
}
.landing-tabs button{
  position:relative;
  display:block;
  background:transparent;
  color:#bbc7b0;
  border:0;
  border-right:1px solid #3c4832;
  border-bottom:4px solid transparent;
  text-align:left;
  padding:21px 24px 18px;
  transition:background .15s
}
.landing-tabs button:first-child{
  border-left:1px solid #3c4832
}
.landing-tabs button>span{
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.7px;
  display:block
}
.landing-tabs small{
  display:block;
  margin-top:5px;
  font-size:10px;
  color:#99a68d;
  line-height:1.4
}
.landing-tabs button[aria-selected=true]{
  border-bottom-color:#a9cc69;
  background:#35422a;
  color:#e8f4d9
}
.landing-tabs button[aria-selected=true] small{
  color:#b8cd9e
}
.landing-tabs button:hover{
  background:#303c27
}
.landing-tabs button:focus-visible{
  outline:2px solid #c0e286;
  outline-offset:-5px
}
#category-panel:focus-visible{
  outline:2px solid #90b83e;
  outline-offset:-2px
}
#category-panel .hero h1{
  font-size:clamp(39px,4.2vw,63px);
  max-width:690px;
  line-height:1.05;
  overflow-wrap:normal
}
#category-panel .hero{
  padding-top:50px
}
.catalog-context{
  font-size:11px;
  color:#718063;
  margin:0;
  text-transform:uppercase;
  letter-spacing:1px
}
.catalog-toolbar{
  padding-top:0
}
.catalog-toolbar .search{
  margin-bottom:0
}
.spec-groups [data-spec-category]{
  margin-top:28px
}
.spec-groups table{
  margin-bottom:0
}
html{
  scroll-padding-top:120px
}
@media(max-width:760px){
  .landing-tabs{
    padding:0
  }
  .landing-tabs button{
    padding:14px 10px 12px;
    text-align:center
  }
  .landing-tabs button>span{
    font-size:11px;
    letter-spacing:0
  }
  .landing-tabs small{
    display:none
  }
  .landing-tabs button[aria-selected=true]{
    border-bottom-width:3px
  }
  #category-panel .hero{
    padding-top:30px
  }
  #category-panel .hero h1{
    font-size:37px;
    letter-spacing:-1.5px
  }
  .catalog-context{
    font-size:10px;
    margin-bottom:12px
  }
  .catalog-toolbar .search{
    margin-top:0
  }
  html{
    scroll-padding-top:75px
  }
}
#category-panel[data-category=excavator] .hero-visual>img{
  clip-path:inset(0 20% 18% 14%)
}
/* B2B comparison: models are columns, technical parameters are rows. */
.comparison-scroll{
  overflow:auto;
  max-height:78vh;
  border:1px solid #c9d3bf;
  background:#fff;
  scrollbar-color:#879f6d #e9eee3;
  scrollbar-width:thin
}
.comparison-table{
  width:100%;
  min-width:1040px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  font-size:12px;
  line-height:1.55
}
.comparison-table th,.comparison-table td{
  padding:14px 16px;
  vertical-align:top;
  text-align:left;
  border-right:1px solid #dbe2d3;
  border-bottom:1px solid #dbe2d3;
  overflow-wrap:anywhere
}
.comparison-table th:last-child,.comparison-table td:last-child{
  border-right:0
}
.comparison-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#293323;
  color:#e6f1d8;
  font-size:15px;
  font-weight:800;
  padding-block:21px
}
.comparison-table thead th a{
  color:#d3e9b5;
  display:block
}
.comparison-table th:first-child{
  width:185px;
  position:sticky;
  left:0;
  z-index:2;
  background:#eaf0e2;
  color:#4c613d;
  font-size:11px;
  font-weight:700
}
.comparison-table thead th:first-child{
  z-index:4;
  background:#202a1b;
  color:#b6cba1;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1px
}
.comparison-table tbody tr:nth-child(even) td{
  background:#f4f7ef
}
.comparison-table tbody tr:hover td{
  background:#eaf2df
}
.comparison-table td.unspecified{
  color:#8b9483;
  font-style:italic;
  font-size:11px
}
.comparison-table tbody>tr:nth-child(-n+2) td{
  font-size:16px;
  font-weight:700;
  color:#334526
}
.comparison-table ul{
  padding-left:14px;
  margin:0
}
.comparison-table li{
  font-size:11px;
  margin:0 0 12px;
  color:#56644a;
  line-height:1.7
}
.comparison-table li:last-child{
  margin-bottom:0
}
.comparison-actions td{
  background:#edf3e5!important
}
.table-request{
  font-size:11px;
  font-weight:700;
  color:#506f2f;
  border-bottom:1px solid #9fb789;
  padding-bottom:3px;
  display:inline-block
}
.table-request:hover{
  color:#253b0d
}
.table-scroll-hint{
  font-size:10px;
  color:#829171;
  flex:1;
  text-align:right;
  margin-left:20px
}
.catalog-toolbar .search{
  order:3
}
.catalog-context{
  max-width:210px
}
.data-note{
  font-size:11px;
  line-height:1.7;
  color:#7a886c;
  max-width:950px;
  margin-top:14px
}
.comparison-scroll.no-matches{
  display:none
}
#category-panel .hero{
  padding-top:30px
}
#category-panel .hero h1{
  font-size:clamp(36px,3.5vw,52px);
  margin:17px 0 20px
}
#category-panel .hero-visual{
  min-height:300px
}
#category-panel .hero-visual:before{
  width:230px;
  height:230px;
  border-width:24px
}
#category-panel .hero-visual>img{
  width:105%
}
#category-panel .hero-copy>p{
  font-size:13px;
  line-height:1.7;
  margin-bottom:24px
}
#category-panel .hero-bottom{
  padding-top:20px
}
.catalog.section{
  padding-top:48px
}
.catalog .section-heading{
  margin-bottom:12px
}
.catalog .section-heading h2{
  font-size:35px
}
.catalog .section-heading>p{
  max-width:405px
}
@media(max-width:760px){
  .comparison-scroll{
    max-height:75vh
  }
  .comparison-table{
    min-width:1000px
  }
  .comparison-table th:first-child{
    width:120px;
    padding:12px 10px
  }
  .comparison-table th,.comparison-table td{
    padding:12px
  }
  .comparison-table thead th{
    font-size:14px
  }
  .table-scroll-hint{
    display:block;
    text-align:left;
    margin:10px 0;
    font-size:9px
  }
  .catalog-context{
    max-width:none
  }
  .catalog-toolbar .search{
    margin-top:13px
  }
  .catalog .section-heading h2{
    font-size:29px
  }
  #category-panel .hero h1{
    font-size:34px
  }
  #category-panel .hero-visual{
    min-height:240px
  }
  #category-panel .hero-visual>img{
    width:105%
  }
  .comparison-table thead th:first-child{
    font-size:9px
  }
  .catalog.section{
    padding-top:35px
  }
}
html{
  scroll-behavior:auto
}
.comparison-table .application-row td{
  white-space:pre-line;
  font-size:12px!important;
  line-height:1.75;
  font-weight:400!important;
  color:#485c38!important;
  background:#f0f5e9;
  border-bottom:2px solid #c5d7b0
}
.comparison-table .application-row th{
  background:#e3edda;
  color:#3f5e2b;
  font-size:12px
}
.application-row th small{
  display:block;
  font-size:9px;
  line-height:1.6;
  font-weight:400;
  color:#7b8e6b;
  margin-top:9px
}
.comparison-table tbody>tr:nth-child(3) td{
  font-size:16px;
  font-weight:700;
  color:#334526
}
.application-anchor{
  display:block;
  scroll-margin-top:120px
}
.model-application{
  white-space:pre-line;
  font-size:14px;
  line-height:1.8
}
@media(max-width:760px){
  .application-anchor{
    scroll-margin-top:70px
  }
}
/* Visual introduction complements, rather than replaces, the comparison matrix. */
.model-showcase{
  background:#edf1e7
}
.model-showcase .section-heading{
  align-items:center
}
.model-showcase h2{
  font-size:34px;
  max-width:790px
}
.model-showcase .section-heading>.text-link{
  flex-shrink:0;
  font-size:11px;
  color:#5c773e;
  border-bottom:1px solid #acbc99;
  padding-bottom:8px
}
.visual-model-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px
}
.visual-model{
  display:grid;
  grid-template-columns:44% 56%;
  background:#fff;
  border:1px solid #d7e0cc;
  min-height:265px;
  transition:border-color .15s
}
.visual-model:hover{
  border-color:#8bac5d
}
.visual-model-photo{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#e6ebdf
}
.visual-model-photo:before{
  content:'';
  position:absolute;
  width:160px;
  height:160px;
  border:1px solid #c7d3b9;
  border-radius:50%
}
.visual-model-photo img{
  position:relative;
  max-width:none;
  width:145%;
  height:auto;
  mix-blend-mode:multiply;
  clip-path:inset(0 19% 18% 15%)
}
.visual-model-copy{
  padding:28px 25px
}
.visual-model-copy h3{
  font-size:25px;
  margin:10px 0 15px;
  font-weight:800
}
.visual-model-copy>p{
  font-size:12px;
  color:#637455;
  line-height:1.75;
  min-height:63px
}
.visual-model-copy .eyebrow{
  font-size:8px
}
.visual-model-facts{
  font-size:11px;
  font-weight:700;
  color:#617c3f;
  padding:12px 0;
  margin:15px 0;
  border-block:1px solid #e2e9d9
}
.visual-model-copy>.text-link{
  font-size:10px;
  color:#506b34
}
.detail-hero{
  padding:45px 0 60px
}
.detail-hero h1 small{
  display:block;
  font-size:14px;
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#6b834f;
  margin-bottom:15px
}
.detail-hero .lead{
  font-size:19px;
  line-height:1.65;
  max-width:510px
}
.detail-hero>img{
  padding:20px;
  background:#e8eee0;
  border:1px solid #d9e2cc;
  width:100%;
  min-height:300px;
  object-fit:contain
}
.model-purpose{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:65px;
  background:#e8efdf;
  padding:38px;
  margin:0 0 50px
}
.model-purpose h2{
  font-size:30px
}
.model-purpose p{
  margin:0;
  align-self:center;
  color:#516740;
  line-height:1.85;
  font-size:15px
}
.detail-info{
  padding-top:30px
}
@media(max-width:1000px){
  .visual-model{
    grid-template-columns:1fr
  }
  .visual-model-photo{
    height:210px
  }
  .visual-model-photo img{
    width:105%
  }
  .model-showcase .section-heading{
    display:block
  }
  .model-showcase .section-heading>.text-link{
    width:max-content;
    margin-bottom:20px
  }
  .model-purpose{
    gap:30px
  }
  .visual-model-copy>p{
    min-height:42px
  }
}
@media(max-width:600px){
  .model-showcase h2{
    font-size:28px
  }
  .visual-model-grid{
    grid-template-columns:1fr
  }
  .visual-model{
    grid-template-columns:40% 60%;
    min-height:230px
  }
  .visual-model-photo{
    height:auto
  }
  .visual-model-photo img{
    width:175%;
    clip-path:inset(0 23% 18% 19%)
  }
  .visual-model-copy{
    padding:20px 15px
  }
  .visual-model-copy h3{
    font-size:21px
  }
  .visual-model-copy>p{
    font-size:11px;
    min-height:0
  }
  .visual-model-facts{
    font-size:10px
  }
  .visual-model-copy>.text-link{
    font-size:9px
  }
  .detail-hero .lead{
    font-size:17px
  }
  .detail-hero>img{
    min-height:220px
  }
  .model-purpose{
    grid-template-columns:1fr;
    padding:25px;
    gap:5px
  }
  .model-purpose h2{
    font-size:27px
  }
  .model-purpose p{
    font-size:13px
  }
}
.visual-model-photo img{
  width:120%;
  clip-path:inset(0 9% 7% 9%)
}
@media(max-width:600px){
  .visual-model-photo img{
    width:135%;
    clip-path:inset(0 13% 7% 12%)
  }
}
/* Mobile: one full-width model sheet; desktop keeps the comparison matrix. */
.mobile-model-picker{
  display:none
}
@media(max-width:760px){
  .comparison-scroll{
    overflow:visible;
    max-height:none;
    border:1px solid #c9d3bf;
    scrollbar-width:auto
  }
  .mobile-model-picker{
    display:block;
    position:sticky;
    top:46px;
    z-index:5;
    background:#283323;
    padding:13px 15px 15px;
    margin:0;
    border-bottom:3px solid #91b650;
    color:#d5e6c0
  }
  .mobile-model-picker>span{
    font-size:11px;
    letter-spacing:.5px
  }
  .mobile-model-picker select{
    font-size:16px;
    font-weight:700;
    min-height:46px;
    margin:8px 0 0;
    background:#f5f8ef;
    color:#283a1e;
    border-color:#a1b887;
    padding:10px 12px;
    width:100%
  }
  .comparison-table{
    display:block;
    min-width:0;
    width:100%;
    table-layout:auto;
    font-size:14px
  }
  .comparison-table thead{
    display:none
  }
  .comparison-table tbody{
    display:block
  }
  .comparison-table tbody tr{
    display:grid;
    grid-template-columns:39% minmax(0,1fr);
    border-bottom:1px solid #dbe2d3
  }
  .comparison-table tbody th,.comparison-table tbody td{
    display:block;
    position:static!important;
    width:auto!important;
    min-width:0;
    border:0;
    padding:14px 12px;
    overflow-wrap:break-word
  }
  .comparison-table tbody th{
    font-size:12px;
    line-height:1.6
  }
  .comparison-table tbody td{
    font-size:14px;
    line-height:1.7;
    background:#fff
  }
  .comparison-table .mobile-excluded{
    display:none!important
  }
  .comparison-table tbody tr.application-row,.comparison-table tbody tr.feature-row,.comparison-table tbody tr.comparison-actions{
    grid-template-columns:minmax(0,1fr)
  }
  .comparison-table .application-row th,.comparison-table .feature-row th,.comparison-table .comparison-actions th{
    padding:13px 15px 7px;
    border:0;
    background:#eaf0e2
  }
  .comparison-table .application-row td{
    font-size:14px!important;
    padding:10px 15px 18px;
    background:#f0f5e9!important;
    line-height:1.8
  }
  .application-row th small{
    font-size:10px;
    display:inline;
    margin-left:10px
  }
  .comparison-table .feature-row td{
    padding:15px
  }
  .comparison-table li{
    font-size:14px;
    line-height:1.8;
    margin-bottom:14px
  }
  .comparison-table td.unspecified{
    font-size:13px
  }
  .comparison-table .table-request{
    font-size:14px;
    display:block;
    padding:12px 15px;
    background:#91b650;
    color:#223315;
    border:0;
    text-align:center
  }
  .table-scroll-hint{
    font-size:0
  }
  .table-scroll-hint:after{
    content:'Выберите модель — все параметры будут показаны ниже';
    font-size:11px;
    line-height:1.6
  }
}
/* Reviewed comparison: page scroll, clear groups, restrained visual hierarchy. */
.comparison-scroll{
  overflow:visible;
  max-height:none;
  border:0;
  background:white
}
.comparison-table{
  min-width:0;
  font-size:14px;
  border-top:1px solid #ced6c7;
  table-layout:fixed
}
.comparison-table thead th{
  top:87px;
  background:#293323;
  padding:19px 14px;
  font-size:14px;
  box-shadow:0 1px 0 #c7d2bc
}
.comparison-table thead th:first-child{
  background:#293323;
  color:#bfcbb3
}
.comparison-table tbody th,.comparison-table tbody td{
  border-right:0;
  border-bottom:1px solid #e1e6dc;
  padding:15px 14px;
  font-size:14px;
  line-height:1.65
}
.comparison-table tbody th:first-child{
  background:#f6f8f2;
  color:#526049;
  font-size:13px;
  font-weight:500;
  position:static
}
.comparison-table tbody tr:nth-child(even) td{
  background:#fff
}
.comparison-table tbody tr:hover td{
  background:#f7faf2
}
.comparison-table tbody>tr:nth-child(-n+3) td{
  font-size:14px;
  font-weight:400;
  color:#34412c
}
.comparison-table tbody tr[data-parameter="Поток масла"] td,.comparison-table tbody tr[data-parameter="Мощность трактора"] td,.comparison-table tbody tr[data-parameter="Масса экскаватора"] td,.comparison-table tbody tr[data-parameter="Диаметр древесины, до"] td{
  font-weight:700
}
.comparison-table .parameter-group th:first-child{
  width:auto;
  background:#edf2e5;
  color:#486037;
  font-size:12px;
  font-weight:700;
  letter-spacing:.3px;
  padding:14px;
  text-transform:uppercase;
  border-top:18px solid white
}
.comparison-table .disclosure-row th:first-child{
  width:auto;
  background:#f7f9f3;
  padding:0
}
.disclosure-row button{
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  font-size:14px;
  font-weight:600;
  padding:18px 14px;
  color:#476131
}
.disclosure-row button:hover{
  background:#edf4e3
}
.comparison-table .application-row td{
  background:#fbfcf8!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.85;
  color:#4d5b43!important
}
.comparison-table .feature-row li{
  font-size:13px;
  line-height:1.8
}
.comparison-table td.unspecified{
  font-size:14px;
  color:#939c8a;
  font-style:normal
}
.comparison-table .comparison-actions td{
  background:#fff!important;
  padding-top:20px;
  padding-bottom:20px
}
.table-request{
  font-size:12px
}
.mobile-missing{
  display:none
}
@media(max-width:760px){
  .comparison-table{
    display:block;
    min-width:0;
    table-layout:auto
  }
  .comparison-table thead{
    display:none
  }
  .comparison-table tbody th,.comparison-table tbody td{
    padding:13px 12px
  }
  .comparison-table tbody th:first-child{
    font-size:12px
  }
  .comparison-table tbody tr.parameter-group,.comparison-table tbody tr.disclosure-row{
    display:block
  }
  .comparison-table .parameter-group th:first-child{
    padding:14px 12px;
    border-top:12px solid white;
    font-size:11px
  }
  .mobile-model-picker{
    display:flex;
    align-items:center;
    gap:10px;
    top:46px;
    padding:8px 12px;
    border-bottom:2px solid #9cb97b;
    min-height:62px
  }
  .mobile-model-picker select{
    flex:1;
    min-width:0;
    width:0;
    font-size:15px;
    min-height:42px;
    padding:9px;
    margin:0
  }
  .mobile-model-link{
    font-size:11px;
    white-space:nowrap;
    color:#e0edcd;
    text-decoration:underline;
    text-underline-offset:4px
  }
  .mobile-missing-row{
    display:none!important
  }
  .mobile-missing:not([hidden]){
    display:block;
    margin:18px 0;
    border:1px solid #d9e1cf;
    background:#fafcf6;
    padding:0 15px
  }
  .mobile-missing summary{
    font-size:13px;
    padding:15px 0;
    color:#5d6d4f
  }
  .mobile-missing li{
    font-size:13px;
    color:#738067;
    margin:7px 0
  }
  .comparison-table .application-row td{
    font-size:14px!important
  }
  .comparison-table .feature-row li{
    font-size:14px
  }
  .comparison-table .comparison-actions .table-request{
    font-size:14px
  }
  .table-scroll-hint:after{
    content:'Выберите модель для просмотра характеристик'
  }
}
/* Compare on desktop/tablet, select one model only on narrow phone layouts. */
@media(min-width:761px){
  .comparison-table{
    display:table
  }
  .comparison-table thead{
    display:table-header-group
  }
  .comparison-table tbody{
    display:table-row-group
  }
  .comparison-table tbody tr{
    display:table-row
  }
  .comparison-table th,.comparison-table td{
    display:table-cell
  }
  .mobile-model-picker,.mobile-missing{
    display:none!important
  }
}
@media(min-width:761px) and (max-width:1100px){
  .comparison-table th:first-child{
    width:135px
  }
  .comparison-table thead th,.comparison-table tbody td{
    font-size:13px;
    padding:12px 9px
  }
  .comparison-table tbody th:first-child{
    font-size:12px;
    padding:12px 9px
  }
}
/* Prominent, accessible disclosure controls within the comparison table. */
.comparison-table .disclosure-row th:first-child{
  padding:10px 0 0;
  background:#fff;
  border-bottom:0
}
.disclosure-row button{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:80px;
  padding:18px 22px;
  border:1px solid #c8d8b9;
  border-left:4px solid #86a953;
  border-radius:8px;
  background:#f0f5e9;
  color:#334c24;
  text-align:left;
  transition:background .18s,border-color .18s,box-shadow .18s
}
.disclosure-row button:hover{
  background:#e7f0dc;
  border-color:#99b579;
  box-shadow:0 2px 8px #354d2010
}
.disclosure-row button:focus-visible{
  outline:3px solid #608536;
  outline-offset:3px
}
.disclosure-copy{
  display:block;
  flex:1;
  min-width:0
}
.disclosure-copy strong{
  display:block;
  font-size:15px;
  font-weight:700;
  line-height:1.45
}
.disclosure-copy small{
  display:block;
  font-size:12px;
  font-weight:400;
  color:#728462;
  line-height:1.55;
  margin-top:4px
}
.disclosure-state{
  font-size:11px;
  font-weight:600;
  color:#66834a;
  white-space:nowrap
}
.disclosure-state:before{
  content:'Показать'
}
.disclosure-chevron{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#e1ebd4;
  color:#526f35;
  flex-shrink:0;
  transition:background .18s
}
.disclosure-chevron svg{
  display:block;
  transition:transform .2s
}
.disclosure-row button[aria-expanded=true]{
  background:#e6efd9;
  border-color:#a0ba80;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  box-shadow:none
}
.disclosure-row button[aria-expanded=true] .disclosure-chevron{
  background:#789b4c;
  color:#fff
}
.disclosure-row button[aria-expanded=true] .disclosure-chevron svg{
  transform:rotate(180deg)
}
.disclosure-row button[aria-expanded=true] .disclosure-state:before{
  content:'Скрыть'
}
.comparison-table .application-row th,.comparison-table .application-row td,.comparison-table .feature-row th,.comparison-table .feature-row td{
  border-bottom:1px solid #c8d8b9;
  background:#f9fbf5!important;
  padding-top:20px;
  padding-bottom:20px
}
.comparison-table .application-row th:first-child,.comparison-table .feature-row th:first-child{
  border-left:4px solid #a0ba80
}
.comparison-table .application-row td:last-child,.comparison-table .feature-row td:last-child{
  border-right:1px solid #c8d8b9
}
@media(max-width:760px){
  .disclosure-row button{
    padding:16px 14px;
    gap:12px;
    min-height:82px;
    border-radius:7px
  }
  .disclosure-copy strong{
    font-size:14px
  }
  .disclosure-copy small{
    font-size:11px;
    line-height:1.5
  }
  .disclosure-state{
    display:none
  }
  .disclosure-chevron{
    width:30px;
    height:30px
  }
  .comparison-table .application-row th:first-child,.comparison-table .feature-row th:first-child{
    border-left:0
  }
  .comparison-table .application-row td,.comparison-table .feature-row td{
    border-right:0!important
  }
}
@media(prefers-reduced-motion:reduce){
  .disclosure-row button,.disclosure-chevron,.disclosure-chevron svg{
    transition:none
  }
}
/* Animate inner blocks: native table cells keep their column alignment. */
.comparison-table .animated-disclosure-cell{
  padding-top:0!important;
  padding-bottom:0!important
}
.disclosure-panel{
  overflow:hidden
}
.disclosure-content{
  padding:20px 0;
  display:flow-root
}
.comparison-table thead th a{
  display:inline
}
.model-info{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  margin-left:9px;
  vertical-align:middle;
  border:1px solid #829c6b;
  border-radius:50%;
  color:#dbeacb;
  background:transparent;
  font:italic 700 15px Georgia,serif;
  cursor:pointer
}
.model-info:hover{
  background:#547039;
  color:white
}
.model-info:focus-visible{
  outline:3px solid #b3d684;
  outline-offset:3px
}
.comparison-table .application-summary-row td{
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.65;
  color:#465b37!important;
  background:#f0f5e9!important;
  padding-block:15px
}
.comparison-table .application-summary-row th{
  background:#e6eeda;
  color:#466034
}
.model-info-dialog{
  width:min(560px,calc(100vw - 32px));
  max-height:calc(100dvh - 48px);
  overflow:auto;
  padding:36px;
  border:1px solid #a4b68e;
  border-radius:12px;
  background:#f8faf4;
  color:#26331e;
  box-shadow:0 20px 80px #15200c44
}
.model-info-dialog::backdrop{
  background:#13200b80
}
.model-info-dialog h2{
  font-size:28px;
  margin:18px 0
}
.model-info-dialog .source-application{
  white-space:pre-line;
  line-height:1.85;
  font-size:14px;
  margin-bottom:0
}
.model-info-dialog>form{
  margin:0
}
.info-close{
  position:absolute;
  top:10px;
  right:12px;
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  color:#586d46;
  font-size:28px
}
.model-info-dialog .eyebrow{
  padding-right:20px;
  font-size:9px
}
@media(max-width:760px){
  .model-info-dialog{
    padding:30px 24px
  }
  .model-info{
    width:30px;
    height:30px;
    margin:7px 0 0 5px
  }
  .comparison-table .application-summary-row td{
    font-size:12px!important
  }
}
.mobile-info{
  flex-shrink:0;
  margin:0
}
.visual-model-facts{
  display:grid;
  gap:8px
}
.visual-model-facts>div{
  display:flex;
  flex-wrap:wrap;
  gap:4px 12px;
  justify-content:space-between;
  padding:0;
  border:0;
  font-size:11px;
  line-height:1.6
}
.visual-model-facts dt{
  color:#748368;
  font-weight:400
}
.visual-model-facts dd{
  margin:0;
  color:#4e6b31;
  font-weight:700;
  text-align:left
}
@media(max-width:600px){
  .visual-model-facts>div{
    display:block;
    font-size:11px
  }
  .visual-model-facts dd{
    margin-top:1px
  }
}
/* The catalogue uses lossless equipment crops; markings live on model pages. */
.visual-model-photo{
  background:#fff;
  min-height:180px
}
.visual-model-photo::before{
  display:none
}
.visual-model-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  padding:16px;
  object-fit:contain;
  object-position:center;
  clip-path:none;
  transform:none;
  mix-blend-mode:normal
}
/* Keep model names and their help controls together in a compact heading. */
.model-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  align-items:start;
  gap:6px
}
.comparison-table .model-heading a{
  display:block;
  min-width:0;
  overflow-wrap:anywhere
}
.model-info{
  flex-shrink:0;
  width:18px;
  height:18px;
  padding:0;
  margin:0;
  border:1px solid #c4dd9d;
  border-radius:50%;
  background:#c4dd9d;
  color:#293323;
  font:700 13px/1 Arial,sans-serif;
  box-shadow:none;
  cursor:pointer;
  transition:background .15s
}
.model-info:hover{
  background:#e3f1cf;
  color:#1f2b17
}
.model-info:focus-visible{
  outline:2px solid #e3f1cf;
  outline-offset:3px
}
@media(max-width:760px){
  .mobile-info{
    width:30px;
    height:30px;
    margin:0
  }
}
.catalog .section-heading{
  margin-bottom:32px
}
@media(min-width:761px) and (max-width:1100px){
  .comparison-table .model-heading a{
    font-size:12px;
    overflow-wrap:anywhere
  }
}
/* Native, responsive feature content; the original sheet is optional reference. */
.model-construction{
  padding:48px 0;
  border-top:1px solid var(--line)
}
.model-construction h2{
  font-size:clamp(25px,3vw,36px);
  margin:14px 0 28px
}
.construction-source{
  border:1px solid #cbd5c2;
  background:#eef2e8
}
.construction-source summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 24px;
  cursor:pointer;
  list-style:none;
  color:#344729;
  font-size:15px;
  font-weight:700
}
.construction-source summary::-webkit-details-marker{
  display:none
}
.construction-source summary small{
  display:block;
  margin-top:5px;
  font-size:12px;
  font-weight:400;
  color:#65755a
}
.source-toggle{
  font-size:25px;
  font-weight:400;
  transition:transform .2s
}
.construction-source[open] .source-toggle{
  transform:rotate(45deg)
}
.construction-source summary:hover{
  background:#e5eddb
}
.construction-source summary:focus-visible{
  outline:3px solid #729c45;
  outline-offset:3px
}
.construction-figure{
  margin:0;
  padding:0 24px 24px
}
.construction-image{
  display:block;
  background:#fff;
  padding:16px;
  cursor:zoom-in
}
.construction-image img{
  display:block;
  width:100%;
  max-width:1000px;
  height:auto;
  margin:auto
}
.construction-enlarge{
  display:block;
  border-top:1px solid var(--line);
  padding-top:14px;
  margin-top:16px;
  color:#4e6b31;
  font-size:13px;
  font-weight:700
}
.construction-image:focus-visible{
  outline:3px solid #729c45;
  outline-offset:3px
}
.construction-figure figcaption{
  margin-top:12px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6
}
@media(max-width:760px){
  .model-construction{
    padding:32px 0
  }
  .construction-source summary{
    padding:16px
  }
  .construction-figure{
    padding:0 12px 16px
  }
  .construction-image{
    padding:8px
  }
  .construction-enlarge{
    font-size:12px
  }
}
/* Application lists retain their semantic structure in pages and dialogs. */
.application-copy{
  white-space:normal;
  line-height:1.8
}
.application-copy p{
  margin:0 0 12px
}
.application-copy p:last-child{
  margin-bottom:0
}
.application-copy ul{
  list-style:disc;
  margin:12px 0 0;
  padding-left:22px
}
.application-copy li{
  padding-left:3px;
  margin:0 0 10px
}
.application-copy li:last-child{
  margin-bottom:0
}
.application-copy li::marker{
  color:#658442
}
.model-purpose .application-copy{
  font-size:16px;
  color:#465b37
}
.model-info-dialog .application-copy{
  white-space:normal
}
@media(max-width:760px){
  .model-purpose .application-copy{
    font-size:14px
  }
}
/* Equipment photographs have their own bounds: no CSS clipping of machinery. */
.visual-model-photo img{
  padding:14px;
  object-fit:contain
}
.detail-hero>img{
  background:#fff;
  mix-blend-mode:normal;
  padding:24px;
  height:auto;
  max-height:460px
}
#category-panel .hero-visual>img,
#category-panel[data-category=excavator] .hero-visual>img{
  clip-path:none;
  width:86%;
  height:220px;
  margin:0;
  object-fit:contain;
  object-position:center;
  mix-blend-mode:multiply
}
.model-markings{
  padding:0 0 48px
}
.model-markings h2{
  font-size:clamp(25px,3vw,36px);
  margin:14px 0 18px
}
.markings-intro{
  max-width:760px;
  font-size:14px;
  line-height:1.75;
  color:#55614d;
  margin:0 0 28px
}
.marking-tiles{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  list-style:none;
  margin:26px 0 0;
  padding:0
}
.marking-tile{
  display:flex;
  flex:0 1 220px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:0;
  min-height:200px;
  padding:20px 16px;
  background:transparent;
  border:0
}
.marking-tile img{
  display:block;
  width:100%;
  max-width:220px;
  height:140px;
  object-fit:contain
}
.marking-option{
  font-size:12px;
  line-height:1.5;
  text-align:center;
  color:#586a48
}
.markings-columns{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
  align-items:start
}
.markings-column{
  background:#fff;
  border:1px solid #d3ddc9;
  padding:22px;
  min-width:0
}
.markings-column h3{
  font-size:18px;
  line-height:1.35;
  margin:0 0 20px;
  color:#2d3826
}
.markings-column h3>span{
  display:block;
  font-size:11px;
  letter-spacing:1.8px;
  color:#60764a;
  margin-top:8px
}
.markings-group-note{
  font-size:12px;
  color:#65725b;
  line-height:1.6;
  margin:-8px 0 18px
}
.markings-list{
  list-style:none;
  padding:0;
  margin:0
}
.markings-list>li{
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px 0;
  border-top:1px solid #e2e7dc;
  min-width:0
}
.markings-list img{
  display:block;
  object-fit:contain;
  width:100px;
  height:76px;
  flex:0 0 100px
}
.markings-list strong{
  display:block;
  font-size:14px;
  line-height:1.4;
  overflow-wrap:anywhere;
  color:#303b29
}
.markings-list li>div>span{
  display:block;
  font-size:13px;
  line-height:1.55;
  color:#59664f;
  margin-top:5px
}
.markings-column:only-child .markings-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:28px
}
.markings-source{
  border:1px solid #d3ddc9;
  margin-top:20px;
  background:#fff
}
.markings-note{
  font-size:13px;
  line-height:1.7;
  color:#4e5d44;
  max-width:850px;
  margin:20px 0
}
.markings-source summary{
  padding:18px 22px;
  font-size:14px;
  color:#405634;
  font-weight:600;
  min-height:48px
}
.markings-source figure{
  margin:0;
  padding:0 22px 22px
}
.markings-source a{
  display:block;
  cursor:zoom-in
}
.markings-source img{
  display:block;
  width:100%;
  max-width:1100px;
  height:auto;
  margin:0 auto;
  background:#fff
}
.markings-source a>span{
  display:block;
  border-top:1px solid #d3ddc9;
  margin-top:16px;
  padding-top:14px;
  font-size:13px;
  font-weight:600;
  color:#4d6937
}
.markings-source summary:focus-visible,.markings-source a:focus-visible{
  outline:3px solid #729c45;
  outline-offset:3px
}
@media(max-width:1000px){
  .markings-column:only-child .markings-list{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:600px){
  .marking-tiles{
    gap:12px
  }
  .marking-tile{
    flex-basis:calc((100% - 12px)/2);
    padding:16px 12px;
    min-height:170px;
    gap:8px
  }
  .marking-tile img{
    height:105px
  }
  .visual-model{
    grid-template-columns:1fr
  }
  .visual-model-photo{
    height:220px;
    min-height:220px
  }
  .visual-model-photo img{
    padding:16px 22px
  }
  .visual-model-copy{
    padding:20px 24px
  }
  .visual-model-copy>p{
    font-size:14px;
    line-height:1.65
  }
  .visual-model-copy>.text-link{
    font-size:13px;
    padding:8px 0
  }
  .visual-model-facts>div{
    display:flex;
    font-size:12px
  }
  .visual-model-facts dd{
    margin:0
  }
  .markings-columns{
    grid-template-columns:1fr
  }
  .markings-column:only-child .markings-list{
    grid-template-columns:1fr
  }
  .markings-column{
    padding:20px
  }
  .model-markings{
    padding-bottom:32px
  }
  .detail-hero>img{
    max-height:330px;
    padding:16px
  }
  #category-panel .hero-visual>img{
    height:190px;
    width:90%
  }
}

/* UX review: clearer reading hierarchy and a compact comparison of two models. */
nav a,.header-cta,.hero .button{font-size:13px;text-transform:none;letter-spacing:0}
.header-contact .header-cta{font-size:12px}
#category-panel .hero-copy>p{font-size:16px;line-height:1.7}
.section-heading p,.engineering-grid p,.technology-copy>p{font-size:15px;color:#4d5748}
.eyebrow{font-size:11px;letter-spacing:1.5px}
h2{text-transform:none;letter-spacing:-.6px}
.visual-model-copy>p{font-size:15px;line-height:1.65;color:#4d5748}
.visual-model-copy>.text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;color:#405829}
.visual-model-facts>div{font-size:13px}
.visual-model-photo{background:#fff}
.visual-model-photo img{padding:12px;width:100%;height:100%;object-fit:contain}
.request-note{color:#c0cdb3!important}
.pair-comparison{border:1px solid #bccba9;background:#f5f8ef;margin:0 0 24px}
.pair-comparison>summary{padding:14px 16px;cursor:pointer;font-weight:700;font-size:16px;color:#344927;min-height:48px}
.pair-comparison>summary:hover{background:#e9f0de}
.pair-content{padding:0 16px 16px}
.pair-content>p{font-size:13px;color:#65705c;margin:0 0 12px;padding:0}
.pair-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none}
.pair-controls label{font-size:12px;color:#65705c;display:grid;gap:5px;min-width:0;margin:0}
.pair-controls select{appearance:none;-webkit-appearance:none;min-height:44px;width:100%;min-width:0;margin:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2365705c' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;color:#202421;border:1px solid #cbd3c4;padding:10px 36px 10px 12px;font:600 14px Arial,sans-serif;border-radius:4px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.pair-controls select:hover{border-color:#8c9e7b}
.pair-controls select:focus-visible{outline:2px solid #729447;outline-offset:1px;border-color:#729447}
.pair-filter{display:flex;align-items:center;gap:8px;min-height:36px;margin:6px 0;font-size:13px;cursor:pointer}
.pair-filter input{width:17px;height:17px;margin:0;accent-color:#587d2b}
.pair-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.55;background:#fff}
.pair-table th,.pair-table td{padding:14px;text-align:left;vertical-align:top;border:1px solid #d7ddd2;overflow-wrap:anywhere}
.pair-table thead th{background:#293323;color:#f1f5e9;font-weight:700}
.pair-table tbody th{font-weight:400}
.pair-table .pair-difference{background:#eaf1dd}
.pair-table a{color:#405829;text-decoration:underline;text-underline-offset:4px;display:inline-block;min-height:32px}
.pair-content>.pair-status{margin:14px 0 0;font-size:13px}
.pair-comparison summary:focus-visible,.pair-filter input:focus-visible{outline:3px solid #658d35;outline-offset:3px}
@media(max-width:760px){
 #category-panel .hero-copy>p{font-size:15px}
 .hero .button{font-size:13px;min-height:48px}
 .pair-content{padding:0 10px 16px}
 .pair-comparison>summary{padding:16px 12px}
 .pair-controls{gap:10px}
 .pair-controls select{font-size:13px;padding:10px 30px 10px 10px;background-position:right 8px center}
 .pair-table{font-size:12px}
 .pair-table th,.pair-table td{padding:10px 6px}
 .section-heading p,.engineering-grid p{font-size:14px}
 .engineering-grid{grid-template-columns:1fr}
 .hero-secondary{margin-left:0}
 .hero .button{margin-right:8px;margin-bottom:8px}
}
.comparison-scroll.pair-mode-active{display:none}
.technology-enlarge{display:block;cursor:zoom-in}
.technology-enlarge>span{display:block;padding:14px 0 4px;border-top:1px solid var(--line);font-size:13px;font-weight:600;color:#405829}
.technology-enlarge:focus-visible{outline:3px solid #658d35;outline-offset:3px}

/* Browser review: tablet actions and sticky boundaries use their real layout. */
.hero-actions{display:flex;gap:10px;align-items:stretch;margin-top:24px}
.hero .hero-actions .button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:auto;margin:0;flex:1;padding:15px 12px;font-size:13px;white-space:nowrap}
.hero .hero-actions .button span{margin:0}
.engineering>.section-heading{display:block}
.engineering>.section-heading>p{max-width:none;margin:12px 0 0;font-size:13px;line-height:1.6;color:#77816f}
.engineering>.section-heading>p br{display:none}
.comparison-table thead th,.mobile-model-picker{top:var(--category-bar-height,87px)}
html{scroll-padding-top:calc(var(--category-bar-height,87px) + 16px)}
@media(min-width:761px) and (max-width:1000px){
 .hero .hero-actions .button{font-size:12px;padding:14px 9px;gap:6px}
}
@media(max-width:760px){
 .hero .hero-actions .button{font-size:12px;padding:14px 9px;gap:6px}
}
@media(max-width:380px){
 .hero .hero-actions .button{font-size:11px;padding:14px 7px;gap:4px}
}

/* Contact details remain readable at every viewport width. */
header .header-contact{display:flex;align-items:center;gap:22px;flex-shrink:0}
header .header-phone{display:inline-flex;align-items:center;gap:9px;min-height:44px;width:auto;height:auto;color:#fff;font-size:16px;font-weight:700;white-space:nowrap;line-height:1.4}
header .header-phone-number{display:inline}
header .header-phone-icon{display:block;flex-shrink:0;color:#c6e795;width:20px;height:20px}
header .header-phone:hover{color:#c6e795}
header .header-contact .header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:none;padding:12px 20px;border:1px solid #90b83e;border-radius:0;background:#90b83e;color:#20261d;font-size:14px;font-weight:700;line-height:1.4;letter-spacing:0;text-transform:none;white-space:nowrap;transition:background .15s}
header .header-cta-label{display:block;margin:0;text-align:center}
header .header-contact .header-cta:hover{background:#a2ca50;border-color:#a2ca50}
header .header-phone:focus-visible,header .header-cta:focus-visible{outline:2px solid #d8ebbb;outline-offset:4px}
@media(min-width:761px) and (max-width:1150px){
 header{display:grid;grid-template-columns:1fr auto;height:auto;min-height:100px;padding:16px 5%;gap:10px 24px}
 header .brand{grid-column:1;grid-row:1}
 header nav{grid-column:1;grid-row:2;gap:20px}
 header .header-contact{grid-column:2;grid-row:1 / 3;gap:16px}
 header .header-phone{font-size:14px}
 header .header-contact .header-cta{padding:12px 16px;font-size:13px}
}
@media(max-width:760px){
 header{height:auto;min-height:83px;display:flex;flex-wrap:wrap;padding:16px 5%;gap:14px;justify-content:space-between}
 header .header-contact{gap:16px}
 header .header-phone{font-size:14px}
 header .header-contact .header-cta{font-size:13px;padding:12px 16px}
}
@media(max-width:700px){
 header .header-contact{width:100%;justify-content:space-between;padding-top:12px;border-top:1px solid #404a38;gap:12px}
}
@media(max-width:380px){
 header .header-phone{font-size:13px;gap:6px}
 header .header-phone-icon{width:16px;height:16px}
 header .header-contact .header-cta{font-size:12px;padding:12px 10px}
}

/* Explicit modes share a single comparison area. */
.comparison-mode{display:inline-flex;gap:4px;padding:4px;margin:0 0 18px;border:1px solid #d4dccd;border-radius:6px;background:#eef2e8}
.comparison-mode[hidden]{display:none}
.comparison-mode button{min-height:42px;padding:10px 20px;border:0;border-radius:4px;background:transparent;color:#526248;font:600 14px Arial,sans-serif;cursor:pointer}
.comparison-mode button[aria-pressed=true]{background:#293323;color:#fff;box-shadow:0 1px 3px #20242120}
.comparison-mode button:hover:not([aria-pressed=true]){background:#e0e8d6}
.comparison-mode button:focus-visible{outline:2px solid #729447;outline-offset:2px}
section.pair-comparison{border:0;background:transparent;margin:0}
.pair-content{padding:0}
.pair-content>p{margin:0 0 12px}
.pair-controls{max-width:680px}
.pair-filter{margin:6px 0 12px}
@media(max-width:760px){
 .comparison-mode{display:flex;width:100%}
 .comparison-mode[hidden]{display:none}
 .comparison-mode button{flex:1;padding:10px 12px;font-size:13px}
 .pair-content{padding:0}
}

/* Unresolved decisions from the client review session. */
.review-notice{padding:14px 18px;margin:0 0 20px;background:#fff6dc;border:1px solid #dcc27c;border-left:3px solid #b38324;color:#664b14;font-size:13px;line-height:1.6}
.review-notice p{margin:6px 0;padding:0;font-size:13px;color:inherit}
.review-notice ul{margin:6px 0 0;padding-left:18px}
.review-notice li{margin:5px 0}
.comparison-table td.review-pending,.pair-table td.review-pending{background:#fff3cf!important;color:#674911!important;box-shadow:inset 3px 0 #d2a54d}
.request>.review-email{grid-column:1 / -1;order:3;color:#664b14}
.contact-placeholders>a{display:block;margin:6px 0;color:inherit}
.result-actions #request-email{width:auto;font-size:13px;padding:10px 14px;min-height:44px}

/* Contact form follows the site palette and square-edged controls. */
.request { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px; align-items: start; }
.request .contact-intro { padding-top: 24px; }
.request .contact-intro h2 { max-width: 440px; }
.request .contact-intro > p { max-width: 390px; font-size: 17px; line-height: 1.7; }
.request #request-form { min-width: 0; padding: 0; background: transparent; color: #eef5e5; border-radius: 0; box-shadow: none; }
.request #request-form label, .request .contact-method legend { color: #dce6d2; font-size: 14px; font-weight: 600; }
.request #request-form > label { display: block; margin: 18px 0 7px; }
.request #request-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea) { width: 100%; min-width: 0; background: #30382a; color: #eef5e5; border: 1px solid #657455; border-radius: 0; padding: 12px 14px; font: inherit; font-size: 16px; line-height: 1.4; }
.request #request-form textarea { resize: vertical; }
.request #request-form input::placeholder, .request #request-form textarea::placeholder { color: #b9c5ac; }
.request #request-form .contact-help, .request .field-optional { display: block; color: #c5d1bc; font-size: 13px; line-height: 1.5; margin: 6px 0 0; }
.request #contact-required { margin: 0 0 18px; font-size: 14px; }
.request .contact-method { margin: 18px 0; padding: 0; border: 0; min-width: 0; }
.request .contact-method legend { padding: 0; margin-bottom: 8px; }
.request .contact-control { background: #30382a; border: 1px solid #657455; border-radius: 0; }
.request .contact-control:focus-within { border-color: #b2cc90; box-shadow: 0 0 0 1px #b2cc90; }
.request .contact-control:has([aria-invalid="true"]) { border-color: #ffb8a7; }
.request .contact-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 0 14px; border-bottom: 1px solid #526145; margin: 0; }
.request .contact-choice label { position: relative; display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; margin: 0; cursor: pointer; border: 0; border-bottom: 2px solid transparent; border-radius: 0; }
.request .contact-choice label:has(input:checked) { color: #d6ebb7; border-bottom-color: #a8c86a; }
.request .contact-choice label:has(input:focus-visible) { background: #445237; }
.request .contact-choice label:has(input:disabled) { opacity: .65; cursor: wait; }
.request .contact-choice input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: inherit; }
.request .contact-consent input { width: 18px; height: 18px; margin: 0; flex: 0 0 18px; accent-color: #59752d; }
.request [data-contact-field] > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.request #request-form .contact-control :is(#contact-phone, #contact-email) { border: 0; border-radius: 0; padding: 16px 14px; min-height: 56px; background: transparent; outline: none; box-shadow: none; }
.request #request-form .contact-control .contact-help { margin: 0 14px 14px; font-size: 12px; }
.request .contact-control .field-error { margin: 0 14px 12px; }
.request .contact-equipment { display: grid; grid-template-columns: 1fr; gap: 16px; }
.request .contact-equipment label { display: block; min-height: 0; margin-bottom: 7px; }
.request .field-optional { display: inline; font-weight: 400; }
.request #request-form .contact-consent { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; margin-top: 18px; font-size: 13px; font-weight: 400; cursor: pointer; }
.request .contact-consent input { margin-top: 2px; }
.request .field-error { display: block; color: #ffb8a7; font-size: 13px; line-height: 1.5; margin-top: 5px; }
.request .field-error:empty { display: none; }
.request #request-form [aria-invalid="true"] { border-color: #ffb8a7; }
.request .contact-errors { padding: 14px 18px; border: 1px solid #ffb8a7; border-radius: 0; background: #382b26; color: #ffe1d8; font-size: 14px; }
.request .contact-errors p { color: inherit; margin: 0 0 8px; }
.request .contact-errors ul { padding-left: 18px; margin: 0; }
.request .contact-errors a { color: inherit; text-decoration: underline; }
.request .contact-submit { display: grid; gap: 6px; margin-top: 20px; }
.request #contact-send { justify-content: space-between; width: 100%; min-height: 52px; border-radius: 0; font-size: 16px; }
.request .contact-alternative[hidden] { display: none; }
.request .contact-alternative { min-height: 44px; padding: 8px; background: none; border: 0; color: #d4e5c1; text-decoration: underline; text-underline-offset: 3px; font: inherit; font-size: 13px; cursor: pointer; }
.request #contact-status { color: #e3eed8; background: #303e27; border-radius: 0; padding: 14px; font-size: 14px; line-height: 1.6; }
.request #contact-status:empty { margin: 0; padding: 0; }
.request #request-result { margin-top: 18px; }
.request #request-result p, .request #request-form noscript p { color: #d4e5c1; }
.request #request-result .result-actions button { color: #d4e5c1; }
.request button:disabled { opacity: .65; cursor: wait; }
.request :is(input, textarea, select, button, a):focus-visible { outline: 2px solid #b2cc90; outline-offset: 3px; }
.request .contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.request [data-contact-field][hidden], .request .contact-errors[hidden] { display: none; }
@media (max-width: 900px) {
  .request { grid-template-columns: 1fr; gap: 24px; }
  .request .contact-intro { padding: 0; }
  .request .contact-intro > p { max-width: 600px; }
  .request .request-note { display: none; }
}
@media (max-width: 600px) {
  .request #request-form { padding: 0; }
  .request .contact-intro > p { font-size: 15px; line-height: 1.5; }
  .request .contact-equipment { grid-template-columns: 1fr; gap: 14px; }
  .request .contact-equipment label { min-height: 0; }
  .request .contact-placeholders { gap: 10px; margin: 18px 0 0; padding: 0; }
  .request .contact-choice label { font-size: 13px; }
}

/* Shared select treatment; native keyboard and mobile selection remain available. */
.request #request-form select#model, .pair-controls select, .mobile-model-picker select {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #c3cdb8;
  border-radius: 0;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23596b48' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: #283122;
  min-height: 48px;
  padding: 12px 44px 12px 14px;
  cursor: pointer;
  box-shadow: 0 1px 2px #23301908;
  transition: border-color .15s, box-shadow .15s;
}
.request #request-form select#model:hover, .pair-controls select:hover, .mobile-model-picker select:hover { border-color: #81946a; }
.request #request-form select#model:focus-visible, .pair-controls select:focus-visible, .mobile-model-picker select:focus-visible { outline: 2px solid #b2cc90; outline-offset: 2px; }
@supports (appearance: base-select) {
  .request #request-form select#model, .pair-controls select, .mobile-model-picker select,
  select::picker(select) { appearance: base-select; }
  select::picker-icon { display: none; }
  select::picker(select) {
    margin-block: 6px;
    padding: 6px;
    background: #fff;
    color: #283122;
    border: 1px solid #d4dccc;
    border-radius: 0;
    box-shadow: 0 12px 32px #18201226;
    max-height: 320px;
    overflow-y: auto;
  }
  select option { padding: 12px; min-height: 44px; border-radius: 0; font: 500 15px/1.4 Arial, sans-serif; }
  select option:checked { background: #eaf0e1; color: #30491f; font-weight: 600; }
  select option:hover, select option:focus { background: #f0f4e9; }
  select option::checkmark { color: #557632; }
}

/* The request section uses the same dark controls as its surrounding panel. */
.request #request-form select#model {
  background-color: #30382a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23c5d1bc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  color: #eef5e5;
  border-color: #657455;
  box-shadow: none;
}
@supports (appearance: base-select) {
  #model::picker(select) { background: #30382a; color: #eef5e5; border-color: #657455; }
  #model option:checked { background: #455536; color: #eef5e5; }
  #model option:hover, #model option:focus { background: #3b492f; }
  #model option::checkmark { color: #c1dd91; }
}
