/* Procedural section backgrounds (Gentlemen's Club recipe, site-wide) — v2 (adds .hero-band).
   SVG feTurbulence layers, no image files: ::before = clouds + scratches + grain, ::after = vignette + ageing stains.
   Opt in with <body class="proc-page">. dark = film recipe (screen grain / multiply stains); mid = sage green, softer;
   light = cream paper, same layers recoloured warm-brown and multiplied. */
.proc-page .section,.proc-page .foot,.proc-page .hero-band{position:relative;isolation:isolate}
.proc-page .section::before,.proc-page .section::after,.proc-page .foot::before,.proc-page .foot::after,.proc-page .hero-band::before,.proc-page .hero-band::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
/* dark */
.proc-page .section-dark::before,.proc-page .section-dark2::before,.proc-page .foot::before,.proc-page .hero-band::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%271200%27 height=%271200%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.0035%27 numOctaves=%274%27 seed=%277%27 stitchTiles=%27stitch%27/%3E%3CfeColorMatrix values=%270 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .8 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27900%27 height=%27900%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.015 .9%27 numOctaves=%272%27 seed=%275%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27discrete%27 tableValues=%270 0 0 0 0 0 0 0 .7 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .8 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27300%27 height=%27300%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.7%27 numOctaves=%274%27 seed=%2711%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27discrete%27 tableValues=%270 0 0 .2 .5 .8 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 1 0 0 0 0 .96 0 0 0 0 .85 0 0 0 1 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E");background-size:1200px 1200px,900px 900px,300px 300px;background-position:0 0,140px 60px,0 0;opacity:.22}
.proc-page .section-dark::after,.proc-page .section-dark2::after,.proc-page .foot::after,.proc-page .hero-band::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(80% 60% at 50% 100%,transparent 0%,rgba(0,0,0,.5) 100%),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%271400%27 height=%271400%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27turbulence%27 baseFrequency=%27.006%27 numOctaves=%275%27 seed=%273%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27table%27 tableValues=%270 0 .15 .6 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .75 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E");background-size:auto,1400px 1400px;opacity:.9}
/* mid (sage) */
.proc-page .section-mid::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%271200%27 height=%271200%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.0035%27 numOctaves=%274%27 seed=%277%27 stitchTiles=%27stitch%27/%3E%3CfeColorMatrix values=%270 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .8 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27900%27 height=%27900%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.015 .9%27 numOctaves=%272%27 seed=%275%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27discrete%27 tableValues=%270 0 0 0 0 0 0 0 .7 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .8 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27300%27 height=%27300%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.7%27 numOctaves=%274%27 seed=%2711%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27discrete%27 tableValues=%270 0 0 .2 .5 .8 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 1 0 0 0 0 .96 0 0 0 0 .85 0 0 0 1 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E");background-size:1200px 1200px,900px 900px,300px 300px;background-position:0 0,140px 60px,0 0;opacity:.16}
.proc-page .section-mid::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(80% 60% at 50% 100%,transparent 0%,rgba(0,0,0,.5) 100%),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%271400%27 height=%271400%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27turbulence%27 baseFrequency=%27.006%27 numOctaves=%275%27 seed=%273%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27table%27 tableValues=%270 0 .15 .6 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .75 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E");background-size:auto,1400px 1400px;opacity:.45}
/* light (cream paper) */
.proc-page .section:not(.section-dark):not(.section-dark2):not(.section-mid)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%271200%27 height=%271200%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.0035%27 numOctaves=%274%27 seed=%277%27 stitchTiles=%27stitch%27/%3E%3CfeColorMatrix values=%270 0 0 0 .55 0 0 0 0 .42 0 0 0 0 .25 0 0 0 .9 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27900%27 height=%27900%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.015 .9%27 numOctaves=%272%27 seed=%275%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27discrete%27 tableValues=%270 0 0 0 0 0 0 0 .7 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 .30 0 0 0 0 .22 0 0 0 0 .12 0 0 0 .8 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27300%27 height=%27300%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.7%27 numOctaves=%274%27 seed=%2711%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27discrete%27 tableValues=%270 0 0 .2 .5 .8 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 .30 0 0 0 0 .22 0 0 0 0 .12 0 0 0 1 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E");background-size:1200px 1200px,900px 900px,300px 300px;background-position:0 0,140px 60px,0 0;opacity:.12}
.proc-page .section:not(.section-dark):not(.section-dark2):not(.section-mid)::after{background-image:radial-gradient(90% 70% at 50% 100%,transparent 0%,rgba(90,60,20,.10) 100%),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%271400%27 height=%271400%27%3E%3Cfilter id=%27f%27%3E%3CfeTurbulence type=%27turbulence%27 baseFrequency=%27.006%27 numOctaves=%275%27 seed=%273%27 stitchTiles=%27stitch%27/%3E%3CfeComponentTransfer%3E%3CfeFuncA type=%27table%27 tableValues=%270 0 .15 .6 1%27/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values=%270 0 0 0 .45 0 0 0 0 .32 0 0 0 0 .15 0 0 0 .6 0%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23f)%27/%3E%3C/svg%3E");background-size:auto,1400px 1400px;opacity:.4}
