.doc-hero{padding:9rem 0 3rem;position:relative;border-bottom:1px solid var(--border);overflow:hidden}
.doc-hero::before{
content:"";position:absolute;top:-20%;left:50%;transform:translateX(-50%);
width:70vw;height:60vh;pointer-events:none;
background:radial-gradient(ellipse at 50% 30%,var(--lime-glow),transparent 60%);
opacity:.4;filter:blur(50px);
}
.doc-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:end;position:relative}
.doc-crumb{
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.18em;
text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:.6rem;margin-bottom:1.8rem;
}
.doc-crumb::before{content:"";width:24px;height:1px;background:var(--text-3)}
.doc-crumb b{color:var(--text);font-weight:400}
.doc-hero h1{font-size:clamp(2.4rem,5.6vw,4.4rem);letter-spacing:-.05em;line-height:.98;margin-bottom:1.4rem}
.doc-hero h1 em{font-style:normal;color:var(--lime)}
.doc-hero-lede{font-size:1.02rem;line-height:1.55;color:var(--text-2);max-width:52ch}
.doc-meta{
display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;
margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--border);
}
.doc-meta .m{display:flex;flex-direction:column;gap:.25rem}
.doc-meta .m span{
font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.16em;
text-transform:uppercase;color:var(--text-3);
}
.doc-meta .m b{
font-family:'Inter Tight',sans-serif;font-size:.95rem;font-weight:500;
letter-spacing:-.02em;color:var(--text);
}
@media(max-width:1100px){
.doc-hero{padding:8rem 0 2.5rem}
.doc-hero-grid{grid-template-columns:1fr;gap:2rem;align-items:start}
.doc-meta{grid-template-columns:1fr 1fr}
}

.doc-layout{
display:grid;grid-template-columns:280px 1fr;gap:5rem;
padding:5rem 0 6rem;align-items:start;
}
.doc-toc{
position:sticky;top:110px;
border-left:2px solid var(--border);
padding-left:1.4rem;
}
.doc-toc .lbl{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.18em;
text-transform:uppercase;color:var(--text-3);display:block;margin-bottom:1.2rem;
}
.doc-toc nav{display:flex;flex-direction:column;gap:.15rem}
.doc-toc a{
font-size:.88rem;color:var(--text-2);padding:.45rem 0;
border-left:2px solid transparent;margin-left:-1.4rem;padding-left:1.4rem;
transition:color .25s,border-color .25s,padding-left .3s;
line-height:1.4;
}
.doc-toc a:hover{color:var(--text);padding-left:1.6rem}
.doc-toc a.active{color:var(--lime);border-left-color:var(--lime)}
.doc-toc .toc-note{
margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--border);
font-size:.82rem;line-height:1.55;color:var(--text-3);
}
.doc-toc .toc-note a{color:var(--lime);border-bottom:1px solid rgba(211,255,78,.3);padding:0}

.doc-content{max-width:780px}
.doc-content > p,
.doc-content > ul,
.doc-content > ol{font-size:.98rem;line-height:1.72;color:var(--text-2)}
.doc-content p+p{margin-top:1rem}
.doc-content strong{color:var(--text);font-weight:500}
.doc-content em{color:var(--lime);font-style:normal}
.doc-content a{color:var(--lime);border-bottom:1px solid rgba(211,255,78,.3);transition:border-color .25s}
.doc-content a:hover{border-bottom-color:var(--lime)}

.doc-section{padding-top:3rem;scroll-margin-top:110px}
.doc-section:first-child{padding-top:0}
.doc-section h2{
font-family:'Inter Tight',sans-serif;
font-size:clamp(1.4rem,2.2vw,1.9rem);
font-weight:500;letter-spacing:-.03em;line-height:1.15;
color:var(--text);margin-bottom:1.4rem;
padding-bottom:1rem;border-bottom:1px solid var(--border);
display:flex;align-items:baseline;gap:1rem;
}
.doc-section h2 .num{
font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.16em;
color:var(--lime);font-weight:500;flex-shrink:0;
}
.doc-section h3{
font-family:'Inter Tight',sans-serif;
font-size:1.05rem;font-weight:500;letter-spacing:-.02em;
color:var(--text);margin:2rem 0 .8rem;line-height:1.3;
}
.doc-section ul,.doc-section ol{
list-style:none;padding:0;display:grid;gap:.7rem;margin:1rem 0;
}
.doc-section ul li{
display:grid;grid-template-columns:18px 1fr;gap:.7rem;
font-size:.96rem;line-height:1.65;color:var(--text-2);
}
.doc-section ul li::before{
content:"";width:6px;height:6px;border-radius:50%;
background:var(--lime);flex-shrink:0;margin-top:.65rem;
}
.doc-section ol{
list-style:none;counter-reset:docnum;
}
.doc-section ol li{
counter-increment:docnum;
display:grid;grid-template-columns:32px 1fr;gap:1rem;
font-size:.96rem;line-height:1.65;color:var(--text-2);
}
.doc-section ol li::before{
content:counter(docnum,decimal-leading-zero);
font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;
color:var(--lime);padding-top:.15rem;
}
.doc-content ul b,.doc-content ol b{color:var(--text);font-weight:500}

.doc-callout{
padding:1.4rem 1.6rem;margin:1.6rem 0;
border-radius:var(--r);
background:rgba(211,255,78,.05);
border:1px solid rgba(211,255,78,.22);
position:relative;
}
.doc-callout::before{
content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
background:var(--lime);border-radius:var(--r) 0 0 var(--r);
}
.doc-callout .lbl{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.16em;
text-transform:uppercase;color:var(--lime);display:block;margin-bottom:.5rem;
}
.doc-callout p{font-size:.94rem;line-height:1.65;color:var(--text-2);margin:0}
.doc-callout p+p{margin-top:.7rem}
.doc-callout.warn{
background:rgba(232,168,107,.06);border-color:rgba(232,168,107,.28);
}
.doc-callout.warn::before{background:var(--amber)}
.doc-callout.warn .lbl{color:var(--amber)}

.doc-table{
width:100%;border-collapse:collapse;margin:1.4rem 0;
border:1px solid var(--border);border-radius:var(--r);overflow:hidden;
}
.doc-table thead{background:var(--surface-2)}
.doc-table th{
padding:.9rem 1.1rem;text-align:left;
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);font-weight:500;
border-bottom:1px solid var(--border);
}
.doc-table td{
padding:1rem 1.1rem;vertical-align:top;
font-size:.9rem;line-height:1.6;color:var(--text-2);
border-bottom:1px solid var(--border);
}
.doc-table tr:last-child td{border-bottom:none}
.doc-table td strong{color:var(--text);font-weight:500}
.doc-table td.yes{color:var(--lime);font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.06em}
.doc-table td.no{color:var(--text-3);font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.06em}
@media(max-width:720px){
.doc-table{font-size:.82rem}
.doc-table th,.doc-table td{padding:.75rem .7rem}
}

.doc-contact-block{
margin-top:3.5rem;padding:2rem 2rem 1.8rem;
border-radius:var(--r-lg);border:1px solid var(--border);
background:#0f140f;position:relative;overflow:hidden;
}
.doc-contact-block::before{
content:"";position:absolute;top:-40%;right:-20%;width:60%;height:150%;
background:radial-gradient(circle,var(--lime-glow),transparent 60%);
pointer-events:none;
}
.doc-contact-block>*{position:relative}
.doc-contact-block .lbl{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.16em;
text-transform:uppercase;color:var(--lime);display:block;margin-bottom:.8rem;
}
.doc-contact-block h3{
font-family:'Inter Tight',sans-serif;
font-size:clamp(1.3rem,2vw,1.6rem);font-weight:500;letter-spacing:-.03em;
color:var(--text);line-height:1.15;margin-bottom:.8rem;
}
.doc-contact-block h3 em{font-style:normal;color:var(--lime)}
.doc-contact-block p{font-size:.95rem;line-height:1.6;color:var(--text-2);max-width:56ch;margin-bottom:1.4rem}
.doc-contact-grid{
display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;
padding-top:1.4rem;border-top:1px solid var(--border);
}
.doc-contact-grid .ci{display:flex;flex-direction:column;gap:.3rem}
.doc-contact-grid .ci span{
font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.16em;
text-transform:uppercase;color:var(--text-3);
}
.doc-contact-grid .ci b{
font-family:'Inter Tight',sans-serif;font-size:.95rem;font-weight:500;
letter-spacing:-.02em;color:var(--text);
}
.doc-contact-grid .ci b a{color:var(--text);border-bottom:none}
.doc-contact-grid .ci b a:hover{color:var(--lime)}
@media(max-width:720px){
.doc-contact-grid{grid-template-columns:1fr;gap:.9rem}
.doc-contact-block{padding:1.6rem 1.4rem}
}

@media(max-width:1100px){
.doc-layout{grid-template-columns:1fr;gap:2.4rem;padding:3rem 0 4rem}
.doc-toc{position:relative;top:auto;border-left:none;padding-left:0;border-bottom:1px solid var(--border);padding-bottom:1.4rem}
.doc-toc nav{flex-direction:row;flex-wrap:wrap;gap:.3rem}
.doc-toc a{
background:var(--surface);border:1px solid var(--border);
padding:.5rem 1rem;border-radius:100px;margin-left:0;
font-size:.82rem;
}
.doc-toc a:hover{padding-left:1rem;background:var(--surface-2);border-color:var(--border-2)}
.doc-toc a.active{border-color:var(--lime);background:rgba(211,255,78,.08)}
.doc-toc .toc-note{display:none}
}

/* ============================================================
   LAYOUT FIXES
   Fixes list markers, tables, and grid blocks that were
   stacking incorrectly. Loaded AFTER all other stylesheets.
   ============================================================ */

/* ---------- DOC SECTIONS: bulleted lists ---------- */

.doc-section ul{
list-style:none;
padding:0;
margin:1.1rem 0;
display:block;
}

.doc-section ul li{
position:relative;
display:block;
padding-left:26px;
font-size:.97rem;
line-height:1.7;
color:var(--text-2);
margin-bottom:.7rem;
}

.doc-section ul li:last-child{margin-bottom:0}

.doc-section ul li::before{
content:"";
position:absolute;
left:0;
top:.72em;
width:6px;
height:6px;
border-radius:50%;
background:var(--lime);
}

.doc-section ul li strong{
display:inline;
color:var(--text);
font-weight:500;
}

/* ---------- DOC SECTIONS: numbered lists ---------- */

.doc-section ol{
list-style:none;
padding:0;
margin:1.1rem 0;
counter-reset:docnum;
display:block;
}

.doc-section ol li{
position:relative;
display:block;
counter-increment:docnum;
padding-left:42px;
font-size:.97rem;
line-height:1.7;
color:var(--text-2);
margin-bottom:.8rem;
}

.doc-section ol li:last-child{margin-bottom:0}

.doc-section ol li::before{
content:counter(docnum,decimal-leading-zero);
position:absolute;
left:0;
top:.05em;
font-family:'JetBrains Mono',monospace;
font-size:.72rem;
letter-spacing:.06em;
color:var(--lime);
line-height:1.9;
}

.doc-section ol li strong{
display:inline;
color:var(--text);
font-weight:500;
}

/* ---------- INCLUSION LIST (residential, commercial, etc.) ---------- */

.inc-list{
display:grid;
grid-template-columns:1fr 1fr;
gap:0 3rem;
padding-top:1.6rem;
border-top:1px solid var(--border);
list-style:none;
margin:0;
}

.inc-list li{
position:relative;
display:block;
padding:.85rem 0 .85rem 26px;
border-bottom:1px solid var(--border);
font-size:.92rem;
color:var(--text-2);
line-height:1.55;
}

.inc-list li::before{
content:"";
position:absolute;
left:0;
top:1.1rem;
width:14px;
height:14px;
background-color:var(--lime);
-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}

.inc-list li b{
display:inline;
color:var(--text);
font-weight:500;
}

.inc-list li:nth-last-child(-n+2){border-bottom:none}

/* ---------- SERVICE DEEP FEATURES ---------- */

.svc-deep-feats{
list-style:none;
padding:0;
margin:0;
display:block;
}

.svc-deep-feats li{
position:relative;
display:block;
padding:.75rem 0 .75rem 24px;
font-size:.9rem;
line-height:1.55;
color:var(--text-2);
border-top:1px solid var(--border);
}

.svc-deep-feats li:first-child{
border-top:none;
padding-top:0;
}

.svc-deep-feats li::before{
content:"";
position:absolute;
left:0;
top:1.2rem;
width:5px;
height:5px;
border-radius:50%;
background:var(--lime);
}

.svc-deep-feats li:first-child::before{top:.55rem}

/* ---------- CONTRACT LISTS ---------- */

.contract ul{
list-style:none;
padding:1.4rem 0 0;
border-top:1px solid var(--border);
display:block;
margin-top:auto;
}

.contract ul li{
position:relative;
display:block;
padding:.35rem 0 .35rem 22px;
font-size:.85rem;
color:var(--text-2);
line-height:1.55;
}

.contract ul li::before{
content:"";
position:absolute;
left:0;
top:.75em;
width:5px;
height:5px;
border-radius:50%;
background:var(--lime);
}

/* ---------- FEATURE LIST (index page) ---------- */

.feature-list{
list-style:none;
margin:2rem 0;
display:block;
padding:0;
}

.feature-list li{
position:relative;
display:block;
padding-left:36px;
padding-bottom:1rem;
}

.feature-list li:last-child{padding-bottom:0}

.feature-list li svg{
position:absolute;
left:0;
top:1px;
width:22px;
height:22px;
color:var(--moss, #4a5c3a);
}

.feature-list li b{
display:block;
color:var(--forest, #16281b);
font-weight:600;
margin-bottom:.15rem;
}

.feature-list li span{
font-size:.92rem;
color:#4d5a50;
}

/* ---------- DOC TABLES ---------- */

.doc-table{
display:table;
width:100%;
border-collapse:collapse;
border-spacing:0;
margin:1.6rem 0;
border:1px solid var(--border);
table-layout:auto;
}

.doc-table thead{display:table-header-group}
.doc-table tbody{display:table-row-group}
.doc-table tr{display:table-row}

.doc-table th,
.doc-table td{
display:table-cell;
vertical-align:top;
text-align:left;
padding:1rem 1.1rem;
border-bottom:1px solid var(--border);
}

.doc-table th{
background:var(--surface-2);
font-family:'JetBrains Mono',monospace;
font-size:.6rem;
letter-spacing:.14em;
text-transform:uppercase;
color:var(--text-3);
font-weight:500;
}

.doc-table td{
font-size:.9rem;
line-height:1.65;
color:var(--text-2);
}

.doc-table tr:last-child td{border-bottom:none}

.doc-table td strong{
display:inline;
color:var(--text);
font-weight:500;
}

.doc-table td.yes{
color:var(--lime);
font-family:'JetBrains Mono',monospace;
font-size:.78rem;
letter-spacing:.06em;
}

.doc-table td.no{
color:var(--text-3);
font-family:'JetBrains Mono',monospace;
font-size:.78rem;
letter-spacing:.06em;
}

/* ---------- CONTACT + SPEC GRIDS ---------- */

.doc-contact-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1.2rem;
}

.doc-contact-grid .ci{
display:flex;
flex-direction:column;
gap:.3rem;
}

.case-specs{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:1rem;
}

.feat-specs{
display:grid;
grid-template-columns:1fr 1fr;
gap:1.4rem;
}

.case-specs .cs,
.feat-specs .spec{
display:flex;
flex-direction:column;
gap:.35rem;
}

.case-specs .cs .k,
.feat-specs .spec .k{
font-family:'JetBrains Mono',monospace;
font-size:.58rem;
letter-spacing:.16em;
text-transform:uppercase;
color:var(--text-3);
}

.case-specs .cs .v,
.feat-specs .spec .v{
font-family:'Inter Tight',sans-serif;
font-size:.95rem;
font-weight:500;
letter-spacing:-.02em;
color:var(--text);
}

/* ---------- FAQ LIST ANSWERS ---------- */

.faq-item .answer p + p{margin-top:.9rem}

.faq-item .answer ul,
.faq-item .answer ol{
list-style:none;
padding:0;
margin:.8rem 0;
}

.faq-item .answer ul li{
position:relative;
padding-left:20px;
margin-bottom:.5rem;
line-height:1.6;
}

.faq-item .answer ul li::before{
content:"";
position:absolute;
left:0;
top:.7em;
width:5px;
height:5px;
border-radius:50%;
background:var(--lime);
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1100px){
  .inc-list{grid-template-columns:1fr}
  .inc-list li:nth-last-child(-n+2){border-bottom:1px solid var(--border)}
  .inc-list li:last-child{border-bottom:none}
  .case-specs{grid-template-columns:repeat(2,1fr)}
  .doc-contact-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){
  .doc-section ul li{padding-left:22px;font-size:.94rem}
  .doc-section ol li{padding-left:38px;font-size:.94rem}
  .doc-table th,
  .doc-table td{padding:.75rem .7rem;font-size:.84rem}
  .case-specs,
  .feat-specs{grid-template-columns:1fr}
  .doc-contact-grid{grid-template-columns:1fr}
  .inc-list li{padding-left:22px}
}