/* Independent catalog concepts; shared brand header and original card content. */
/* Keep catalog titles on the supplied bold face, never synthesized bold. */
body.proposal[data-catalog-theme] > .hero h1 {
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-style:normal;
  font-synthesis:none;
}
body.proposal {background:#fff;}
body.proposal>.hero {margin-bottom:38px;padding-top:38px;padding-bottom:42px;}
body.proposal>.hero h1 {font-size:60px;}
body.proposal>.hero p {margin-top:16px;}
body.proposal>.wrap {max-width:1280px;padding:0 40px 88px;}
body.proposal>.hero {padding-left:max(40px,calc((100vw - 1200px)/2 - 24px));padding-right:max(40px,calc((100vw - 1200px)/2 - 24px));}
body.proposal .layout {display:grid;grid-template-columns:204px minmax(0,1fr);gap:44px;align-items:start;margin-top:0;}
body.proposal .sidebar {width:auto;min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 12px;top:110px;max-height:calc(100dvh - 132px);}
body.proposal .sidebar .side-head {height:48px;margin:0 0 24px;padding:0;border:0;font-size:17px;font-weight:600;color:#14140f;}
body.proposal .sidebar .g-label {font-size:10px;font-weight:500;color:#878c80;letter-spacing:.09em;margin:0 0 12px;}
body.proposal .sidebar .f-group {margin-bottom:28px;}
body.proposal .sidebar .filter-parent {font-size:12px;padding:10px 5px 10px 24px;line-height:1.5;}
body.proposal .sidebar .filter-child {font-size:11.5px;padding-left:24px;line-height:1.5;}
body.proposal .sidebar .f-pill::before {width:13px;height:13px;border-radius:3px;border-color:#d0d8c8;left:2px;}
body.proposal .sidebar .f-pill.active::before,body.proposal .sidebar .f-pill.partial::before {background:#064e04;border-color:#064e04;}
body.proposal .sidebar .f-pill.active::after {left:6px;width:4px;height:7px;}
body.proposal .sidebar .f-pill.partial::after {left:5px;width:7px;}
body.proposal .sidebar .f-pill.active {background:#eff4e9;color:#064e04;}
body.proposal .sidebar .filter-expand {flex-basis:22px;}
body.proposal .sidebar .filter-children {margin-left:8px;padding-left:6px;}
body.proposal .sidebar .side-clear {border-top:0;text-align:left;font-size:11px;font-weight:400;padding-top:16px;color:#787e70;}
.catalog-search {height:48px;display:flex;align-items:center;gap:12px;padding:0 6px 0 16px;border:1px solid #e2e6dc;border-radius:12px;background:#fafbf7;color:#6e7667;margin-bottom:24px;}
.catalog-search:focus-within {border-color:#7e9873;}
.catalog-search input {flex:1;min-width:0;background:transparent;border:0;outline:0;color:#1c2313;font:13px 'Inter',sans-serif;}
.catalog-search input::placeholder {color:#868b7f;}
.catalog-search button {background:#fff;border:1px solid #e0e5d8;color:#064e04;border-radius:8px;height:34px;padding:0 14px;cursor:pointer;font-size:12px;display:flex;gap:18px;align-items:center;}
.catalog-search button:hover {background:#eef4e8;}
body.proposal #activePills {margin:0 0 20px;}
body.proposal #activePills:empty {display:none;}
:is(body.proposal,.catalog-featured) .cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:0;}
:is(body.proposal,.catalog-featured) .card {min-width:0;min-height:320px;padding:26px;border:1px solid #e2e7db;border-radius:20px;box-shadow:0 3px 10px rgba(28,35,19,.025);background:#fff;}
:is(body.proposal,.catalog-featured) .card:hover {transform:none;border-color:#acbd9c;box-shadow:0 5px 18px rgba(28,35,19,.055);}
:is(body.proposal,.catalog-featured) .card .tags {margin-bottom:19px;}
:is(body.proposal,.catalog-featured) .card {--catalog-accent-surface:linear-gradient(105deg,#f7f8f1 0%,#fdfefb 24%,#fff 42%,#fff 62%,#f6fbf8 82%,#edf7f2 100%);}
:is(body.proposal,.catalog-featured) .card .tag {
  background:radial-gradient(ellipse 38% 130% at 74% 90%,rgba(145,220,220,.35),transparent 80%),radial-gradient(ellipse 24% 140% at 100% 30%,rgba(170,220,191,.42),transparent 80%),radial-gradient(ellipse 24% 120% at 47% 120%,rgba(183,173,225,.28),transparent 90%),linear-gradient(115deg,#f5f5eb 5%,#eff5f0 90%);
  color:#14140f;box-shadow:none;
}
:is(body.proposal,.catalog-featured) .card h2 {font-size:24px;line-height:1.18;font-weight:700;letter-spacing:-.6px;margin-bottom:8px;overflow-wrap:anywhere;}
:is(body.proposal,.catalog-featured) .card .series {font-size:12px;line-height:1.5;min-height:36px;margin-bottom:14px;color:#808675;}
:is(body.proposal,.catalog-featured) .card .desc {font-size:13px;line-height:1.7;color:#5c6354;margin-bottom:24px;}
:is(body.proposal,.catalog-featured) .card .card-actions {padding-top:18px;border-top:0;margin-bottom:18px;gap:9px;}
:is(body.proposal,.catalog-featured) .card .btn-sample,:is(body.proposal,.catalog-featured) .card .btn-compare {font-size:11.5px;height:38px;gap:6px;border-radius:10px;}
/* Quiet hero-inspired edge tints with a white center behind the label. */
:is(body.proposal,.catalog-featured) .card .btn-sample {
  --sample-surface:var(--catalog-accent-surface);
  background:var(--sample-surface);border:1px solid #dfe8e1;color:#064e04;box-shadow:none;
}
/* Keep light surfaces and deepen only the border for interactive states. */
:is(body.proposal,.catalog-featured) .card :is(.btn-compare,.btn-sample) {
  transition:border-color .22s ease;
}
:is(body.proposal,.catalog-featured) .card .btn-compare:is(:hover,:focus-visible,:active,.on) {background:#fff;color:#4d5641;}
:is(body.proposal,.catalog-featured) .card .btn-sample:is(:hover,:focus-visible,:active,.on) {background:var(--sample-surface);color:#064e04;}
:is(body.proposal,.catalog-featured) .card :is(.btn-compare,.btn-sample):is(:hover,:focus-visible,:active,.on) {
  border-color:#9aaa9f;box-shadow:none;
}
:is(body.proposal,.catalog-featured) .card :is(.btn-compare,.btn-sample):is(:active,.on) {border-color:#75897b;}
:is(body.proposal,.catalog-featured) .card :is(.btn-compare,.btn-sample):focus-visible {outline:2px solid #75897b;outline-offset:3px;}
:is(body.proposal,.catalog-featured) .card .more {font-size:10px;letter-spacing:.35px;color:#064e04;transition:color .22s ease;}
:is(body.proposal,.catalog-featured) .card .more:is(:hover,:focus-visible) {color:#0a6507;}
:is(body.proposal,.catalog-featured) .card .more:focus-visible {outline:2px solid #064e04;outline-offset:4px;border-radius:3px;}
@media(prefers-reduced-motion:reduce){
  :is(body.proposal,.catalog-featured) .card :is(.btn-compare,.btn-sample),
  :is(body.proposal,.catalog-featured) .card .more {transition:none;}
}
.catalog-sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* Second direction: landscape cards with distinct identity, description and action areas. */
body.library-horizontal .cards {grid-template-columns:1fr;gap:18px;}
body.library-horizontal .card {display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1.08fr) 158px;grid-template-rows:auto auto 1fr;column-gap:24px;row-gap:0;min-height:206px;padding:28px;border-radius:20px;}
body.library-horizontal .card .tags {grid-column:1;grid-row:1;margin-bottom:18px;}
body.library-horizontal .card h2 {grid-column:1;grid-row:2;font-size:22px;}
body.library-horizontal .card .series {grid-column:1;grid-row:3;min-height:0;margin-bottom:0;font-size:11.5px;max-width:220px;}
body.library-horizontal .card .desc {grid-column:2;grid-row:1/4;align-self:center;margin:0;padding:8px 22px 8px 0;border-right:1px solid #edf0e8;font-size:12.5px;line-height:1.8;}
body.library-horizontal .card .card-actions {grid-column:3;grid-row:1/3;display:flex;flex-direction:column;margin:0;padding:0;border:0;gap:9px;align-self:start;}
body.library-horizontal .card .card-actions button {flex:none;width:100%;}
body.library-horizontal .card .more {grid-column:3;grid-row:3;align-self:end;font-size:9px;line-height:1.6;letter-spacing:0;white-space:normal;}
@media(min-width:1600px){body.proposal>.wrap{max-width:1400px;}body.proposal>.hero{padding-left:calc((100vw - 1320px)/2 - 24px);}body.proposal .layout{grid-template-columns:220px minmax(0,1fr);gap:52px;}:is(body.proposal,.catalog-featured) .card{padding:30px;}}
@media(max-width:1100px){body.proposal .layout{grid-template-columns:190px minmax(0,1fr);gap:26px;}body.proposal>.wrap{padding-left:28px;padding-right:28px;}:is(body.proposal,.catalog-featured) .card{padding:22px;}:is(body.proposal,.catalog-featured) .card h2{font-size:21px;}:is(body.proposal,.catalog-featured) .card .card-actions{flex-wrap:wrap;}:is(body.proposal,.catalog-featured) .card .btn-sample,:is(body.proposal,.catalog-featured) .card .btn-compare{min-width:115px;}body.library-horizontal .card{grid-template-columns:minmax(0,1fr) 156px;column-gap:24px;}body.library-horizontal .card .tags{grid-row:1;}body.library-horizontal .card h2{grid-row:2;}body.library-horizontal .card .series{grid-row:3;max-width:none;}body.library-horizontal .card .desc{grid-column:1;grid-row:4;border:0;padding:14px 0 0;}body.library-horizontal .card .card-actions{grid-column:2;grid-row:1/4;}body.library-horizontal .card .more{grid-column:2;grid-row:4;}}
@media(max-width:800px){body.proposal>.hero{margin:100px 16px 28px;padding:30px 28px 34px;}body.proposal>.hero h1{font-size:44px;}body.proposal>.wrap{padding:0 28px 56px;}body.proposal .layout{display:block;}body.proposal .sidebar{position:static;max-height:none;overflow:visible;margin-bottom:26px;padding-bottom:18px;border-bottom:0;}body.proposal .sidebar .side-head{height:auto;margin-bottom:18px;}body.proposal .sidebar .f-group{display:inline-block;vertical-align:top;width:calc(50% - 14px);margin-bottom:14px;}body.proposal .sidebar .f-group+.f-group{margin-left:24px;}body.proposal .sidebar .side-clear{width:auto;border:0;padding-top:0;}:is(body.proposal,.catalog-featured) .card{min-height:0;}body.library-horizontal .card{min-height:220px;}}
@media(max-width:560px){body.proposal>.hero h1{font-size:38px;letter-spacing:-1.6px;}body.proposal>.hero p{font-size:14px;}body.proposal>.wrap{padding-left:20px;padding-right:20px;}:is(body.proposal,.catalog-featured) .cards{grid-template-columns:1fr;}body.proposal .sidebar .f-group{display:block;width:100%;}body.proposal .sidebar .f-group+.f-group{margin-left:0;}:is(body.proposal,.catalog-featured) .card .series{min-height:0;}body.library-horizontal .card{display:flex;flex-direction:column;padding:24px;}body.library-horizontal .card .tags{margin-bottom:18px;}body.library-horizontal .card .desc{margin:0 0 22px;padding:14px 0 0;}body.library-horizontal .card .card-actions{flex-direction:row;margin-bottom:16px;}body.library-horizontal .card .card-actions button{width:auto;flex:1;}body.library-horizontal .card .more{align-self:start;font-size:10px;}body.library-horizontal .card h2{font-size:24px;}.catalog-search{gap:8px;padding-left:12px;}.catalog-search button{padding:0 10px;gap:8px;}.catalog-search input{font-size:12px;}}

/* Reduce vertical spacing only; original column widths, gaps and horizontal padding apply. */
body.library-wide .card{min-height:280px;padding-top:20px;padding-bottom:20px;}
body.library-wide .card .tags{margin-bottom:12px;}
body.library-wide .card .series{min-height:0;margin-bottom:10px;}
body.library-wide .card .desc{margin-bottom:16px;}
body.library-wide .card .card-actions{padding-top:0;margin-bottom:12px;}
@media(max-width:560px){body.library-wide .card{min-height:0;}}

/* Fixed outer height; subtitles use their actual line count. */
body.library-wide .cards {grid-auto-rows:1fr;}
body.library-wide .card {
  display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto auto minmax(0,1fr) auto auto;
  row-gap:6px;min-height:280px;padding-top:20px;padding-bottom:20px;
}
body.library-wide .card :is(.tags,h2,.series,.desc,.card-actions,.more) {margin:0;min-width:0;}
body.library-wide .card .tags {align-items:start;padding-bottom:6px;}
body.library-wide .card .tag {align-self:start;}
body.library-wide .card .series {min-height:0;padding-bottom:4px;}
body.library-wide .card .desc {align-self:start;margin-bottom:8px;}
body.library-wide .card .card-actions {align-self:end;padding-top:0;}
body.library-wide .card .more {align-self:end;line-height:15px;}
@media(min-width:1101px){
  body.library-wide .cards {grid-auto-rows:280px;}
  body.library-wide .card {
    height:280px;min-height:280px;box-sizing:border-box;
    grid-template-rows:29px 29px auto minmax(0,1fr) 38px 15px;
  }
  body.library-wide .card .series {align-self:start;}
}
@media(max-width:1100px){
  body.library-wide .card {height:auto;}
  body.library-wide .card .card-actions {margin-top:8px;}
}
