/* Sigma sites: phone and tablet fit (shared by all four sites).
   Rule: nothing slides off the right edge; no pinching, no sideways scrolling. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,video{max-width:100%}

/* ---- tables that don't fit become stacked cards (class added by responsive.js) ---- */
table.rt-stack{min-width:0!important;width:100%!important;border-collapse:separate!important;border-spacing:0}
table.rt-stack thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
table.rt-stack,table.rt-stack tbody,table.rt-stack tfoot{display:block}
table.rt-stack tr{display:block;border:1px solid var(--line,#E3E7EA);border-left:3px solid var(--ink,#1F2933);background:var(--surface,#fff);border-radius:2px;margin:0 0 10px;padding:4px 0}
table.rt-stack tr:last-child{margin-bottom:0}
table.rt-stack td,table.rt-stack tbody th{display:grid!important;grid-template-columns:minmax(92px,38%) minmax(0,1fr);gap:12px;align-items:baseline;padding:8px 14px!important;border:0!important;border-top:1px solid var(--line,#E3E7EA)!important;background:transparent!important;white-space:normal!important;text-align:left!important;width:auto!important;min-width:0!important;overflow-wrap:anywhere}
table.rt-stack td::before,table.rt-stack tbody th::before{content:attr(data-label);font:600 11.5px/1.35 var(--f-body,"Source Sans 3",Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3,#6B7684)}
table.rt-stack tr>:first-child{display:block!important;border-top:0!important;font-weight:700;font-size:16.5px;color:var(--ink,#1F2933);padding-top:10px!important}
table.rt-stack tr>:first-child::before{display:none}
table.rt-stack td[data-label=""]{display:block!important}
table.rt-stack td[data-label=""]::before{display:none}
table.rt-stack td:empty{display:none!important}
.rt-v{display:block;min-width:0}
table.rt-stack tr.rt-num>:first-child{font:600 12px/1 var(--f-body,"Source Sans 3",Arial,sans-serif)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#BE1E2D)!important;padding-bottom:0!important}
table.rt-stack tr.rt-num>:first-child::before{display:inline!important;content:"Step ";font:inherit;letter-spacing:inherit;color:inherit}
table.rt-stack tr:is(.rt-num,.rt-numb)>:nth-child(2){display:block!important;border-top:0!important;font-size:16.5px;color:var(--ink,#1F2933)}
table.rt-stack tr:is(.rt-num,.rt-numb)>:nth-child(2)::before{display:none}
table.rt-stack tr.rt-numb>:first-child{padding-bottom:0!important}
.rt-v>*{max-width:100%}
table.rt-stack tr.rt-sub{border-left-color:#BE1E2D;background:var(--surface-2,#F4F6F6)}
.rt-host{overflow:visible!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}

/* ---- program calendars (gantt) fit the phone: name on top, the year underneath ---- */
@media (max-width:760px){
 .gantt-scroll{overflow:visible!important}
 .gantt{min-width:0!important}
 .g-row{grid-template-columns:1fr!important}
 .g-lab{border-right:0!important;padding:9px 12px 4px!important}
 .g-head .g-lab{display:none!important}
 .g-track{min-height:34px;margin:0 6px 6px;overflow:hidden}
 .g-head .g-track{margin:0 6px}
 .g-months{font-size:10.5px!important;line-height:30px!important;letter-spacing:-.02em}
 .g-bar{font-size:11.5px!important;padding:0 5px!important;height:22px!important;line-height:22px!important}
 .g-txt{font-size:11px!important}
 /* tab rows wrap instead of running off the screen */
 .tabs,[role=tablist]{flex-wrap:wrap!important;overflow:visible!important}
 .tabs button,[role=tablist]>button{white-space:normal!important}
 /* charts drawn wider than the phone shrink to fit; Enlarge opens a full-screen view */
 .tl{min-width:0!important}
 .profsvg{min-width:0!important}
 .tl-wrap,.profile-fig{overflow:visible!important}
 /* Lawn, Garden & Private Label: two-column blocks stack */
 .pk-g{grid-template-columns:minmax(0,1fr)!important}
}
@media (max-width:900px){.pk-g{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:1024px){.gantt{min-width:0!important}.gantt-scroll{overflow:visible!important}.tabs,[role=tablist]{flex-wrap:wrap!important;overflow:visible!important}.tl,.profsvg{min-width:0!important}.tl-wrap,.profile-fig{overflow:visible!important}}

/* enlarge button and full-screen viewer for wide charts */
.rt-zoom{display:none}
@media (max-width:760px){
 .rt-zoom{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:10px;padding:0 16px;border:1.5px solid var(--line-2,#CDD3D8);border-radius:3px;background:var(--surface,#fff);color:var(--ink,#1F2933);font:600 15px/1 var(--f-body,"Source Sans 3",Arial,sans-serif);cursor:pointer}
 .rt-zoom svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
}
.rt-view{position:fixed;inset:0;z-index:2147483100;background:var(--bg,#fff);display:flex;flex-direction:column}
.rt-view[hidden]{display:none}
.rt-vh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:#1A2226;color:#fff;font:600 15px/1.3 var(--f-body,"Source Sans 3",Arial,sans-serif)}
.rt-vh button{all:unset;cursor:pointer;min-height:44px;padding:0 18px;border:1.5px solid rgba(255,255,255,.4);border-radius:3px;font-weight:600}
.rt-vb{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px}
.rt-vb>*{min-width:900px!important;max-width:none!important;margin:0!important}
.rt-vb svg{width:100%!important;min-width:900px!important}
@media (orientation:landscape){.rt-vb>*,.rt-vb svg{min-width:0!important;width:100%!important}}

/* safety net: a stray wide element can never make the whole page wider than the phone */
@media (max-width:1024px){body{overflow-x:clip}}

/* small laptops and landscape tablets: white menu keeps every item on screen */
@media (min-width:961px) and (max-width:1200px){
 .mast .wrap{gap:12px!important}
 .mast .nav>a.nl,.mast .nav>.dd>.dd-btn{padding-left:10px!important;padding-right:10px!important}
}

/* small phones: long button labels wrap instead of running off; two-column blocks never force width */
@media (max-width:760px){
 .btn{white-space:normal!important;max-width:100%;text-align:center}
 .sod-g{grid-template-columns:minmax(0,1fr)!important}
 .sod-g>*,.pk-g>*{min-width:0}
 table.rk td{white-space:normal!important}
}
@media (max-width:760px){
 .sx{grid-template-columns:minmax(0,1fr)!important}
 .sx>*,.sx-figs>*{min-width:0}
 .sx-figs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
 .sx-spec div{grid-template-columns:minmax(0,40%) minmax(0,1fr)!important}
}
@media (max-width:400px){
 table{max-width:100%}
 td,th{overflow-wrap:anywhere}
}
