/* Tahoe CBD Suite: global CSS (async). Everything below the fold. Tokens live in critical.css. */

/* ---------- Search + drawers ---------- */
.tcs-search{border-top:1px solid var(--c-line);background:var(--c-paper)}
.tcs-search__form{display:flex;gap:var(--s-2);align-items:center;padding-block:var(--s-3)}
.tcs-search__form input[type=search]{flex:1;min-width:0;min-height:48px;padding:0 var(--s-4);border:1px solid var(--c-line-2);border-radius:var(--r);background:#fff;font-size:var(--fs-2)}
.tcs-drawer,.tcs-cart{position:fixed;inset:0;z-index:120;display:flex}
.tcs-drawer__scrim,.tcs-cart__scrim{position:absolute;inset:0;background:rgba(11,45,58,.5);animation:tcs-fade .2s var(--ease)}
.tcs-drawer__panel,.tcs-cart__panel{position:relative;z-index:1;width:min(92vw,400px);height:100%;background:var(--c-paper);display:flex;flex-direction:column;overflow:auto;box-shadow:var(--sh-2);animation:tcs-slide-l .28s var(--ease);padding-bottom:env(safe-area-inset-bottom)}
.tcs-cart{justify-content:flex-end}
.tcs-cart__panel{animation-name:tcs-slide-r}
.tcs-drawer__top,.tcs-cart__top{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-line)}
.tcs-drawer__head{margin:var(--s-5) var(--s-4) var(--s-2);font-size:var(--fs-0);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted)}
.tcs-drawer__list{list-style:none;margin:0;padding:0}
.tcs-drawer__list a{display:flex;align-items:center;min-height:48px;padding:0 var(--s-4);color:var(--c-ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--c-line)}
.tcs-drawer__list a:hover{background:var(--c-pine-50)}
.tcs-drawer__contact{margin-top:auto;padding:var(--s-5) var(--s-4);border-top:1px solid var(--c-line);font-size:var(--fs-1);color:var(--c-muted)}
.tcs-drawer__contact p{margin:var(--s-3) 0 0}
.tcs-cart__title{font-family:var(--f-head);font-size:var(--fs-3);font-weight:600;margin:0}
.tcs-cart__body{flex:1;padding:var(--s-4);overflow:auto}
.tcs-cart__empty{color:var(--c-muted);text-align:center;margin-top:var(--s-6)}
.tcs-cart__item{display:grid;grid-template-columns:72px 1fr auto;gap:var(--s-3);align-items:start;padding-block:var(--s-3);border-bottom:1px solid var(--c-line)}
.tcs-cart__item img{width:72px;height:72px;object-fit:contain;background:#FCFBF8;border-radius:var(--r-sm);border:1px solid var(--c-line)}
.tcs-cart__name{font-weight:700;font-size:var(--fs-1);line-height:1.3;margin:0 0 2px}
.tcs-cart__name a{color:var(--c-ink);text-decoration:none}
.tcs-cart__meta{font-size:var(--fs-0);color:var(--c-muted);margin:0 0 6px}
.tcs-cart__qty{display:inline-flex;align-items:center;border:1px solid var(--c-line-2);border-radius:var(--r-sm)}
.tcs-cart__qty button{width:36px;height:36px;border:0;background:none;display:flex;align-items:center;justify-content:center}
.tcs-cart__qty span{min-width:28px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.tcs-cart__price{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.tcs-cart__remove{display:block;margin-top:6px;border:0;background:none;padding:0;font-size:var(--fs-0);color:var(--c-muted);text-decoration:underline}
.tcs-cart__foot{padding:var(--s-4);border-top:1px solid var(--c-line);display:grid;gap:var(--s-3);background:var(--c-cream)}
.tcs-cart__row{display:flex;justify-content:space-between;font-size:var(--fs-2)}
.tcs-cart__note{font-size:var(--fs-0);color:var(--c-muted);margin:0}
@keyframes tcs-fade{from{opacity:0}}
@keyframes tcs-slide-l{from{transform:translateX(-100%)}}
@keyframes tcs-slide-r{from{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body.tcs-locked{overflow:hidden}

/* ---------- Trust strip ---------- */







/* ---------- Category tiles ---------- */
.tcs-cat-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
@media (min-width:760px){.tcs-cat-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}}
@media (min-width:1100px){.tcs-cat-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:359px){.tcs-cat-tiles{grid-template-columns:minmax(0,1fr)}} /* 1.1.9: two columns left ~30-50px for text under 360px */
.tcs-cat-tile{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:var(--s-3);align-items:center;height:100%;padding:var(--s-4);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);text-decoration:none;color:var(--c-ink);transition:border-color .15s,box-shadow .2s var(--ease)}
.tcs-cat-tile:hover{border-color:var(--c-pine);box-shadow:var(--sh-1);color:var(--c-ink)}
.tcs-cat-tile__icon{grid-row:1/3;width:44px;height:44px;border-radius:50%;background:var(--c-pine-50);color:var(--c-pine);display:flex;align-items:center;justify-content:center}
.tcs-cat-tile__name{font-weight:700;line-height:1.25}
.tcs-cat-tile__note{font-size:var(--fs-0);color:var(--c-muted);line-height:1.35}
.tcs-link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;white-space:nowrap;min-height:44px}
.tcs-link-arrow:hover svg{transform:translateX(3px)}
.tcs-section__head .tcs-link-arrow{white-space:normal;text-align:right} /* 1.1.9: a long "All <category>" link wraps beside its heading instead of running off small phones */
.tcs-link-arrow svg{transition:transform .15s var(--ease)}

/* ---------- Split, bands, store ---------- */
.tcs-split__in{display:grid;gap:var(--s-6);align-items:center}
.tcs-split__media{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--c-sand)}
.tcs-split__media img{width:100%;height:100%;object-fit:cover}
@media (min-width:960px){.tcs-split__in{grid-template-columns:1fr 1fr;gap:var(--s-8)}.tcs-split--rev .tcs-split__media{order:2}}
.tcs-band{color:var(--c-on-dark)}
.tcs-band h2,.tcs-band h3{color:var(--c-on-dark)}
.tcs-band p{color:var(--c-on-dark-2)}
.tcs-band--pine{background:var(--c-pine)}
.tcs-band--lake{background:var(--c-lake)}
.tcs-band__in{display:grid;gap:var(--s-5)}
.tcs-band__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4)}
.tcs-band__list li{display:flex;gap:var(--s-3);align-items:flex-start}
.tcs-band__list svg{color:#BFE0CC;flex:0 0 24px;width:24px;height:24px;margin-top:2px}
.tcs-band__list strong{color:var(--c-on-dark)}
.tcs-band__list span{color:var(--c-on-dark-2)}
.tcs-band .tcs-btn{justify-self:start}
@media (min-width:960px){.tcs-band__in{grid-template-columns:1fr 1fr;column-gap:var(--s-8);align-items:start}.tcs-band__in>.tcs-btn{grid-column:1}}
.tcs-store{padding:0;background:var(--c-lake);color:var(--c-on-dark)}
.tcs-store__in{display:grid}
.tcs-store__copy{padding:var(--s-7) var(--gut);max-width:640px}
.tcs-store h2{color:var(--c-on-dark)}
.tcs-store p{color:var(--c-on-dark-2)}
.tcs-store__facts{list-style:none;margin:var(--s-5) 0;padding:0;display:grid;gap:var(--s-3)}
.tcs-store__facts li{display:flex;gap:var(--s-3)}
.tcs-store__facts svg{color:#BFE0CC;flex:0 0 22px}
.tcs-store__facts a{color:var(--c-on-dark);font-weight:700}
.tcs-store__facts small{display:block;color:var(--c-on-dark-2)}
.tcs-store__ctas{display:flex;flex-wrap:wrap;gap:var(--s-3)}
.tcs-store__media{min-height:280px}
.tcs-store__media picture,.tcs-store__media img{width:100%;height:100%;object-fit:cover}
@media (min-width:960px){.tcs-store__in{grid-template-columns:1fr 1fr}.tcs-store__copy{padding:var(--s-8) var(--s-7) var(--s-8) max(var(--gut),calc((100vw - var(--w))/2 + var(--gut)));max-width:none}}
.tcs-cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-5)}
.tcs-cta-row h2{margin-bottom:var(--s-2)}
.tcs-cta-row p{margin:0}

/* ---------- Guides ---------- */
.tcs-gcard{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;position:relative}
.tcs-gcard__media{aspect-ratio:16/10;display:block;background:var(--c-sand)}
.tcs-gcard__media img{width:100%;height:100%;object-fit:cover}
.tcs-gcard__body{padding:var(--s-4) var(--s-4) var(--s-5)}
.tcs-gcard__title{font-size:var(--fs-3);margin:6px 0 8px}
.tcs-gcard__title a{color:var(--c-ink);text-decoration:none}
.tcs-gcard__title a::after{content:"";position:absolute;inset:0}
.tcs-gcard p{color:var(--c-muted);font-size:var(--fs-1);margin:0}
.tcs-article__meta{font-size:var(--fs-0);color:var(--c-muted)}
.tcs-article__hero{margin-bottom:var(--s-5)}
.tcs-article__hero picture,.tcs-article__img{border-radius:var(--r);width:100%}
.tcs-toc{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-6)}
.tcs-toc__title{font-weight:700;margin-bottom:var(--s-2)}
.tcs-toc ol{margin:0;padding-left:1.2em;display:grid;gap:4px}
.tcs-disclaimer{font-size:var(--fs-0);color:var(--c-muted);border-top:1px solid var(--c-line);padding-top:var(--s-4);margin-top:var(--s-6)}

/* ---------- Prose ---------- */
.tcs-prose{max-width:70ch}
.tcs-wrap--narrow.tcs-prose,.tcs-prose--full{max-width:calc(var(--w-narrow) + 2*var(--gut))}
.tcs-prose h2{font-size:var(--fs-4);margin-top:var(--s-6)}
.tcs-prose h3{font-size:var(--fs-3);margin-top:var(--s-5)}
.tcs-prose>:first-child{margin-top:0}
.tcs-prose ul,.tcs-prose ol{padding-left:1.25em;margin:0 0 var(--s-4)}
.tcs-prose li{margin-bottom:6px}
.tcs-prose table{width:100%;border-collapse:collapse;margin:var(--s-4) 0;font-size:var(--fs-1)}
.tcs-prose th,.tcs-prose td{border-bottom:1px solid var(--c-line);padding:10px 8px;text-align:left;vertical-align:top}
.tcs-prose th{font-weight:700;background:var(--c-cream)}
/* 1.1.9: Tcs_Helpers::scroll_tables() wraps every content table; wide ones scroll inside this box instead of widening
   the page. contain:inline-size stops a wide table from stretching any grid or flex parent (product info, articles). */
.tcs-table-scroll{overflow-x:auto;contain:inline-size;margin:var(--s-4) 0;overscroll-behavior-x:contain}
.tcs-prose .tcs-table-scroll>table{margin:0}
/* Fade the edge that still has columns (classes set by main.js only when the table is wider than its box).
   Off while the box has keyboard focus, because a mask would also hide the focus ring. */
.tcs-table-scroll.is-scrollable.at-start:not(.at-end):not(:focus-visible){-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent)}
.tcs-table-scroll.is-scrollable.at-end:not(.at-start):not(:focus-visible){-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 48px),transparent)}
.tcs-table-scroll.is-scrollable:not(.at-start):not(.at-end):not(:focus-visible){-webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent)}
.tcs-prose blockquote{margin:var(--s-5) 0;padding:var(--s-4) var(--s-5);border-left:4px solid var(--c-pine);background:var(--c-paper);border-radius:0 var(--r) var(--r) 0}
.tcs-prose .tcs-callout{background:var(--c-warn-bg);border-left:5px solid var(--c-warn-line);border-radius:var(--r-sm);padding:14px 18px;color:var(--c-warn-ink)}
.tcs-legal h2{font-family:var(--f-head)}
.tcs-legal .tcs-glance{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);padding:var(--s-5) var(--s-5) var(--s-2);margin-bottom:var(--s-5)}
.tcs-legal .tcs-glance h2{margin-top:0}
.tcs-legal .tcs-contact-card{background:var(--c-lake);color:var(--c-on-dark);border-radius:var(--r);padding:var(--s-5) var(--s-5) var(--s-3);margin-top:var(--s-6)}
.tcs-legal .tcs-contact-card h2,.tcs-legal .tcs-contact-card strong{color:var(--c-on-dark)}
.tcs-legal .tcs-contact-card a{color:#BFE0CC}

/* ---------- Pills, link lists, related ---------- */
.tcs-pills{list-style:none;margin:var(--s-4) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}
.tcs-prose .tcs-pills{padding-left:0;list-style:none}
.tcs-pills--scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut)}
.tcs-pills--scroll::-webkit-scrollbar{display:none}
.tcs-pill{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--c-line-2);border-radius:var(--r);background:var(--c-paper);color:var(--c-ink);font-weight:600;font-size:var(--fs-1);text-decoration:none;white-space:nowrap}
.tcs-pills:not(.tcs-pills--scroll) .tcs-pill{white-space:normal;padding-block:6px} /* 1.1.9: a pill longer than the screen wraps instead of widening it */
.tcs-pill:hover{border-color:var(--c-pine);color:var(--c-pine)}
.tcs-related{display:grid;gap:var(--s-6)}
@media (min-width:860px){.tcs-related{grid-template-columns:1fr 1fr}}
.tcs-linklist{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}
.tcs-linklist a{font-weight:600}

/* ---------- Toolbar / filters ---------- */
.tcs-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-5)}
.tcs-toolbar__chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.tcs-fchip{min-height:40px;padding:0 14px;border:1px solid var(--c-line-2);border-radius:var(--r);background:var(--c-paper);font-weight:600;font-size:var(--fs-1)}
.tcs-fchip[aria-pressed="true"]{background:var(--c-pine);border-color:var(--c-pine);color:#FFFDF8}
.tcs-toolbar__right{display:flex;align-items:center;gap:var(--s-4);margin-left:auto}
.tcs-toolbar__count{margin:0;color:var(--c-muted);font-size:var(--fs-1)}
.tcs-select select{min-height:44px;padding:0 36px 0 12px;border:1px solid var(--c-line-2);border-radius:var(--r);background:var(--c-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2318211E' stroke-width='1.8' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;appearance:none;font-weight:600;font-size:var(--fs-1)}
.tcs-card.is-hidden{display:none}
.tcs-empty{background:var(--c-paper);border:1px dashed var(--c-line-2);border-radius:var(--r);padding:var(--s-6);text-align:center}
.tcs-inline-search{display:flex;gap:var(--s-2);max-width:520px;margin:var(--s-4) auto 0}
.tcs-inline-search input{flex:1;min-width:0;min-height:48px;padding:0 var(--s-4);border:1px solid var(--c-line-2);border-radius:var(--r);background:#fff}

/* ---------- Notices ---------- */
.tcs-notice{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);border-radius:var(--r);margin:var(--s-4) 0;font-size:var(--fs-1);line-height:1.5}
.tcs-notice p{margin:0}
.tcs-notice svg{flex:0 0 20px;width:20px;height:20px;margin-top:2px}
.tcs-notice--warn{background:var(--c-warn-bg);border:1px solid var(--c-warn-line);color:var(--c-warn-ink)}
.tcs-notice--info{background:var(--c-pine-50);border:1px solid #C9DDD1;color:var(--c-ink)}
.tcs-notice--ok{background:var(--c-ok-bg);border:1px solid #BFDCCB;color:var(--c-ok-ink)}

/* ---------- Product page (below top) ---------- */
.tcs-gallery__thumbs{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;gap:var(--s-2);overflow-x:auto}
.tcs-gallery__thumb{width:72px;height:72px;padding:0;border:2px solid var(--c-line);border-radius:var(--r-sm);background:#FCFBF8;overflow:hidden}
.tcs-gallery__thumb[aria-pressed="true"]{border-color:var(--c-pine)}
.tcs-gallery__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.tcs-chips--lg .tcs-chip{font-size:var(--fs-0);padding:6px 10px}
.tcs-buy .tcs-chips{margin-bottom:var(--s-4)}
.tcs-buy__form{margin-top:var(--s-5);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4)}
.tcs-opts{border:0;margin:0;padding:0;min-width:0}
.tcs-opts__label{font-weight:700;margin-bottom:var(--s-2);padding:0}
.tcs-opts__label span{font-weight:400;color:var(--c-muted)}
.tcs-opts__list{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.tcs-opt{position:relative}
.tcs-opt input{position:absolute;opacity:0;width:1px;height:1px}
.tcs-opt span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--c-line-2);border-radius:var(--r);background:var(--c-paper);font-weight:600;font-size:var(--fs-1);cursor:pointer}
.tcs-opt input:checked+span{border-color:var(--c-pine);background:var(--c-pine-50);color:var(--c-pine);box-shadow:inset 0 0 0 1px var(--c-pine)}
.tcs-opt input:focus-visible+span{outline:3px solid var(--c-sun);outline-offset:2px}
.tcs-opt.is-out span{opacity:.5;text-decoration:line-through}
.tcs-buy__row{display:flex;flex-wrap:wrap;gap:var(--s-3)}
.tcs-buy__add{flex:1 1 140px} /* 1.1.9: drops under the quantity stepper only when the pair cannot fit (phones under ~315px) */
@media (max-width:359px){.tcs-buy__row .tcs-buy__add{padding-inline:16px}} /* keeps stepper + button side by side on 320px phones */
.tcs-qty{display:inline-flex;align-items:center;border:1px solid var(--c-line-2);border-radius:var(--r);background:var(--c-paper)}
.tcs-qty button{width:44px;height:52px;border:0;background:none;display:flex;align-items:center;justify-content:center}
.tcs-qty input{width:40px;border:0;background:none;text-align:center;font-weight:700;font-size:var(--fs-2);-moz-appearance:textfield;appearance:textfield}
.tcs-qty input::-webkit-outer-spin-button,.tcs-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tcs-buy__msg{margin:0;font-weight:600;min-height:1.5em}
.tcs-buy__msg.is-error{color:var(--c-err)}
.tcs-buy__msg.is-ok{color:var(--c-pine)}
.tcs-buy__assure{list-style:none;margin:var(--s-5) 0 0;padding:var(--s-4) 0 0;border-top:1px solid var(--c-line);display:grid;gap:var(--s-3);font-size:var(--fs-1)}
.tcs-buy__assure li{display:flex;gap:var(--s-3)}
.tcs-buy__assure svg{color:var(--c-pine);flex:0 0 22px}
.tcs-coa-box{display:flex;gap:var(--s-3);margin-top:var(--s-5);padding:var(--s-4);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);font-size:var(--fs-1)}
.tcs-coa-box svg{color:var(--c-pine);flex:0 0 24px}
.tcs-coa-box p{margin:0}
.tcs-coa-box ul{margin:6px 0 0;padding-left:1.1em}
.tcs-pdp-info__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6)}
@media (min-width:960px){.tcs-pdp-info__grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s-8);align-items:start}.tcs-facts{position:sticky;top:calc(var(--hdr) + 16px)}}
.tcs-pdp-info .tcs-prose h2{font-size:var(--fs-4)}
.tcs-pdp-info .tcs-prose h2:first-child{margin-top:0}
.tcs-facts{background:var(--c-cream);border:1px solid var(--c-line);border-radius:var(--r);padding:var(--s-5)}
.tcs-facts__table{width:100%;border-collapse:collapse;font-size:var(--fs-1)}
.tcs-facts__table th,.tcs-facts__table td{padding:10px 0;border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top}
.tcs-facts__table th{font-weight:600;color:var(--c-muted);width:46%;padding-right:var(--s-3)}
.tcs-facts__table td{font-weight:700;font-variant-numeric:tabular-nums}
.tcs-facts__note{font-size:var(--fs-0);color:var(--c-muted);margin:var(--s-4) 0 0}
.tcs-reviews{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4)}
.tcs-review{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);padding:var(--s-4) var(--s-5)}
.tcs-review__stars{color:var(--c-sun);letter-spacing:2px;margin-bottom:6px}
.tcs-review__by{font-size:var(--fs-0);color:var(--c-muted);margin:0}
.tcs-stickybuy{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--c-paper);border-top:1px solid var(--c-line);box-shadow:0 -6px 20px rgba(24,33,30,.08);padding-bottom:env(safe-area-inset-bottom)}
.tcs-stickybuy__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:68px}
.tcs-stickybuy__name{margin:0;font-weight:700;font-size:var(--fs-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:959px){body.tcs-has-stickybuy{padding-bottom:calc(69px + env(safe-area-inset-bottom, 0px))}}
@media (min-width:960px){.tcs-stickybuy{display:none!important}}

/* ---------- FAQ ---------- */
.tcs-faq__list{display:grid;gap:var(--s-2)}
.tcs-faq__item{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r)}
.tcs-faq__item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);font-weight:700;cursor:pointer;min-height:56px}
.tcs-faq__item summary::-webkit-details-marker{display:none}
.tcs-faq__icon{transition:transform .2s var(--ease);color:var(--c-pine)}
.tcs-faq__item[open] .tcs-faq__icon{transform:rotate(45deg)}
.tcs-faq__a{padding:0 var(--s-5) var(--s-4);color:var(--c-ink-2)}
.tcs-faq__a p:last-child{margin:0}

/* ---------- Icon cards ---------- */
.tcs-icards{list-style:none;margin:var(--s-5) 0 0;padding:0;display:grid;gap:var(--s-4)}
@media (min-width:760px){.tcs-icards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.tcs-icards{grid-template-columns:repeat(3,1fr)}}
.tcs-icard{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);padding:var(--s-5)}
.tcs-icard__icon{width:44px;height:44px;border-radius:50%;background:var(--c-pine-50);color:var(--c-pine);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-3)}
.tcs-icard h3{font-size:var(--fs-3);margin-bottom:var(--s-2)}
.tcs-icard p{margin:0;color:var(--c-muted);font-size:var(--fs-1)}

/* ---------- Tables ---------- */
.tcs-table-wrap{overflow-x:auto;border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-paper)}
.tcs-table{width:100%;border-collapse:collapse;font-size:var(--fs-1)}
.tcs-table th,.tcs-table td{padding:12px 14px;border-bottom:1px solid var(--c-line);text-align:left}
.tcs-table thead th{background:var(--c-cream);font-weight:700}

/* ---------- Contact + forms ---------- */
.tcs-contact{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6)}
@media (min-width:960px){.tcs-contact{grid-template-columns:1.4fr 1fr;gap:var(--s-8)}}
.tcs-contact__side{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r);padding:var(--s-5);align-self:start}
.tcs-contact__list{list-style:none;margin:0 0 var(--s-5);padding:0;display:grid;gap:var(--s-4)}
.tcs-contact__list li{display:flex;gap:var(--s-3)}
.tcs-contact__list svg{color:var(--c-pine);flex:0 0 22px}
.tcs-contact__list strong{display:block;font-size:var(--fs-0);text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted)}
.tcs-form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4);margin-top:var(--s-4)}
.tcs-form__row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4)}
@media (min-width:640px){.tcs-form__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.tcs-field label{display:block;font-weight:700;font-size:var(--fs-1);margin-bottom:6px}
.tcs-opt-label{font-weight:400;color:var(--c-muted)}
.tcs-field input,.tcs-field select,.tcs-field textarea{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--c-line-2);border-radius:var(--r);background:#fff;font-size:var(--fs-2)}
.tcs-field textarea{min-height:140px;resize:vertical}
.tcs-field input:focus,.tcs-field select:focus,.tcs-field textarea:focus{outline:none;border-color:var(--c-pine);box-shadow:0 0 0 3px rgba(31,77,63,.18)}
.tcs-field .is-invalid{border-color:var(--c-err)}
.tcs-form__fine{font-size:var(--fs-0);color:var(--c-muted);margin:0}
.tcs-form__msg{margin:0;font-weight:600}
.tcs-form__msg.is-error{color:var(--c-err)}
.tcs-form__msg.is-ok{color:var(--c-pine)}
.tcs-form .tcs-btn{justify-self:start}
.tcs-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tcs-map{border-radius:var(--r);overflow:hidden;border:1px solid var(--c-line);aspect-ratio:16/7;background:var(--c-sand)}
.tcs-map iframe{width:100%;height:100%;border:0;display:block}

/* ---------- Glossary ---------- */
.tcs-az{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-4)}
.tcs-az a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid var(--c-line-2);border-radius:var(--r-sm);background:var(--c-paper);font-weight:700;text-decoration:none;color:var(--c-ink)}
.tcs-az a:hover{border-color:var(--c-pine);color:var(--c-pine)}
.tcs-az__letter{font-size:var(--fs-4);margin-top:var(--s-6);padding-bottom:var(--s-2);border-bottom:1px solid var(--c-line)}
.tcs-gloss{margin:0;display:grid;gap:var(--s-4)}
.tcs-gloss dt{font-weight:700}
.tcs-gloss dd{margin:2px 0 0;color:var(--c-muted);font-size:var(--fs-1)}
.tcs-cta-inline{margin-top:var(--s-6);padding:var(--s-4) var(--s-5);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r)}

/* ---------- 404 ---------- */
.tcs-404{text-align:center}
.tcs-404 .tcs-pills{justify-content:center}
.tcs-secure{display:flex;align-items:center;gap:6px;color:var(--c-muted);font-size:var(--fs-1);margin:0}

/* ---------- Footer ---------- */
/* ---------- Footer (1.1.2: ridge edge, visit band, accents) ---------- */
:root{--c-sun-300:#F2A66E}
.tcs-footer{position:relative;color:var(--c-on-dark-2);font-size:var(--fs-1);margin-top:var(--s-6)}
.tcs-footer__ridge{display:block;width:100%;height:56px;margin-bottom:-1px}
.tcs-footer__ridge-back{fill:var(--c-lake);opacity:.55}
.tcs-footer__ridge-front{fill:var(--c-lake-800)}
.tcs-footer__body{background:var(--c-lake-800);padding-bottom:env(safe-area-inset-bottom)}
.tcs-footer a{color:var(--c-on-dark);text-decoration:none}
.tcs-footer a:hover,.tcs-footer a:focus-visible{color:var(--c-sun-300);text-decoration:underline;text-underline-offset:3px}
.tcs-footer .tcs-icon{flex:none}
.tcs-footer__visit{display:grid;gap:var(--s-4);align-items:center;padding:var(--s-5);border-radius:calc(var(--r) * 1.5);background:linear-gradient(120deg,rgba(15,59,76,.95),rgba(31,77,63,.9));border:1px solid rgba(246,242,234,.12);box-shadow:0 18px 40px rgba(0,0,0,.18)}
@media (min-width:860px){.tcs-footer__visit{grid-template-columns:1fr auto;padding:var(--s-5) var(--s-6)}}
.tcs-footer__eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--c-sun-300);font-weight:700;font-size:var(--fs-0);letter-spacing:.08em;text-transform:uppercase}
.tcs-footer__visit-title{margin:0 0 4px;font-family:var(--f-head);font-size:var(--fs-4);line-height:1.2;color:var(--c-on-dark)}
.tcs-footer__visit-sub{margin:0;color:var(--c-on-dark-2)}
.tcs-footer__visit-cta{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.tcs-footer__visit-cta .tcs-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;text-decoration:none}
.tcs-btn--sun{background:var(--c-sun);color:#fff;border:1px solid var(--c-sun)}
.tcs-footer .tcs-btn--sun,.tcs-footer .tcs-btn--sun:hover{color:#fff;text-decoration:none}
.tcs-btn--sun:hover{background:var(--c-sun-700);border-color:var(--c-sun-700)}
.tcs-btn--ondark{background:transparent;color:var(--c-on-dark);border:1px solid rgba(246,242,234,.45)}
.tcs-footer .tcs-btn--ondark:hover{background:rgba(246,242,234,.08);color:#fff;text-decoration:none;border-color:var(--c-on-dark)}
.tcs-footer__grid{display:grid;gap:var(--s-6);padding-block:var(--s-7) var(--s-6)}
@media (min-width:760px){.tcs-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.tcs-footer__grid{grid-template-columns:1.6fr repeat(3,1fr);gap:var(--s-6) var(--s-7)}}
.tcs-footer__logo{display:inline-block;margin-bottom:var(--s-4)}
.tcs-footer__logo img{width:174px;height:auto;display:block}
.tcs-footer__blurb{max-width:42ch;margin:0 0 var(--s-4)}
.tcs-footer__nap{font-style:normal;display:grid;gap:10px;line-height:1.55}
.tcs-footer__line{display:flex;gap:10px;align-items:flex-start}
.tcs-footer__line .tcs-icon{margin-top:3px;color:var(--c-sun-300)}
.tcs-footer__nap strong{color:var(--c-on-dark)}
.tcs-footer__head{position:relative;color:var(--c-on-dark);font-weight:700;font-size:var(--fs-0);letter-spacing:.08em;text-transform:uppercase;margin:0 0 var(--s-3);padding-bottom:10px}
.tcs-footer__head::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:var(--c-sun-300)}
.tcs-footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.tcs-footer__col a{display:inline-flex;align-items:center;min-height:36px;color:var(--c-on-dark-2)}
.tcs-footer__col a:hover,.tcs-footer__col a:focus-visible{color:var(--c-sun-300)}
.tcs-footer__legal{border-top:1px solid rgba(246,242,234,.14);padding-block:var(--s-5) var(--s-5);font-size:var(--fs-0);line-height:1.65}
.tcs-footer__legal p{max-width:none}
.tcs-footer__legal strong{color:var(--c-on-dark)}
.tcs-footer__tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-4)}
.tcs-footer__tags .tcs-tag{display:inline-flex;align-items:center;gap:6px}
.tcs-footer__tags .tcs-icon{color:var(--c-sun-300)}
.tcs-footer__box{background:rgba(0,0,0,.18);border-left:3px solid var(--c-warn-line);border-radius:var(--r-sm);padding:10px 14px}
.tcs-footer__bar{background:rgba(0,0,0,.22)}
.tcs-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);padding-block:var(--s-4);font-size:var(--fs-0)}
.tcs-footer__bottom p{margin:0}
.tcs-footer__policies{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4)}
.tcs-footer__policies a{display:inline-flex;align-items:center;min-height:32px}
.tcs-footer__pay{display:flex;flex-wrap:wrap;gap:6px}
.tcs-tag{display:inline-block;padding:5px 12px;border-radius:var(--r-sm);border:1px solid rgba(191,224,204,.45);background:rgba(191,224,204,.08);color:#D4ECDD;font-weight:700}
.tcs-pay{width:44px;height:28px;object-fit:contain}

/* ---------- Glossary anchors ---------- */
.tcs-gloss__item{scroll-margin-top:calc(var(--hdr) + 24px);padding:var(--s-2) var(--s-3);margin-inline:calc(-1*var(--s-3));border-radius:var(--r-sm);transition:background-color .6s}
.tcs-gloss__item:target{background:var(--c-sun-50)}
.tcs-gloss__more{display:inline-block;font-size:var(--fs-0);font-weight:600}

.tcs-hub-intro{margin-top:var(--s-4);max-width:70ch}
.tcs-help{border-top:1px solid var(--c-line)}

.tcs-sources{margin-top:var(--s-6);font-size:var(--fs-1)}
.tcs-sources ol{padding-left:1.2em}
.tcs-article__meta a{color:inherit}

/* ---------- Founder box ---------- */
.tcs-founder{display:grid;grid-template-columns:96px 1fr;gap:var(--s-4);align-items:start;margin-top:var(--s-6);padding:var(--s-4) var(--s-5);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r)}
.tcs-founder__photo{width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--c-sand)}
.tcs-founder__photo picture,.tcs-founder__img{width:100%;height:100%;object-fit:cover}
.tcs-founder__name{font-weight:700;margin-bottom:4px}
.tcs-founder__name span{font-weight:400;color:var(--c-muted)}
.tcs-founder p{font-size:var(--fs-1);margin-bottom:6px}
.tcs-founder__links{font-weight:600}
@media (max-width:520px){.tcs-founder{grid-template-columns:72px 1fr}.tcs-founder__photo{width:72px;height:72px}}
.tcs-founder-fig{margin:0}.tcs-founder-fig__img{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;background:var(--c-sand)}.tcs-founder-fig__img img{width:100%;height:100%;object-fit:cover;display:block}.tcs-founder-fig figcaption{margin-top:8px;font-size:var(--fs-1);color:var(--c-muted)}
.tcs-split--founder .tcs-split__in{grid-template-columns:minmax(0,420px) 1fr}
@media (max-width:959px){.tcs-split--founder .tcs-split__in{grid-template-columns:1fr}.tcs-founder-fig{max-width:420px}}

/* ---------- COA lists ---------- */
.tcs-coa-list{list-style:none;padding:0;margin:0 0 var(--s-2);display:grid;gap:var(--s-2)}
.tcs-coa-list li{display:grid;gap:2px}
.tcs-coa-list small{color:var(--c-muted);font-size:var(--fs-0, .8125rem)}
.tcs-coa-note{font-style:italic}
.tcs-coa-more{font-size:var(--fs-1);margin-top:var(--s-2)}
.tcs-coa-verify{font-size:var(--fs-0, .8125rem)}
.tcs-coa-noterow td{font-size:var(--fs-0, .8125rem);color:var(--c-muted);padding-top:0;border-top:0}
ul.tcs-coa-list{padding-left:0;margin-left:0}
.tcs-coa-archive-title{margin-top:var(--s-8)}
.tcs-coa-archive-intro{color:var(--c-muted);max-width:70ch;margin-bottom:var(--s-4)}
@media (max-width:640px){
.tcs-coa-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tcs-coa-table,.tcs-coa-table tbody,.tcs-coa-table tr,.tcs-coa-table td{display:block;width:100%}
.tcs-coa-table tr.tcs-coa-row{padding:var(--s-3) var(--s-3) 0;border-top:1px solid var(--c-line)}
.tcs-coa-table tr.tcs-coa-row td{border:0;padding:2px 0}
.tcs-coa-table td.tcs-coa-product{font-weight:700;padding-bottom:4px}
.tcs-coa-table td[data-label]::before{content:attr(data-label) ": ";color:var(--c-muted)}
.tcs-coa-table td.tcs-coa-links{padding:6px 0 4px}
.tcs-coa-table tr.tcs-coa-noterow td{padding:0 var(--s-3) var(--s-3)}
}

/* ---------- Price on request ---------- */
.tcs-quote{font-size:var(--fs-2);font-weight:700;color:var(--c-ink-2)}
.tcs-quote-box{display:grid;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-paper);margin:var(--s-4) 0}
.tcs-quote-box p{margin:0}
.tcs-quote-box__cta{display:flex;flex-wrap:wrap;gap:var(--s-2)}

/* ---------- Visitor sitemap (1.1.4) ---------- */
.tcs-smap__grid{display:grid;gap:var(--s-7)}
@media (min-width:960px){.tcs-smap__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--s-8)}}
.tcs-smap h2{font-size:var(--fs-4);margin:0 0 var(--s-3)}
.tcs-smap__side h2{margin-top:var(--s-6)}
.tcs-smap__side h2:first-child{margin-top:0}
.tcs-smap ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.tcs-smap li a{display:inline-block;padding:4px 0;text-decoration:none;color:var(--c-ink-2)}
.tcs-smap li a:hover,.tcs-smap li a:focus-visible{color:var(--c-pine);text-decoration:underline;text-underline-offset:3px}
.tcs-smap__all{font-weight:700;margin-bottom:var(--s-5)}
.tcs-smap__cats{display:grid;gap:var(--s-5) var(--s-6)}
@media (min-width:640px){.tcs-smap__cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tcs-smap__cat{padding-top:var(--s-3);border-top:2px solid var(--c-line)}
.tcs-smap__cat h3{font-size:var(--fs-2);margin:0 0 6px}
.tcs-smap__cat h3 a{color:var(--c-pine);text-decoration:none}
.tcs-smap__cat h3 a:hover{text-decoration:underline}
.tcs-smap__xml{margin-top:var(--s-6);font-size:var(--fs-1);color:var(--c-muted)}
.tcs-smap__lead{margin:0 0 var(--s-7)}
.tcs-smap__lead p{margin:0}
