/* TerraWave page-local overrides. The donor's endorsement cards carried a person's portrait.
   Our card quotes a government kit list, so a face would imply a person who never spoke.
   The portrait is replaced with a plain checklist icon. */
#iv3kx4,#im8u8ad,#i06srmq{background-image:url('https://lclnytlafonzqyfpxlos.supabase.co/storage/v1/object/public/funnel-images/terrawave/pdp-v6-20261101/icon_kitlist.webp') !important;background-size:72px auto !important;background-position:right 12px bottom 12px !important;}
/* Concealed-mechanism pair (Gate 11): the current donor stylesheet lays the pair out as a two-column grid
   but the inline rule still pins both images absolutely inside a square, leaving an empty black box.
   Show the two frames side by side at a square crop, and show their captions, which carry the beat. */
.tstip-f{aspect-ratio:auto !important;background:transparent !important;overflow:visible !important}
.tstip-f img{position:static !important;width:100% !important;height:auto !important;aspect-ratio:1/1;object-fit:contain;border-radius:12px;opacity:1 !important;animation:none !important;background:#fff}
.tstip-c{display:grid !important;grid-template-columns:1fr 1fr;gap:6px}
.tstip-c span{text-align:center;letter-spacing:0 !important;font-size:12px !important;line-height:1.3}
/* v17o: the crank pair swipes as a carousel (owner 31 Oct); the next slide peeks so she knows to swipe */
.tstip-f.tw-swipe{display:flex !important;overflow-x:auto !important;max-width:100%;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.tstip-f.tw-swipe::-webkit-scrollbar{display:none}
.tstip-f.tw-swipe figure{flex:0 0 82%;scroll-snap-align:center;margin:0}
/* Owner 31 Oct (desktop screenshot, pair pages-596): .tstip-f's overflow:visible !important let the swipe spill over the
   text column. Phones swipe; desktop shows the pair side by side inside the column. */
@media (min-width:768px){.tstip-f.tw-swipe{overflow-x:hidden !important}.tstip-f.tw-swipe figure{flex:0 0 calc(50% - 5px)}}
.tstip-f.tw-swipe figcaption{text-align:center;font-family:Montserrat,sans-serif;font-weight:700;font-size:15px;line-height:1.3;margin-top:8px}
/* v4 carousel: square slides, swipe on mobile, thumbnails below */
.tw-car{width:100%;max-width:560px;margin:0 auto}
.tw-car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:10px}
.tw-car-track::-webkit-scrollbar{display:none}
.tw-car-slide{flex:0 0 100%;width:100%;aspect-ratio:1/1;object-fit:cover;scroll-snap-align:center}
/* Owner 1 Nov (pair pages-625): the approved TerraStrike preview. One row of small squares, the current one marked in the
   brand orange, arrows beside the row (every slide prints words an arrow on the picture would cover), a click that
   changes the picture and never moves the page. */
.tw-car-row{display:flex;align-items:center;gap:4px;margin-top:10px;padding:0 6px}
.tw-car-arrow{flex:0 0 30px;width:30px;height:30px;min-width:0;margin:0;padding:0;border:1px solid #cfcfcf;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.tw-car-arrow::before{content:"";width:8px;height:8px;border:solid #1f2a37;border-width:0 2.5px 2.5px 0}
.tw-car-arrow.prev::before{transform:translateX(2px) rotate(135deg)}
.tw-car-arrow.next::before{transform:translateX(-2px) rotate(-45deg)}
.tw-car-thumbs{position:relative;flex:1 1 auto;min-width:0;display:flex;justify-content:safe center;gap:8px;padding:2px 2px 6px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tw-car-thumbs::-webkit-scrollbar{display:none}
.tw-car-thumbs a{flex:0 0 60px;width:60px;height:60px;box-sizing:border-box;border:2px solid transparent;border-radius:8px;overflow:hidden;opacity:.6;transition:opacity .2s,border-color .2s}
.tw-car-thumbs a:hover{opacity:.9}
.tw-car-thumbs a.on{opacity:1;border-color:#E0592B;box-shadow:0 2px 8px rgba(224,89,43,.3)}
.tw-car-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;display:block}
.tw-car-thumbs a.on img{border:0}
@media (min-width:768px){.tw-car-row{padding:0}.tw-car-thumbs{gap:5px}.tw-car-thumbs a{flex-basis:42px;width:42px;height:42px}}
@media (prefers-reduced-motion:reduce){.tw-car-track,.tw-car-thumbs{scroll-behavior:auto}}
.tw-car .tw-car-slide{position:relative!important;inset:auto!important;transform:none!important;height:auto!important;max-width:100%!important;margin:0!important}
.tw-car .tw-car-thumbs img{position:static!important;height:auto!important;transform:none!important}
#i40bdk9{height:auto!important;padding:0!important;overflow:visible!important}
#i40bdk9::before{display:none!important;padding:0!important}
#i40bdk9>.thero{position:static!important;height:auto!important;overflow:visible!important}
#i2855dw{height:auto!important}
/* v5 sourced comparison table */
.tw-cmp{width:100%;border-collapse:collapse;font-size:15px;line-height:1.3;background:#fff;margin:8px 0 6px}
.tw-cmp th,.tw-cmp td{border:1px solid #e3e3e3;padding:9px 8px;text-align:center;vertical-align:middle}
.tw-cmp tr:first-child th{background:#1f2a37;color:#fff;font-weight:700}
.tw-cmp tr:first-child th.tw-us{background:#c8102e}
.tw-cmp th[scope=row]{text-align:left;font-weight:700;background:#f6f6f6;color:#1f2a37}
.tw-cmp td.tw-us{background:#fff3f3;font-weight:700;color:#1f2a37}
.tw-cmp-note{font-size:12px;color:#666;margin:4px 0 0;text-align:left}
@media (max-width:600px){.tw-cmp{font-size:12px}.tw-cmp th,.tw-cmp td{padding:6px 4px}}
.tw-cmp-h{font-size:30px;font-weight:700;text-align:center;margin:0 0 16px;color:#1f2a37}
@media (max-width:600px){.tw-cmp-h{font-size:24px}}

/* v6: body type near-black (owner: "should be black"); white-on-dark rules keep their !important */
p{color:#121212}
.tw-cmp-note{color:#333}

/* v7 tick grid */
.tw-ticks td{font-size:20px;font-weight:800;text-align:center}
.tw-ticks td.tw-yes{color:#1f8a3d}
.tw-ticks td.tw-no{color:#c0392b}
.tw-ticks th[scope=row]{font-size:13px;line-height:1.25}
.tw-ticks th{font-size:12px}
/* v7.7: the proof row kept the donor's 30px top padding on a transparent background, a grey band between sections */
#i9nhzq{padding-top:0 !important}

/* v19 layout (owner 31 Oct, "fix this layout"): every story section reads text, then picture, on a phone; the
   Introducing block uses the page's own type; pictures share one corner radius; the seal sits with its heading. */
@media (max-width:767px){#ixg7mhz,#ijqq5m{flex-direction:column !important}}
#io9k1vh > div{font-family:Montserrat,sans-serif !important;color:#121212 !important;font-size:17px !important;line-height:24px !important}
#io9k1vh > div#ixs37f9{font-size:23px !important;line-height:33px !important;font-weight:700 !important;margin-bottom:14px}
@media (min-width:768px){#io9k1vh > div#ixs37f9{font-size:27px !important;line-height:36px !important}#iqc272u{justify-content:center}}
#i0rbks img,#itsmosaic img{border-radius:12px}
img[data-tw-seal]{margin:0 0 16px !important}
/* v19: the stakes' first two lines keep the same paragraph gap as the rest; desktop rival ticks line up with TerraWave's */
#io14v6 > div:nth-of-type(2){margin-top:24px}
#iiir3g img[data-tw-col='1']{position:relative;top:-5px}
img[data-tw-col='last']{position:relative;top:4px}
@media (min-width:768px){img[data-tw-seal]{margin:0 auto 16px !important}}
@media (min-width:768px){#ixg7mhz{align-items:center}}
/* v19: the FAQ heading no longer touches the free-guides box */
.tw-bonus{margin-bottom:28px !important}
@media (min-width:768px){.tw-bonus{max-width:720px;margin-left:auto !important;margin-right:auto !important}}

/* v20 (owner 1 Nov) */
.tw-or{color:#e0592b !important}
#io9k1vh b,#i4wsztb b{font-weight:700}
/* the seal sits on the page's centre at every width */
#iho4ba{padding-left:10px !important;padding-right:10px !important}
img[data-tw-seal]{margin:0 auto 16px !important}
/* six cards: three across on a wide screen, two on a tablet, one on a phone */
.tw-tiles{flex-direction:row !important;flex-wrap:wrap !important;gap:20px;justify-content:center !important}
.tw-tiles > div{flex:1 1 calc(33.33% - 20px) !important;min-width:0;margin:0 !important}
.tw-tile{background:#fff !important;box-shadow:0 4px 13px 0 #09413C1A !important;border-radius:10px;padding:48px 24px;text-align:center}
.tw-tile-p{display:flex;justify-content:center}
.tw-tile-i{display:block;width:100%;aspect-ratio:1/1;border-radius:12px;object-fit:cover}
.tw-tile-t{margin-top:8px;padding:1px;font:700 19px/26.6px Montserrat,sans-serif;color:#212121;text-align:center}
.tw-tile-k{display:inline;width:20px !important;height:auto;margin-right:5px;margin-bottom:3px;vertical-align:middle}
.tw-tile-b{margin-top:8px;padding:1px;font:400 16px/22.4px Montserrat,sans-serif;color:#121212;text-align:center}
@media (max-width:999px){.tw-tiles > div{flex-basis:calc(50% - 20px) !important}}
@media (max-width:767px){.tw-tiles{gap:20px}.tw-tiles > div{flex-basis:100% !important}.tw-tile{padding:18px 14px}}
/* the comparison: one table, no gap under the heads, our column one unbroken card */
.tw-vs{width:100%;max-width:880px;margin:0 auto;border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:Montserrat,sans-serif;color:#121212}
.tw-vs th,.tw-vs td{padding:10px 2px;text-align:center;vertical-align:middle;border-bottom:1px solid #d9d9d9}
.tw-vs th.lab{width:28%;text-align:left;padding-left:0;padding-right:6px;font-weight:500;font-size:13px;line-height:1.25}
.tw-vs thead th{vertical-align:bottom;font-weight:700;font-size:11px;line-height:1.2;padding:12px 1px 10px}
.tw-vs thead img{display:block;width:100%;max-width:56px;height:auto;margin:0 auto 6px;mix-blend-mode:multiply}
.tw-vs td img.m{display:inline-block;width:24px;height:24px;vertical-align:middle}
.tw-vs .us{background:#fdf3ec;border-left:2.5px solid #d4663a;border-right:2.5px solid #d4663a}
.tw-vs thead .us{border-top:2.5px solid #d4663a;border-radius:16px 16px 0 0}
.tw-vs tbody tr:last-child .us{border-bottom:2.5px solid #d4663a;border-radius:0 0 16px 16px}
@media (min-width:768px){
  .tw-vs th.lab{width:34%;font-size:16px;padding-right:12px}
  .tw-vs thead th{font-size:15px;padding:14px 4px 12px}
  .tw-vs thead img{max-width:96px}
  .tw-vs th,.tw-vs td{padding-top:13px;padding-bottom:13px}
  .tw-vs td img.m{width:30px;height:30px}
}
/* the box: title above the picture, full width on a phone, the picture on the page's own white */
.tw-boxrow{flex-wrap:wrap !important}
#iy22py{flex:0 0 100%;width:100%;text-align:center;margin-bottom:14px}
.tw-boxrow > #ipwmpl img{mix-blend-mode:multiply}
@media (min-width:768px){.tw-boxrow > #ipwmpl,.tw-boxrow > #ik5a7z{flex:1 1 calc(50% - 10px) !important;min-width:0;width:auto}}
@media (max-width:767px){.tw-boxrow > #ipwmpl{width:calc(100% + 40px) !important;max-width:none;margin-left:-20px !important;margin-right:-20px !important;padding:0 !important}.tw-boxrow > #ipwmpl img{width:100% !important;max-width:none !important;border-radius:0}}
/* v20: the grey wrapper never shows through between sections */
#idzlbc,#i5cthd,#ixg7mhz,#ijqq5m{margin-top:0 !important;margin-bottom:0 !important}
#iycqe48{display:block;text-align:center;line-height:1.3 !important}
.tw-vs thead th.us{width:20%}
@media (max-width:767px){
  .tw-boxrow > #ipwmpl{width:100vw !important;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important}
  #iy22py{margin-bottom:6px}
  .tw-boxrow > #ik5a7z{margin-top:10px !important}
}
/* v20: no grey stripes between the white sections; story sections keep text beside picture from tablet up */
#irurgn,#imya5x{background:#fff !important}
@media (min-width:768px){
  #idzlbc,#i5cthd,#ixg7mhz,#ijqq5m{flex-direction:row !important;align-items:center !important;gap:24px}
  #idzlbc > div,#i5cthd > div,#ixg7mhz > div,#ijqq5m > div{flex:1 1 50% !important;min-width:0;width:auto !important;max-width:none !important;margin:0 !important}
}
@media (min-width:768px){#iujdjh{order:0}#iq0dvw{order:1}}
@media (min-width:768px) and (max-width:1199px){#idzlbc,#i5cthd,#ixg7mhz,#ijqq5m{align-items:flex-start !important}}

/* v21 (owner 1 Nov, pair pages-626): the donor's rhythm, measured on Nooro at 1440. Backgrounds change section by section
   (his 31 Jul rule: white, blue, white, blue), the picture swaps sides, and the guarantee is a plain text column with its
   button, the seal beside it. The band rule in pdp-styles.css keyed the colours to the DOM's old section order. */
#i5cthd{background-color:#EEF2F6}
#ixg7mhz{background-color:#EEF2F6}
#ijqq5m{background-color:#fff}
#ind9uq{position:relative;width:100vw;margin:0 0 0 calc(50% - 50vw) !important;padding:34px calc(50vw - 50%) 44px !important;background-color:#EEF2F6}
#i9nhzq{padding-bottom:0 !important}
#iho4ba{display:flex;flex-direction:column;align-items:stretch;padding:0 10px !important}
#iho4ba > #ih42ebl{order:1;text-align:left}
#iho4ba > #ilfeiy{order:2;text-align:left}
#iho4ba > img[data-tw-seal]{order:3;width:190px !important;height:auto !important;margin:18px auto !important}
#iho4ba > #i4ej3x1{order:4}
@media (min-width:768px){
  #i5cthd,#ixg7mhz{flex-direction:row-reverse !important}
  #iho4ba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;padding:0 10px !important}
  #iho4ba > #ih42ebl{grid-column:2;grid-row:1}
  #iho4ba > #ilfeiy{grid-column:2;grid-row:2}
  #iho4ba > #i4ej3x1{grid-column:2;grid-row:3;margin-top:18px}
  #iho4ba > img[data-tw-seal]{grid-column:1;grid-row:1 / span 3;align-self:center;justify-self:center;width:300px !important;max-width:100%;margin:0 !important}
}
/* the hero's "Not available" note sits on the same centre as the secure-checkout line */
#idrbc7{display:block;text-align:center}
.tw-forever{font-style:italic}
@media (min-width:993px){#iho4ba{padding:0 30px !important}}
/* the hero's picture column never pushes past the screen at small-desktop widths */
.tw-car{min-width:0;max-width:min(560px,100%)}
.tw-car-row{min-width:0;max-width:100%}
#i2855dw{min-width:0 !important}
/* pair pages-597: the rivals' ticks fade and their crosses read red, so our column is the one that stands out */
.tw-vs td:not(.us) img.m[alt=yes]{opacity:.4;filter:grayscale(1)}
/* a portrait iPad keeps the trust row three across, as the widths either side of it do */
@media (min-width:600px) and (max-width:768px){#i6l0qhj{flex-direction:row !important;align-items:flex-start !important}#i6l0qhj > *{flex:1 1 0 !important;min-width:0;width:auto !important}}
/* all ten preview squares fit where the hero's picture column is narrow */
@media (min-width:769px) and (max-width:1199px){.tw-car-thumbs{gap:4px}.tw-car-thumbs a{flex-basis:36px;width:36px;height:36px}}

/* v22 (owner 1 Nov, pair pages-631): the crank-radio section takes the same band, type and picture as the sections around it */
#twtried{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:34px calc(50vw - 50%);background:#fff;display:flex;flex-direction:column;text-align:left}
#twtried-t{padding:12px 20px;font-family:Montserrat,sans-serif;color:#121212}
#twtried-p{padding:1px 15px}
#twtried-p img{display:block;width:100%;max-width:569px;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:12px;margin:0 auto}
.tw-tr-h{font:700 23px/33px Montserrat,sans-serif;color:#121212}
.tw-tr-b{font:400 17px/24px Montserrat,sans-serif;color:#121212;margin-top:20px}
.tw-tr-x{display:flex;gap:10px;align-items:flex-start;font:400 17px/24px Montserrat,sans-serif;color:#121212;margin-top:14px}
.tw-tr-x img{flex:0 0 24px;width:24px;height:24px;margin:0}
@media (min-width:768px){
  #twtried{flex-direction:row;align-items:center;gap:24px}
  #twtried > div{flex:1 1 50%;min-width:0}
  .tw-tr-h{font-size:27px;line-height:36px}
}
@media (min-width:768px) and (max-width:1199px){#twtried{align-items:flex-start}}
@media (min-width:993px){#twtried-t{padding-left:30px}}
/* the guarantee's text column starts on the same line as the other right-hand columns */
@media (min-width:768px){#iho4ba > #ih42ebl,#iho4ba > #ilfeiy,#iho4ba > #i4ej3x1{margin-left:10px}}
@media (min-width:993px){#iho4ba > #ih42ebl,#iho4ba > #ilfeiy,#iho4ba > #i4ej3x1{margin-left:30px}}
