/* ==========================================================================
   InsectLureActives — specification template (T1)
   Deep green + cream, mono figures, tables before pictures.
   ========================================================================== */

:root{
  --ink:#04342C;
  --ink-2:#0A4638;
  --ink-3:#0F5A47;
  --cream:#FBF7F6;
  --cream-2:#F4EEE9;
  --paper:#FFFFFF;
  --line:#E3DAD2;
  --line-2:#D2C6BB;
  --text:#16211C;
  --muted:#5E6B62;
  --copper:#B4673A;
  --mint:#DCE8E2;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:"IBM Plex Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --radius:10px;
  --shadow:0 1px 2px rgba(4,52,44,.06),0 8px 24px -16px rgba(4,52,44,.28);
  --wrap:1240px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--text);
  overflow-x:clip;
  font-family:var(--sans);font-size:16px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--ink-3)}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0 0 .5em;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
h1{font-size:clamp(2rem,3.6vw,3.05rem)}
h2{font-size:clamp(1.45rem,2.2vw,1.95rem)}
h3{font-size:1.075rem;letter-spacing:-.01em}
ul,ol{margin:0 0 1em;padding-left:1.1em}
.mono{font-family:var(--mono);font-size:.875rem;letter-spacing:-.01em}
.small{font-size:.8125rem}
.muted{color:var(--muted)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:99;background:var(--ink);color:#fff;padding:10px 16px;border-radius:6px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px}
.wrap--narrow{max-width:780px}

/* ---------------------------------------------------------------- top bar */
.topbar{background:var(--ink);color:#DFE9E4;font-size:.78125rem;letter-spacing:.01em}
.topbar__in{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:38px}
.topbar p{margin:0}
.topbar__note{display:flex;align-items:center;gap:9px}
.topbar .dot{width:6px;height:6px;border-radius:50%;background:#79C6A4;flex:0 0 auto}
.topbar__meta{display:flex;align-items:center;gap:10px;color:#B9CCC4}
.topbar__meta a{color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}
.topbar__meta a:hover{color:#fff;border-color:#fff}
.topbar .sep{opacity:.4}

/* ----------------------------------------------------------------- header */
.site-head{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.head__in{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{flex:0 0 auto;display:flex;align-items:center}
.brand__img{width:210px;height:auto}
.nav{margin-left:auto}
.nav__list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav__list>li{position:relative}
.nav__list>li>a{
  display:block;padding:9px 12px;border-radius:6px;font-size:.90625rem;font-weight:500;color:#24352D;
}
.nav__list>li>a:hover{background:var(--mint);color:var(--ink)}
.nav__sub{
  position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:var(--paper);
  border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);
  padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:.16s ease;
}
.has-sub:hover .nav__sub,.has-sub:focus-within .nav__sub{opacity:1;visibility:visible;transform:none}
.nav__sub li a{display:flex;justify-content:space-between;gap:14px;padding:8px 10px;border-radius:5px;font-size:.875rem}
.nav__sub li a:hover{background:var(--cream)}
.nav__sub li span{font-family:var(--mono);font-size:.75rem;color:var(--muted)}
.head__actions{display:flex;align-items:center;gap:12px;margin-left:8px}
.search{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:6px;background:var(--paper);overflow:hidden}
.search input{
  border:0;background:transparent;padding:8px 10px;font:inherit;font-size:.8125rem;width:132px;outline:none;color:var(--text)
}
.search input::placeholder{color:#94A098}
.search button{border:0;background:transparent;padding:8px 9px;cursor:pointer;color:var(--ink);display:flex}
.search:focus-within{border-color:var(--ink-3);box-shadow:0 0 0 3px rgba(15,90,71,.1)}
.burger{display:none;border:1px solid var(--line-2);background:var(--paper);border-radius:6px;padding:8px;cursor:pointer;color:var(--ink)}

/* ----------------------------------------------------------------- buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--ink);color:#fff;border:1px solid var(--ink);
  font-family:inherit;font-size:.90625rem;font-weight:600;letter-spacing:.005em;
  padding:12px 20px;border-radius:6px;cursor:pointer;transition:.16s ease;text-align:center;
}
.btn:hover{background:var(--ink-2);border-color:var(--ink-2);color:#fff;transform:translateY(-1px)}
.btn--sm{padding:9px 16px;font-size:.84375rem}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn--ghost:hover{background:var(--paper);border-color:var(--ink);color:var(--ink)}
.btn--light{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.btn--light:hover{background:#fff;border-color:#fff;color:var(--ink)}
.btn--block{width:100%;display:flex}
.btn--accent{background:var(--copper);border-color:var(--copper)}
.btn--accent:hover{background:#9F592F;border-color:#9F592F}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.site-head.is-stuck{box-shadow:0 8px 24px -18px rgba(4,52,44,.55)}
.search button svg{width:17px;height:17px}
.link{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.90625rem;color:var(--ink);border-bottom:1px solid rgba(4,52,44,.25);padding-bottom:2px}
.link:hover{border-color:var(--ink)}

/* ------------------------------------------------------------------- hero */
.hero{background:var(--cream);padding:52px 0 56px;border-bottom:1px solid var(--line)}
.eyebrow{
  display:inline-block;font-family:var(--mono);font-size:.71875rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--copper);margin:0 0 14px;font-weight:500;
}
.eyebrow--link:hover{color:var(--ink)}
.hero__head{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:end;margin-bottom:44px}
.hero__title h1{margin:0;max-width:15em;letter-spacing:-.028em}
.hero__intro p{font-size:1.0625rem;color:#3B4A42;max-width:34em;margin-bottom:1.4em}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}

.hero__panels{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.panel{border-radius:var(--radius);padding:26px 26px 24px;display:flex;flex-direction:column}
.panel--spec{background:var(--ink);color:#E8F0EC;box-shadow:0 18px 40px -28px rgba(4,52,44,.85)}
.panel--path{background:var(--paper);border:1px solid var(--line)}
.panel--sticky{position:sticky;top:96px}
.panel__top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.panel__tag{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:#8FB3A5}
.panel--path .panel__tag{color:var(--muted)}
.panel__badge{font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;color:#0B2B23;background:#8FD3B4;padding:3px 8px;border-radius:20px}
.panel__name{font-size:1.3125rem;color:#fff;margin:0 0 16px;letter-spacing:-.01em}
.panel__link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:16px;font-size:.875rem;font-weight:600;color:#fff;border-top:1px solid rgba(255,255,255,.16)}
.panel__link:hover{color:#8FD3B4}
.panel__foot{font-size:.78125rem;color:#8FB3A5;margin:12px 0 0}

/* spec table */
.spec-table{width:100%;border-collapse:collapse;font-size:.8125rem;margin:0}
.spec-table th,.spec-table td{padding:8px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.spec-table th{
  font-weight:500;font-family:var(--sans);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);width:44%;padding-right:14px;
}
.spec-table td{font-family:var(--mono);font-size:.8125rem;color:var(--text)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.spec-table--dark th{border-color:rgba(255,255,255,.14);color:#8FB3A5}
.spec-table--dark td{border-color:rgba(255,255,255,.14);color:#EAF3EE}
.panel--spec .spec-table{margin-bottom:18px}

/* steps */
.steps{list-style:none;margin:4px 0 20px;padding:0;display:grid;gap:16px}
.steps li{display:flex;gap:14px;align-items:flex-start}
.steps__n{font-family:var(--mono);font-size:.75rem;color:var(--copper);padding-top:2px;flex:0 0 auto}
.steps strong{display:block;font-size:.9375rem;color:var(--ink);margin-bottom:2px}
.steps p{margin:0;font-size:.84375rem;color:var(--muted);line-height:1.5}

/* ------------------------------------------------------------------- bands */
.band{padding:64px 0}
.band--flush{padding:44px 0 56px}
.band--class{background:var(--paper);border-bottom:1px solid var(--line)}
.band--table{background:var(--paper)}
.band--promise{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band--docs{background:var(--paper)}
.band--siblings{background:var(--cream);border-top:1px solid var(--line)}
.band__head{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start;margin-bottom:34px}
.band__head h2{margin:0}
.band__head p{margin:0;color:var(--muted);font-size:.96875rem;max-width:42em}
.band__head--tight{display:block;margin-bottom:28px}

/* class index */
.classtable{border-top:1px solid var(--line)}
.classtable__row{
  display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(0,2fr) 64px 28px;
  gap:20px;align-items:center;padding:16px 6px;border-bottom:1px solid var(--line);
  transition:.14s ease;
}
.classtable__row:hover{background:var(--cream);padding-left:14px}
.classtable__name{font-weight:600;font-size:1rem;color:var(--ink)}
.classtable__desc{color:var(--muted);font-size:.875rem}
.classtable__count{font-family:var(--mono);font-size:.8125rem;color:var(--ink);text-align:right}
.classtable__go{color:var(--ink);display:flex;justify-content:flex-end}
.classtable__row.is-muted .classtable__name{color:#3D4C44}
.classtable__row.is-muted .classtable__count{color:var(--muted)}

/* tables */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.ctable{width:100%;border-collapse:collapse;font-size:.875rem;min-width:760px}
.ctable thead th{
  background:var(--cream);text-align:left;padding:12px 14px;font-size:.6875rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:#4B5A51;border-bottom:1px solid var(--line);
  white-space:nowrap;
}
.ctable tbody td{padding:13px 14px;border-bottom:1px solid #EFE8E1;vertical-align:top}
.ctable tbody tr:last-child td{border-bottom:0}
.ctable tbody tr:hover{background:#FCFAF8}
.ctable__name{font-weight:600;color:var(--ink);max-width:34ch}
.ctable__name a:hover{text-decoration:underline;text-underline-offset:3px}
.ctable td.mono{color:#33423A;white-space:nowrap}
.ctable__cta{text-align:right;white-space:nowrap}
.ctable__cta a{display:inline-flex;align-items:center;gap:5px;font-size:.8125rem;font-weight:600;color:var(--ink);border-bottom:1px solid rgba(4,52,44,.22)}
.ctable__cta a:hover{border-color:var(--ink)}
.tablefoot{margin:16px 0 0;text-align:right;font-size:.875rem}
.tablefoot a{display:inline-flex;align-items:center;gap:7px;font-weight:600;border-bottom:1px solid rgba(4,52,44,.25);padding-bottom:2px}

/* promises */
.promises{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.promise{border-top:2px solid var(--ink);padding-top:16px}
.promise__n{font-family:var(--mono);font-size:.75rem;color:var(--copper);margin:0 0 8px}
.promise h3{margin:0 0 8px;font-size:1rem}
.promise p:last-child{margin:0;color:var(--muted);font-size:.875rem;line-height:1.55}

/* docs */
.docs{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.docs__text h2{margin-bottom:.6em}
.docs__text p{color:#3B4A42;max-width:38em}
.ticks{list-style:none;margin:0 0 1.4em;padding:0;display:grid;gap:9px}
.ticks li{display:flex;gap:10px;align-items:flex-start;font-size:.90625rem;color:#33423A}
.ticks svg{flex:0 0 auto;margin-top:3px;color:var(--ink-3)}
.ticks--tight li{font-size:.84375rem}
.docs__links{display:flex;gap:26px;flex-wrap:wrap;margin:0}
.docs__card{
  background:var(--ink);color:#E8F0EC;border-radius:var(--radius);padding:30px 28px;
  box-shadow:0 20px 44px -30px rgba(4,52,44,.9);
}
.docs__k{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:#8FB3A5;margin:0 0 10px}
.docs__big{font-family:var(--mono);font-size:2.5rem;line-height:1.05;font-weight:600;color:#fff;margin:0 0 14px;letter-spacing:-.02em}
.docs__small{font-size:.8125rem;color:#B9CCC4;margin:0}

/* inquiry */
.band--inquiry{background:var(--cream);border-top:1px solid var(--line)}
.inquiry{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:start}
.inquiry__text h2{margin-bottom:.5em}
.inquiry__text p{color:#3B4A42;max-width:36em}
.inquiry__meta{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.inquiry__meta li{display:flex;gap:10px;align-items:center;font-size:.875rem;color:#33423A}
.inquiry__meta svg{color:var(--ink-3);flex:0 0 auto}
.inquiry__form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}

/* forms */
.il-form{margin:0}
.form-msg{display:none}
.form-msg.is-error,.form-msg.is-ok{display:block;padding:11px 14px;border-radius:6px;font-size:.875rem;margin-bottom:14px}
.form-msg.is-error{background:#FBEDE7;color:#8C3A18;border:1px solid #F0CDBD}
.form-msg.is-ok{background:#E8F3EC;color:#1B5C3C;border:1px solid #C4E0CE}
.form-hint{font-size:.8125rem;color:var(--muted);margin:0 0 16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field--full{grid-column:1/-1}
.field-row3{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.field label{font-size:.78125rem;font-weight:600;color:#2B3A33;letter-spacing:.01em}
.field .req{color:var(--copper)}
.field .opt{font-weight:400;color:#98A39C;font-size:.71875rem}
.field input,.field textarea,.field select{
  font-family:inherit;font-size:.90625rem;color:var(--text);background:var(--paper);
  border:1px solid var(--line-2);border-radius:5px;padding:10px 11px;width:100%;outline:none;transition:.14s;
}
.field input:focus,.field textarea:focus{border-color:var(--ink-3);box-shadow:0 0 0 3px rgba(15,90,71,.1)}
.field textarea{min-height:110px;resize:vertical}
.field--check{grid-column:1/-1;display:flex;gap:9px;align-items:flex-start}
.field--check input{width:16px;height:16px;margin-top:2px;flex:0 0 auto}
.field--check label{font-weight:400;font-size:.8125rem;color:var(--muted)}
.il-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-promise{font-size:.75rem;color:var(--muted);margin:0 0 10px;font-family:var(--mono)}
.form-note{font-size:.75rem;color:var(--muted);margin:12px 0 0}
.form-grid .btn--accent{margin-top:4px;grid-column:1/-1}

/* page header */
.pagehead{background:var(--cream);border-bottom:1px solid var(--line);padding:26px 0 40px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.78125rem;color:var(--muted);margin-bottom:18px}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.crumbs__sep{opacity:.45}
.pagehead h1{margin:0 0 14px;max-width:22em}
.pagehead__meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:start}
.pagehead__meta p{margin:0;color:#3B4A42;max-width:52em}
.pagehead__count{font-size:.875rem;color:var(--muted);white-space:nowrap;text-align:right}
.pagehead__count .mono{font-size:1.125rem;color:var(--ink);font-weight:600}

/* product */
.product{padding-bottom:20px}
.product .crumbs{margin-top:22px}
.product__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:start;padding:6px 0 26px;border-bottom:1px solid var(--line);margin-bottom:32px}
.product__head h1{margin:0 0 10px;font-size:clamp(1.7rem,2.8vw,2.5rem);letter-spacing:-.025em}
.product__id{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#33423A;margin:0}
.product__id .dot{width:4px;height:4px;border-radius:50%;background:var(--line-2)}
.product__headcta{text-align:right}
.product__reply{font-size:.75rem;color:var(--muted);margin:9px 0 0;max-width:26em}
.product__grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:52px;align-items:start}
.product__main{min-width:0}

.structure{margin:0 0 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}
.structure__img{
  display:flex;align-items:center;justify-content:center;padding:34px 26px;min-height:170px;
  background:radial-gradient(circle at 1px 1px,#EDE6DF 1px,transparent 0) 0 0/16px 16px,var(--paper);
}
.structure__img img{max-height:180px;width:auto;max-width:100%}
.structure figcaption{padding:10px 16px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);background:var(--cream);font-family:var(--mono)}
.product__lead{font-size:1.0625rem;color:#2B3A33;margin-bottom:1.6em}

.prose{font-size:.96875rem;color:#22312A;max-width:74ch}
.prose h2{font-size:1.1875rem;margin:2em 0 .55em;letter-spacing:-.01em}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 1.05em}
.prose .lead{font-size:1.0625rem;color:#2B3A33}
.prose .spec-table{margin:1.4em 0 1.8em;border-top:1px solid var(--line)}
.product .prose > .spec-table{display:none}
.prose .spec-table th{width:38%;padding:10px 14px 10px 0}
.prose .spec-table td{padding:10px 0}
.prose dl.faq-mini{margin:0 0 1.4em}
.prose dl.faq-mini dt{font-weight:600;color:var(--ink);margin-top:1.1em}
.prose dl.faq-mini dd{margin:.3em 0 0;color:#33423A}
.prose p.muted{font-size:.8125rem;margin-top:1.6em;padding-top:1em;border-top:1px solid var(--line)}
.prose ul,.prose ol{color:#22312A}
.prose table{width:100%;border-collapse:collapse;font-size:.875rem;margin:1.4em 0}
.prose table th,.prose table td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.prose table th{background:var(--cream);font-weight:600;color:var(--ink)}

.product__inquiry{margin:46px 0 0;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}
.product__inquiry-head h2{margin:0 0 .4em;font-size:1.3125rem}
.product__inquiry-head p{color:var(--muted);font-size:.9375rem;margin-bottom:20px;max-width:60em}
.product__inquiry .il-form{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:22px}

.related{margin-top:52px}
.related h2{font-size:1.1875rem;margin-bottom:16px}

/* pager */
.pager{margin:26px 0 0}
.pager .nav-links{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pager .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;
  border:1px solid var(--line-2);border-radius:5px;font-size:.875rem;font-family:var(--mono);color:var(--ink);
}
.pager .page-numbers:hover{background:var(--cream)}
.pager .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.pager .dots{border:0}

/* siblings */
.siblings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sibling{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:.90625rem;font-weight:600}
.sibling:hover{border-color:var(--ink);background:var(--cream)}
.sibling__count{font-size:.75rem;color:var(--muted);font-weight:400}

/* filter bar */
.filterbar{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.filterbar__input{
  flex:1;max-width:420px;font-family:inherit;font-size:.90625rem;padding:10px 12px;
  border:1px solid var(--line-2);border-radius:5px;outline:none;
}
.filterbar__input:focus{border-color:var(--ink-3);box-shadow:0 0 0 3px rgba(15,90,71,.1)}
.filterbar__count{font-family:var(--mono);font-size:.78125rem;color:var(--muted)}
tr.is-hidden{display:none}

/* contact */
.contact{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:start}
.contact__form h2{font-size:1.3125rem;margin-bottom:.35em}
.contact__hint{color:var(--muted);font-size:.90625rem;margin-bottom:20px}
.contact__form .il-form{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--paper);box-shadow:var(--shadow)}
.contact__side{display:grid;gap:16px}
.infobox{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--cream)}
.infobox__h{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.infobox p{margin:0 0 .6em;font-size:.90625rem}
.infobox p:last-child{margin-bottom:0}
.infobox a{border-bottom:1px solid rgba(4,52,44,.25)}
.infobox a:hover{color:var(--ink)}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{cursor:pointer;padding:18px 30px 18px 0;font-weight:600;font-size:1rem;color:var(--ink);position:relative;list-style:none}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:6px;top:16px;font-family:var(--mono);font-size:1.1rem;color:var(--copper)}
.faq__item[open] summary::after{content:"–"}
.faq__a{padding:0 40px 18px 0;color:#33423A;font-size:.9375rem}
.faq__a p{margin:0}
.faq__cta{margin-top:40px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}
.faq__cta h2{font-size:1.1875rem;margin-bottom:.4em}
.faq__cta p{color:var(--muted);font-size:.9375rem;margin-bottom:16px}

/* footer */
.site-foot{background:var(--ink);color:#C9D8D1;padding:58px 0 26px}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px}
.foot__name{font-weight:700;font-size:1.1875rem;color:#fff;letter-spacing:-.01em;margin:0 0 10px}
.foot__tag{font-size:.875rem;color:#9EB5AB;margin:0 0 14px;max-width:26em}
.foot__small{font-size:.78125rem;color:#7E978C;margin:0 0 14px;max-width:28em}
.foot__mail a{font-family:var(--mono);font-size:.8125rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}
.foot__h{font-family:var(--mono);font-size:.6875rem;letter-spacing:.11em;text-transform:uppercase;color:#7E978C;margin:0 0 12px}
.foot__col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot__col a{font-size:.875rem;color:#C9D8D1}
.foot__col a:hover{color:#fff}
.foot__base{
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:44px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);
  font-size:.75rem;color:#7E978C;
}
.foot__base p{margin:0}

/* ------------------------------------------------------------ responsive */
@media (max-width:1100px){
  .hero__head{gap:34px}
  .product__grid{grid-template-columns:300px minmax(0,1fr);gap:36px}
  .promises{grid-template-columns:repeat(2,1fr);gap:22px}
  .foot__grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px}
  .foot__col:last-child{grid-column:2/4}
}
@media (max-width:960px){
  .head__in{gap:16px}
  .search{display:none}
  .nav{
    position:fixed;inset:0 0 0 auto;width:min(340px,86vw);background:var(--paper);display:none;
    box-shadow:-20px 0 60px -30px rgba(4,52,44,.5);padding:80px 22px 22px;overflow:auto;z-index:60;
  }
  body.nav-open .nav{display:block}
  body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(4,52,44,.35);z-index:55}
  .nav__list{flex-direction:column;align-items:stretch;gap:2px}
  .nav__list>li>a{padding:12px 8px;border-bottom:1px solid var(--line);border-radius:0;font-size:1rem}
  .nav__sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:4px 0 10px 12px;min-width:0;background:transparent}
  .nav__sub li a{font-size:.875rem;padding:7px 8px}
  .burger{display:flex}
  .hero{padding:34px 0 40px}
  .hero__head{grid-template-columns:1fr;gap:22px;margin-bottom:30px}
  .hero__panels{grid-template-columns:1fr}
  .band{padding:44px 0}
  .band__head{grid-template-columns:1fr;gap:12px;margin-bottom:26px}
  .docs,.inquiry,.contact{grid-template-columns:1fr;gap:30px}
  .product__grid{grid-template-columns:1fr;gap:26px}
  .panel--sticky{position:static}
  .product__head{grid-template-columns:1fr;gap:18px}
  .product__headcta{text-align:left}
  .siblings{grid-template-columns:repeat(2,1fr)}
  .pagehead__meta{grid-template-columns:1fr;gap:8px}
  .pagehead__count{text-align:left}
}
@media (max-width:680px){
  .wrap{padding:0 18px}
  .topbar__note{display:none}
  .topbar__in{justify-content:center}
  .head__in{min-height:64px}
  .brand__img{width:172px}
  .form-grid{grid-template-columns:1fr}
  .field-row3{grid-template-columns:1fr}
  .classtable__row{grid-template-columns:1fr auto;gap:4px 14px;padding:14px 2px}
  .classtable__desc{grid-column:1/-1;order:3}
  .classtable__count{order:2}
  .classtable__go{display:none}
  .promises{grid-template-columns:1fr;gap:18px}
  .foot__grid{grid-template-columns:1fr 1fr;gap:26px}
  .foot__brand{grid-column:1/-1}
  .foot__col:last-child{grid-column:auto}
  .structure__img{padding:22px 14px}
  .docs__big{font-size:2rem}
  .product__inquiry{padding:20px}
  .contact__form .il-form{padding:18px}
  .inquiry__form{padding:18px}
  .ctable{font-size:.8125rem}
  .ctable thead th,.ctable tbody td{padding:10px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ------------------------------------------------ blends index & note lists */
.promises--three{grid-template-columns:repeat(3,1fr)}
.promise h3 a{border-bottom:1px solid rgba(4,52,44,.2);padding-bottom:1px}
.promise h3 a:hover{border-color:var(--ink)}

.notelist{border-top:1px solid var(--line)}
.noterow{
  display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:18px;align-items:center;
  padding:16px 4px;border-bottom:1px solid var(--line);
}
.noterow:hover{background:var(--cream);padding-left:12px}
.noterow__title{font-weight:600;color:var(--ink);font-size:.96875rem}
.noterow__meta{font-size:.75rem;color:var(--muted);white-space:nowrap}
.noterow svg{color:var(--ink)}
.noterow--wide{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto 20px}
.noterow__ex{color:var(--muted);font-size:.84375rem;line-height:1.45}

.note-cta{
  display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;
  margin:44px 0 0;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);
}
.note-cta h2{font-size:1.1875rem;margin:0 0 .35em}
.note-cta p{margin:0;color:var(--muted);font-size:.9375rem;max-width:44em}
.prose--article{font-size:1rem}
.prose--article h2{margin-top:2.2em;font-size:1.25rem}
.prose--article .lead{font-size:1.0625rem}

@media (max-width:760px){
  .promises--three{grid-template-columns:1fr}
  .noterow,.noterow--wide{grid-template-columns:1fr auto;gap:6px 14px}
  .noterow__ex{grid-column:1/-1;order:3}
  .noterow svg{display:none}
  .note-cta{flex-direction:column;align-items:flex-start}
}
.band--notes{background:var(--cream);border-top:1px solid var(--line)}

/* ------------------------------------------------------------ blends cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  display:flex;flex-direction:column;gap:10px;padding:24px 22px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--paper);transition:.16s ease;
}
.card:hover{border-color:var(--ink);background:var(--cream);transform:translateY(-2px);box-shadow:var(--shadow)}
.card__n{font-size:.6875rem;letter-spacing:.12em;color:var(--copper)}
.card__t{font-weight:600;font-size:1.0625rem;color:var(--ink);line-height:1.25}
.card__d{font-size:.875rem;color:var(--muted);line-height:1.5;flex:1}
.card__go{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--ink);margin-top:4px}
@media (max-width:960px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cards{grid-template-columns:1fr}}
