/* ==========================================================================
   Flying Marmot — forest.css  (owner: FOREST) — alternative theme
   A WPA / national-park travel poster over the Alberta Rockies, drawn to
   match the brand artwork: flat layered pines, a pale teal sky, snow-capped
   ranges, navy key lines, paper grain, cream poster mats, stitched park
   patches and a routed Parks-style wooden sign for the rates.

   Every selector is scoped under :root[data-theme="forest"]. Decoration only:
   layout lives in base.css; --term-* tokens live in terminal.css; the
   estimator widget is skinned by estimator.css. The --fx-* custom properties
   below are inline SVG art (pines, ranges, textures) generated by a small
   script; edit colours in the SVG strings if needed.
   ========================================================================== */

:root[data-theme="forest"] {
  /* palette */
  --f-cream: #F1E6CC;
  --f-paper: #FBF6E9;
  --f-sage: #DCE3CC;
  --f-sky: #B8D5D3;
  --f-pine-deep: #1F4424;
  --f-pine: #3C6B35;
  --f-pine-light: #6E9A48;
  --f-night: #11281A;
  --f-navy: #0C2C3C;
  --f-orange: #C4502A;
  --f-rust: #9A3A1B;
  --f-bark: #6B4A2B;
  --f-bark-deep: #432B16;
  --f-yellow: #F6CD5E;
  --f-snow: #F6F3E8;
  --f-grain-size: 220px 220px;

  /* tokens */
  --bg: var(--f-cream);
  --bg-alt: var(--f-sage);
  --surface: var(--f-paper);
  --surface-2: #EFE6CD;
  --ink: #0C2C3C;
  --ink-soft: #3B4A3E;
  --ink-inverse: #F7F0DE;
  --accent: #C4502A;
  --accent-ink: #FFFFFF;
  --accent-2: #3C6B35;
  --accent-2-ink: #F7F0DE;
  --accent-3: #F6CD5E;
  --line: rgba(31, 68, 36, .22);
  --shadow: 4px 5px 0 rgba(31, 68, 36, .16);
  --shadow-lg: 6px 7px 0 rgba(31, 68, 36, .18), 0 28px 50px -30px rgba(17, 40, 26, .45);
  --focus: #0C2C3C;
  --puff: #F6F3E8;
  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 12px;
  --theme-color: #A9CCCB;

  --title-color: #1F4424;
  --title-shadow: none;
  --kicker-font: var(--font-display);
  --kicker-color: #9A3A1B;
  --kicker-size: clamp(1.1875rem, 1.12rem + .3vw, 1.375rem);
  --kicker-transform: uppercase;
  --kicker-tracking: .24em;
  --btn-radius: 6px;
  --header-bg: #F4EBD3;
  --hero-bg: #B8D5D3;

  /* shared hard "screen-print" shadow */
  --f-drop: 4px 5px 0 rgba(31, 68, 36, .2);
  --f-drop-lg: 7px 8px 0 rgba(31, 68, 36, .2);

  /* generated inline-SVG art */
  --fx-sky: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 520'%3E%3Cg fill='%23F7F3E6' opacity='.92'%3E%3Crect x='90' y='168' width='330' height='26' rx='13'/%3E%3Ccircle cx='190' cy='162' r='28'/%3E%3Ccircle cx='250' cy='148' r='40'/%3E%3Ccircle cx='318' cy='164' r='24'/%3E%3Crect x='40' y='206' width='190' height='14' rx='7'/%3E%3Crect x='1180' y='250' width='300' height='24' rx='12'/%3E%3Ccircle cx='1262' cy='246' r='24'/%3E%3Ccircle cx='1320' cy='230' r='36'/%3E%3Ccircle cx='1384' cy='248' r='22'/%3E%3Crect x='1350' y='286' width='200' height='13' rx='6.5'/%3E%3C/g%3E%3Cg fill='none' stroke='%230C2C3C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' opacity='.62'%3E%3Cpath d='M1120 150q9-8 18 0q9-8 18 0'/%3E%3Cpath d='M1172 118q7-6 14 0q7-6 14 0'/%3E%3Cpath d='M1092 186q6-5 12 0q6-5 12 0'/%3E%3C/g%3E%3C/svg%3E");
  --fx-range-far: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%239CB9BD'/%3E%3Cstop offset='1' stop-color='%23CBD9CF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 200L70 176L150 150L210 170L300 70L360 104L420 120L500 160L560 112L640 40L700 88L750 80L800 110L870 150L960 82L1010 110L1080 140L1140 168L1200 200V300H0Z' fill='url(%23f)'/%3E%3Cpath d='M150 150L210 170L236 300L158 300ZM300 70L360 104L420 120L446 300L312 300L322 160ZM640 40L700 88L750 80L800 110L826 300L660 300L672 150ZM960 82L1010 110L1080 140L1096 300L976 300L986 170Z' fill='rgba(84,121,132,.22)'/%3E%3Cpath d='M300 70L333 88.7L322.7 98.9L312.4 88.5L302.1 108.8L291.8 94.4L281.5 112.4L271.2 102ZM640 40L677.2 69.8L666.2 77.8L655.2 65.5L644.2 78.6L633.2 63.6L622.2 79.3L611.2 65.9ZM960 82L987.5 97.4L978.4 112.7L969.3 94.7L960.3 109L951.2 98L942.1 111.4L933 102.4ZM750 80L765 89L758.3 100.7L751.7 83.9L745 94.8L738.3 80L731.7 95.2L725 84Z' fill='%23F6F3E8'/%3E%3C/svg%3E");
  --fx-range-near: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 240' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='n' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%2382A2A5'/%3E%3Cstop offset='1' stop-color='%23A7BFB6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 150L90 128L170 140L250 96L300 60L330 72L360 58L470 140L540 122L620 150L700 118L800 64L830 78L860 70L990 150L1080 132L1200 150V240H0Z' fill='url(%23n)'/%3E%3Cpath d='M360 58L470 140L490 240L362 240L372 120ZM860 70L990 150L1004 240L868 240L878 130ZM90 128L170 140L180 240L96 240ZM700 118L760 88L770 240L704 240Z' fill='rgba(40,78,92,.15)'/%3E%3Cpath d='M300 60L321 68.4L313.8 77.7L306.5 68.3L299.3 85.9L292 71.1L284.8 88.5L277.5 76.2ZM800 64L821 73.8L812.8 89.5L804.7 71.9L796.5 85.2L788.3 74.9L780.2 89.1L772 79.1Z' fill='%23F6F3E8'/%3E%3C/svg%3E");
  --fx-pines-back: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 220' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cpath id='a' d='M0 -100L7.7 -81.4L2.7 -85.4L11 -58.1L4.4 -62.3L14.6 -38.4L6.4 -42.8L19.1 -18.7L7.5 -23.1L22 1L-22.8 1L-6.6 -23.3L-18.1 -18.1L-5.2 -43.3L-14.9 -39.6L-5 -63.4L-11.6 -59.2L-3.6 -82.3L-8.2 -78.2Z'/%3E%3Cpath id='b' d='M0 -100L7.2 -73L2.9 -78.9L11.8 -51.4L5.1 -56.5L15 -24.2L5.4 -29.5L19.5 1L-18.2 1L-5.6 -29.9L-14.5 -24.8L-4.7 -55.1L-11.7 -50.7L-2.8 -80.6L-7.9 -75.1Z'/%3E%3Cpath id='c' d='M0 -100L8.2 -82L2.9 -86.2L12.5 -66L5.3 -69.5L15.3 -49.7L5.3 -53.2L18.2 -33.2L7.3 -37.4L23.5 -16.8L9.6 -20.2L25.3 1L-26.2 1L-9.2 -18.4L-22 -14.9L-7 -34.8L-18.7 -31.8L-5.2 -53.7L-15.1 -49.7L-4.7 -70.9L-11.6 -67.3L-3.7 -87.2L-8.5 -83.4Z'/%3E%3C/defs%3E%3Cg fill='%236E9A48'%3E%3Cuse href='%23a' transform='translate(0 218) scale(1.35 1.39)'/%3E%3Cuse href='%23a' transform='translate(800 218) scale(1.35 1.39)'/%3E%3Cuse href='%23c' transform='translate(37 218) scale(1.23 1.2)'/%3E%3Cuse href='%23c' transform='translate(70 218) scale(1.52 1.52)'/%3E%3Cuse href='%23b' transform='translate(108 218) scale(1.63 1.61)'/%3E%3Cuse href='%23c' transform='translate(144 218) scale(2.04 1.92)'/%3E%3Cuse href='%23b' transform='translate(169 218) scale(1.64 1.47)'/%3E%3Cuse href='%23a' transform='translate(200 218) scale(1.2 1.32)'/%3E%3Cuse href='%23c' transform='translate(222 218) scale(2.19 1.97)'/%3E%3Cuse href='%23b' transform='translate(253 218) scale(1.81 1.94)'/%3E%3Cuse href='%23a' transform='translate(291 218) scale(1.66 1.51)'/%3E%3Cuse href='%23c' transform='translate(330 218) scale(1.23 1.34)'/%3E%3Cuse href='%23c' transform='translate(367 218) scale(1.42 1.45)'/%3E%3Cuse href='%23b' transform='translate(399 218) scale(1.11 1.16)'/%3E%3Cuse href='%23a' transform='translate(421 218) scale(2.06 1.91)'/%3E%3Cuse href='%23c' transform='translate(445 218) scale(1.66 1.8)'/%3E%3Cuse href='%23a' transform='translate(474 218) scale(2.01 2.11)'/%3E%3Cuse href='%23c' transform='translate(508 218) scale(1.91 2.04)'/%3E%3Cuse href='%23b' transform='translate(543 218) scale(1.68 1.56)'/%3E%3Cuse href='%23b' transform='translate(583 218) scale(1.54 1.4)'/%3E%3Cuse href='%23c' transform='translate(605 218) scale(1.23 1.14)'/%3E%3Cuse href='%23b' transform='translate(638 218) scale(1.83 1.79)'/%3E%3Cuse href='%23b' transform='translate(673 218) scale(1.64 1.71)'/%3E%3Cuse href='%23b' transform='translate(712 218) scale(2.09 1.89)'/%3E%3Cuse href='%23c' transform='translate(742 218) scale(1.98 1.99)'/%3E%3Cuse href='%23a' transform='translate(775 218) scale(2.39 2.15)'/%3E%3Cuse href='%23a' transform='translate(-25 218) scale(2.39 2.15)'/%3E%3Cpath d='M0 190H800V220H0Z'/%3E%3C/g%3E%3C/svg%3E");
  --fx-pines-mid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 220' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cpath id='a' d='M0 -100L7.7 -81.4L2.7 -85.4L11 -58.1L4.4 -62.3L14.6 -38.4L6.4 -42.8L19.1 -18.7L7.5 -23.1L22 1L-22.8 1L-6.6 -23.3L-18.1 -18.1L-5.2 -43.3L-14.9 -39.6L-5 -63.4L-11.6 -59.2L-3.6 -82.3L-8.2 -78.2Z'/%3E%3Cpath id='b' d='M0 -100L7.2 -73L2.9 -78.9L11.8 -51.4L5.1 -56.5L15 -24.2L5.4 -29.5L19.5 1L-18.2 1L-5.6 -29.9L-14.5 -24.8L-4.7 -55.1L-11.7 -50.7L-2.8 -80.6L-7.9 -75.1Z'/%3E%3Cpath id='c' d='M0 -100L8.2 -82L2.9 -86.2L12.5 -66L5.3 -69.5L15.3 -49.7L5.3 -53.2L18.2 -33.2L7.3 -37.4L23.5 -16.8L9.6 -20.2L25.3 1L-26.2 1L-9.2 -18.4L-22 -14.9L-7 -34.8L-18.7 -31.8L-5.2 -53.7L-15.1 -49.7L-4.7 -70.9L-11.6 -67.3L-3.7 -87.2L-8.5 -83.4Z'/%3E%3C/defs%3E%3Cg fill='%233C6B35'%3E%3Cuse href='%23b' transform='translate(0 218) scale(1.66 1.59)'/%3E%3Cuse href='%23b' transform='translate(800 218) scale(1.66 1.59)'/%3E%3Cuse href='%23b' transform='translate(38 218) scale(1.13 1.22)'/%3E%3Cuse href='%23b' transform='translate(69 218) scale(2.03 1.84)'/%3E%3Cuse href='%23c' transform='translate(112 218) scale(2.28 2.03)'/%3E%3Cuse href='%23b' transform='translate(149 218) scale(1.59 1.57)'/%3E%3Cuse href='%23c' transform='translate(182 218) scale(1.95 1.76)'/%3E%3Cuse href='%23b' transform='translate(226 218) scale(1.33 1.45)'/%3E%3Cuse href='%23c' transform='translate(253 218) scale(1.85 1.66)'/%3E%3Cuse href='%23c' transform='translate(279 218) scale(1.55 1.61)'/%3E%3Cuse href='%23a' transform='translate(321 218) scale(1.97 1.83)'/%3E%3Cuse href='%23c' transform='translate(365 218) scale(1.39 1.49)'/%3E%3Cuse href='%23b' transform='translate(403 218) scale(1.81 1.71)'/%3E%3Cuse href='%23c' transform='translate(431 218) scale(1.15 1.14)'/%3E%3Cuse href='%23b' transform='translate(458 218) scale(1.61 1.55)'/%3E%3Cuse href='%23b' transform='translate(489 218) scale(1.26 1.32)'/%3E%3Cuse href='%23a' transform='translate(530 218) scale(1.95 1.96)'/%3E%3Cuse href='%23c' transform='translate(562 218) scale(1.77 1.82)'/%3E%3Cuse href='%23a' transform='translate(597 218) scale(2 1.94)'/%3E%3Cuse href='%23a' transform='translate(643 218) scale(1.74 1.61)'/%3E%3Cuse href='%23c' transform='translate(670 218) scale(1.13 1.1)'/%3E%3Cuse href='%23a' transform='translate(700 218) scale(1.21 1.32)'/%3E%3Cuse href='%23c' transform='translate(734 218) scale(1.17 1.15)'/%3E%3Cuse href='%23a' transform='translate(778 218) scale(1.64 1.5)'/%3E%3Cuse href='%23a' transform='translate(-22 218) scale(1.64 1.5)'/%3E%3Cpath d='M0 180H800V220H0Z'/%3E%3C/g%3E%3C/svg%3E");
  --fx-pines-front: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 220' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cpath id='a' d='M0 -100L7.7 -81.4L2.7 -85.4L11 -58.1L4.4 -62.3L14.6 -38.4L6.4 -42.8L19.1 -18.7L7.5 -23.1L22 1L-22.8 1L-6.6 -23.3L-18.1 -18.1L-5.2 -43.3L-14.9 -39.6L-5 -63.4L-11.6 -59.2L-3.6 -82.3L-8.2 -78.2Z'/%3E%3Cpath id='b' d='M0 -100L7.2 -73L2.9 -78.9L11.8 -51.4L5.1 -56.5L15 -24.2L5.4 -29.5L19.5 1L-18.2 1L-5.6 -29.9L-14.5 -24.8L-4.7 -55.1L-11.7 -50.7L-2.8 -80.6L-7.9 -75.1Z'/%3E%3Cpath id='c' d='M0 -100L8.2 -82L2.9 -86.2L12.5 -66L5.3 -69.5L15.3 -49.7L5.3 -53.2L18.2 -33.2L7.3 -37.4L23.5 -16.8L9.6 -20.2L25.3 1L-26.2 1L-9.2 -18.4L-22 -14.9L-7 -34.8L-18.7 -31.8L-5.2 -53.7L-15.1 -49.7L-4.7 -70.9L-11.6 -67.3L-3.7 -87.2L-8.5 -83.4Z'/%3E%3C/defs%3E%3Cg fill='%231F4424'%3E%3Cuse href='%23c' transform='translate(0 218) scale(2.16 1.94)'/%3E%3Cuse href='%23c' transform='translate(900 218) scale(2.16 1.94)'/%3E%3Cuse href='%23a' transform='translate(42 218) scale(1.39 1.32)'/%3E%3Cuse href='%23a' transform='translate(95 218) scale(1.15 1.16)'/%3E%3Cuse href='%23a' transform='translate(147 218) scale(1.5 1.48)'/%3E%3Cuse href='%23a' transform='translate(187 218) scale(1.25 1.31)'/%3E%3Cuse href='%23b' transform='translate(231 218) scale(1.12 1.02)'/%3E%3Cuse href='%23c' transform='translate(272 218) scale(1.59 1.7)'/%3E%3Cuse href='%23c' transform='translate(303 218) scale(1.62 1.46)'/%3E%3Cuse href='%23a' transform='translate(348 218) scale(1.37 1.37)'/%3E%3Cuse href='%23a' transform='translate(397 218) scale(1.2 1.14)'/%3E%3Cuse href='%23c' transform='translate(451 218) scale(1.7 1.77)'/%3E%3Cuse href='%23b' transform='translate(493 218) scale(.86 .94)'/%3E%3Cuse href='%23a' transform='translate(540 218) scale(1.27 1.19)'/%3E%3Cuse href='%23c' transform='translate(572 218) scale(1.27 1.27)'/%3E%3Cuse href='%23b' transform='translate(613 218) scale(2.06 2.1)'/%3E%3Cuse href='%23b' transform='translate(646 218) scale(2.05 1.96)'/%3E%3Cuse href='%23b' transform='translate(703 218) scale(1.74 1.72)'/%3E%3Cuse href='%23c' transform='translate(738 218) scale(1.31 1.33)'/%3E%3Cuse href='%23b' transform='translate(795 218) scale(2.1 1.98)'/%3E%3Cuse href='%23c' transform='translate(828 218) scale(1.1 1.12)'/%3E%3Cuse href='%23c' transform='translate(881 218) scale(2.17 2.1)'/%3E%3Cuse href='%23c' transform='translate(-19 218) scale(2.17 2.1)'/%3E%3Cpath d='M0 150H900V220H0Z'/%3E%3C/g%3E%3C/svg%3E");
  --fx-cluster-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 720'%3E%3Cdefs%3E%3Cg id='t'%3E%3Crect x='-1.8' y='-5' width='3.6' height='60' fill='%235A3C22' stroke='%230C2C3C'/%3E%3Cpath d='M0 -100L6 -88.5L2.3 -91.2L8 -75.5L2.8 -78.3L10.5 -62.3L4.4 -65.4L13 -50.8L4.7 -53L14.2 -37.6L6 -40.3L17.3 -24.8L6.8 -27.3L18.2 -12.6L6.4 -14.6L21.1 0L-21.3 0L-7.8 -15.1L-18.5 -12.9L-7.5 -28.5L-17 -25.9L-5.5 -39.5L-14.7 -37.2L-4.8 -53L-12.8 -49.8L-4.1 -65.6L-10.8 -62.7L-3.5 -78.5L-8.8 -75.8L-2.6 -90.3L-6.6 -88.2Z'/%3E%3Cpath d='M0 -100L6 -88.5L2.3 -91.2L8 -75.5L2.8 -78.3L10.5 -62.3L4.4 -65.4L13 -50.8L4.7 -53L14.2 -37.6L6 -40.3L17.3 -24.8L6.8 -27.3L18.2 -12.6L6.4 -14.6L21.1 0L-0.8 0Z' fill='currentColor'/%3E%3Cpath d='M0 -100L-6.6 -88.2L-2.3 -88.5ZM-2.6 -90.3L-8.8 -75.8L-4.7 -76.1ZM-3.5 -78.5L-10.8 -62.7L-6 -63ZM-4.1 -65.6L-12.8 -49.8L-7.1 -50.1ZM-4.8 -53L-14.7 -37.2L-8.2 -37.5ZM-5.5 -39.5L-17 -25.9L-9.5 -26.2ZM-7.5 -28.5L-18.5 -12.9L-11.3 -13.2ZM-7.8 -15.1L-21.3 0L-12.5 -0.3Z' fill='%230C2C3C' opacity='.2'/%3E%3Cpath d='M0 -100L6 -88.5L2.3 -91.2L8 -75.5L2.8 -78.3L10.5 -62.3L4.4 -65.4L13 -50.8L4.7 -53L14.2 -37.6L6 -40.3L17.3 -24.8L6.8 -27.3L18.2 -12.6L6.4 -14.6L21.1 0L-21.3 0L-7.8 -15.1L-18.5 -12.9L-7.5 -28.5L-17 -25.9L-5.5 -39.5L-14.7 -37.2L-4.8 -53L-12.8 -49.8L-4.1 -65.6L-10.8 -62.7L-3.5 -78.5L-8.8 -75.8L-2.6 -90.3L-6.6 -88.2Z' fill='none' stroke='%230C2C3C' stroke-linejoin='round'/%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23t' transform='translate(30 700) scale(5.24 5.1)' fill='%232F5A2E' color='%234F7F3E' stroke-width='.62'/%3E%3Cuse href='%23t' transform='translate(318 712) scale(4.19 4.12)' fill='%232F5A2E' color='%234F7F3E' stroke-width='.77'/%3E%3Cuse href='%23t' transform='translate(140 692) scale(6.43 6.52)' fill='%231F4424' color='%233C6B35' stroke-width='.49'/%3E%3Cuse href='%23t' transform='translate(350 716) scale(2.95 2.86)' fill='%231F4424' color='%233C6B35' stroke-width='1.1'/%3E%3C/svg%3E");
  --fx-cluster-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 720'%3E%3Cdefs%3E%3Cg id='t'%3E%3Crect x='-1.8' y='-5' width='3.6' height='60' fill='%235A3C22' stroke='%230C2C3C'/%3E%3Cpath d='M0 -100L6 -88.5L2.3 -91.2L8 -75.5L2.8 -78.3L10.5 -62.3L4.4 -65.4L13 -50.8L4.7 -53L14.2 -37.6L6 -40.3L17.3 -24.8L6.8 -27.3L18.2 -12.6L6.4 -14.6L21.1 0L-21.3 0L-7.8 -15.1L-18.5 -12.9L-7.5 -28.5L-17 -25.9L-5.5 -39.5L-14.7 -37.2L-4.8 -53L-12.8 -49.8L-4.1 -65.6L-10.8 -62.7L-3.5 -78.5L-8.8 -75.8L-2.6 -90.3L-6.6 -88.2Z'/%3E%3Cpath d='M0 -100L6 -88.5L2.3 -91.2L8 -75.5L2.8 -78.3L10.5 -62.3L4.4 -65.4L13 -50.8L4.7 -53L14.2 -37.6L6 -40.3L17.3 -24.8L6.8 -27.3L18.2 -12.6L6.4 -14.6L21.1 0L-0.8 0Z' fill='currentColor'/%3E%3Cpath d='M0 -100L-6.6 -88.2L-2.3 -88.5ZM-2.6 -90.3L-8.8 -75.8L-4.7 -76.1ZM-3.5 -78.5L-10.8 -62.7L-6 -63ZM-4.1 -65.6L-12.8 -49.8L-7.1 -50.1ZM-4.8 -53L-14.7 -37.2L-8.2 -37.5ZM-5.5 -39.5L-17 -25.9L-9.5 -26.2ZM-7.5 -28.5L-18.5 -12.9L-11.3 -13.2ZM-7.8 -15.1L-21.3 0L-12.5 -0.3Z' fill='%230C2C3C' opacity='.2'/%3E%3Cpath d='M0 -100L6 -88.5L2.3 -91.2L8 -75.5L2.8 -78.3L10.5 -62.3L4.4 -65.4L13 -50.8L4.7 -53L14.2 -37.6L6 -40.3L17.3 -24.8L6.8 -27.3L18.2 -12.6L6.4 -14.6L21.1 0L-21.3 0L-7.8 -15.1L-18.5 -12.9L-7.5 -28.5L-17 -25.9L-5.5 -39.5L-14.7 -37.2L-4.8 -53L-12.8 -49.8L-4.1 -65.6L-10.8 -62.7L-3.5 -78.5L-8.8 -75.8L-2.6 -90.3L-6.6 -88.2Z' fill='none' stroke='%230C2C3C' stroke-linejoin='round'/%3E%3C/g%3E%3C/defs%3E%3Cg transform='translate(420 0) scale(-1 1)'%3E%3Cuse href='%23t' transform='translate(40 700) scale(5.48 5.3)' fill='%232F5A2E' color='%234F7F3E' stroke-width='.59'/%3E%3Cuse href='%23t' transform='translate(335 712) scale(3.81 4.62)' fill='%232F5A2E' color='%234F7F3E' stroke-width='.76'/%3E%3Cuse href='%23t' transform='translate(150 690) scale(6.67 6.7)' fill='%231F4424' color='%233C6B35' stroke-width='.48'/%3E%3Cuse href='%23t' transform='translate(318 716) scale(4.52 3.86)' fill='%231F4424' color='%233C6B35' stroke-width='.77'/%3E%3C/g%3E%3C/svg%3E");
  --fx-sunbars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='%23D5E4DC'%3E%3Crect x='12' y='262' width='230' height='17' rx='8.5'/%3E%3Crect x='150' y='296' width='238' height='15' rx='7.5'/%3E%3Crect x='70' y='327' width='170' height='12' rx='6'/%3E%3C/g%3E%3C/svg%3E");
  --fx-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .17 0 0 0 0 .1 2.6 0 0 0 -1.42'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.28'/%3E%3C/svg%3E");
  --fx-grain-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .96 0 0 0 0 .86 2.6 0 0 0 -1.45'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.2'/%3E%3C/svg%3E");
  --fx-wood: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='260'%3E%3Cfilter id='w' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0032 .085' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .14 0 0 0 0 .08 0 0 0 0 .03 0 0 0 -3.2 1.95'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)' opacity='.55'/%3E%3C/svg%3E");
  --fx-topo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='760' height='760'%3E%3Cfilter id='t' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0042' numOctaves='1' seed='7' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='discrete' tableValues='0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1'/%3E%3CfeFuncA type='linear' slope='0' intercept='1'/%3E%3C/feComponentTransfer%3E%3CfeGaussianBlur stdDeviation='1.5'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='table' tableValues='0 0 0 .5 1 .5 0 0 0'/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values='0 0 0 0 0.97 0 0 0 0 0.98 0 0 0 0 0.94 0.62 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23t)'/%3E%3C/svg%3E");
  --fx-topo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='760' height='760'%3E%3Cfilter id='t' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0036' numOctaves='1' seed='12' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='discrete' tableValues='0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1'/%3E%3CfeFuncA type='linear' slope='0' intercept='1'/%3E%3C/feComponentTransfer%3E%3CfeGaussianBlur stdDeviation='1.5'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='table' tableValues='0 0 0 .5 1 .5 0 0 0'/%3E%3C/feComponentTransfer%3E%3CfeColorMatrix values='0 0 0 0 0.8 0 0 0 0 0.88 0 0 0 0 0.7 0.2 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23t)'/%3E%3C/svg%3E");
  --fx-peak: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 22'%3E%3Ccircle cx='26' cy='6' r='3.4' fill='%23F6CD5E'/%3E%3Cpath d='M1 21L12 5l5.5 7.5L21.5 8 33 21Z' fill='%23F7F0DE'/%3E%3Cpath d='M12 5l3.2 4.4-1.9-.6-1.3 1.6-1.6-1.8-1.6.5Z' fill='%231F4424'/%3E%3C/svg%3E");
  --fx-vista: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400' preserveAspectRatio='xMidYMax slice'%3E%3Cdefs%3E%3Cpath id='a' d='M0 -100L7.7 -81.4L2.7 -85.4L11 -58.1L4.4 -62.3L14.6 -38.4L6.4 -42.8L19.1 -18.7L7.5 -23.1L22 1L-22.8 1L-6.6 -23.3L-18.1 -18.1L-5.2 -43.3L-14.9 -39.6L-5 -63.4L-11.6 -59.2L-3.6 -82.3L-8.2 -78.2Z'/%3E%3Cpath id='b' d='M0 -100L7.2 -73L2.9 -78.9L11.8 -51.4L5.1 -56.5L15 -24.2L5.4 -29.5L19.5 1L-18.2 1L-5.6 -29.9L-14.5 -24.8L-4.7 -55.1L-11.7 -50.7L-2.8 -80.6L-7.9 -75.1Z'/%3E%3Cpath id='c' d='M0 -100L8.2 -82L2.9 -86.2L12.5 -66L5.3 -69.5L15.3 -49.7L5.3 -53.2L18.2 -33.2L7.3 -37.4L23.5 -16.8L9.6 -20.2L25.3 1L-26.2 1L-9.2 -18.4L-22 -14.9L-7 -34.8L-18.7 -31.8L-5.2 -53.7L-15.1 -49.7L-4.7 -70.9L-11.6 -67.3L-3.7 -87.2L-8.5 -83.4Z'/%3E%3C/defs%3E%3Ccircle cx='270' cy='128' r='44' fill='%23F8E4A8'/%3E%3Cg fill='%23F7F3E6' opacity='.9'%3E%3Crect x='40' y='96' width='120' height='12' rx='6'/%3E%3Ccircle cx='84' cy='92' r='14'/%3E%3Ccircle cx='108' cy='88' r='17'/%3E%3C/g%3E%3Cpath d='M0 250L60 214L110 230L170 150L205 176L250 168L300 120L340 160L400 196V400H0Z' fill='%23A3BEC0'/%3E%3Cpath d='M170 150l14 18-7-2-6 6-6-7-6 2Z M300 120l12 15-6-2-5 5-6-6-6 2Z' fill='%23F6F3E8'/%3E%3Cpath d='M0 290L50 262L100 276L150 236L210 282L270 250L330 214L400 262V400H0Z' fill='%237E9FA2'/%3E%3Cg fill='%233C6B35'%3E%3Cuse href='%23a' transform='translate(0 340) scale(.88 .85)'/%3E%3Cuse href='%23a' transform='translate(400 340) scale(.88 .85)'/%3E%3Cuse href='%23a' transform='translate(28 340) scale(.84 .82)'/%3E%3Cuse href='%23a' transform='translate(51 340) scale(.49 .5)'/%3E%3Cuse href='%23b' transform='translate(71 340) scale(.76 .7)'/%3E%3Cuse href='%23a' transform='translate(90 340) scale(.55 .61)'/%3E%3Cuse href='%23b' transform='translate(115 340) scale(.92 .84)'/%3E%3Cuse href='%23a' transform='translate(132 340) scale(.76 .76)'/%3E%3Cuse href='%23c' transform='translate(157 340) scale(.67 .7)'/%3E%3Cuse href='%23a' transform='translate(182 340) scale(.57 .53)'/%3E%3Cuse href='%23b' transform='translate(204 340) scale(.49 .49)'/%3E%3Cuse href='%23b' transform='translate(221 340) scale(.62 .56)'/%3E%3Cuse href='%23b' transform='translate(241 340) scale(.63 .58)'/%3E%3Cuse href='%23b' transform='translate(261 340) scale(.74 .73)'/%3E%3Cuse href='%23a' transform='translate(285 340) scale(.63 .62)'/%3E%3Cuse href='%23c' transform='translate(312 340) scale(.67 .63)'/%3E%3Cuse href='%23a' transform='translate(336 340) scale(.74 .76)'/%3E%3Cuse href='%23c' transform='translate(357 340) scale(.52 .57)'/%3E%3Cuse href='%23b' transform='translate(381 340) scale(.58 .6)'/%3E%3Cpath d='M0 316H400V400H0Z'/%3E%3C/g%3E%3Cg fill='%231F4424'%3E%3Cuse href='%23c' transform='translate(0 398) scale(.51 .5)'/%3E%3Cuse href='%23c' transform='translate(400 398) scale(.51 .5)'/%3E%3Cuse href='%23a' transform='translate(24 398) scale(.53 .51)'/%3E%3Cuse href='%23b' transform='translate(45 398) scale(1.12 .95)'/%3E%3Cuse href='%23b' transform='translate(66 398) scale(.81 .76)'/%3E%3Cuse href='%23b' transform='translate(94 398) scale(.65 .64)'/%3E%3Cuse href='%23a' transform='translate(115 398) scale(.88 .76)'/%3E%3Cuse href='%23a' transform='translate(144 398) scale(.6 .59)'/%3E%3Cuse href='%23c' transform='translate(163 398) scale(.6 .6)'/%3E%3Cuse href='%23c' transform='translate(182 398) scale(.57 .56)'/%3E%3Cuse href='%23b' transform='translate(201 398) scale(.99 .85)'/%3E%3Cuse href='%23a' transform='translate(224 398) scale(.64 .57)'/%3E%3Cuse href='%23a' transform='translate(253 398) scale(.73 .64)'/%3E%3Cuse href='%23a' transform='translate(278 398) scale(.61 .51)'/%3E%3Cuse href='%23b' transform='translate(307 398) scale(.89 .78)'/%3E%3Cuse href='%23c' transform='translate(330 398) scale(.71 .61)'/%3E%3Cuse href='%23c' transform='translate(355 398) scale(.65 .57)'/%3E%3Cuse href='%23a' transform='translate(378 398) scale(.85 .82)'/%3E%3Cpath d='M0 360H400V400H0Z'/%3E%3C/g%3E%3C/svg%3E");
  --fx-ridge-sage: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0 57L70 27L169 59L258 9L342 61L415 5L526 60L608 27L691 55L781 23L869 61L956 22L1021 49L1106 21L1200 57V120H0Z' fill='%23CAD5BA'/%3E%3Cpath d='M0 92L135 61L257 86L348 52L464 90L614 63L725 90L850 59L967 90L1076 59L1200 92V120H0Z' fill='%23DCE3CC'/%3E%3C/svg%3E");
  --fx-ridge-sky: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0 57L70 24L162 51L243 29L343 51L436 6L507 52L603 26L692 47L771 23L850 60L939 5L1039 50L1101 7L1200 57V120H0Z' fill='%23A4C6C4'/%3E%3Cpath d='M0 92L139 46L232 90L344 58L476 89L602 55L709 94L849 51L978 90L1064 64L1200 92V120H0Z' fill='%23B8D5D3'/%3E%3C/svg%3E");
  --fx-ridge-night: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0 57L70 21L185 60L260 23L344 56L426 8L519 60L598 26L694 54L761 23L862 59L951 12L1027 51L1127 19L1200 57V120H0Z' fill='%2318361F'/%3E%3Cpath d='M0 92L100 54L250 95L340 63L487 89L591 48L736 83L849 66L945 91L1095 47L1200 92V120H0Z' fill='%2311281A'/%3E%3C/svg%3E");
  --fx-trees-cream-sage: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 120' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cpath id='a' d='M0 -100L7.7 -81.4L2.7 -85.4L11 -58.1L4.4 -62.3L14.6 -38.4L6.4 -42.8L19.1 -18.7L7.5 -23.1L22 1L-22.8 1L-6.6 -23.3L-18.1 -18.1L-5.2 -43.3L-14.9 -39.6L-5 -63.4L-11.6 -59.2L-3.6 -82.3L-8.2 -78.2Z'/%3E%3Cpath id='b' d='M0 -100L7.2 -73L2.9 -78.9L11.8 -51.4L5.1 -56.5L15 -24.2L5.4 -29.5L19.5 1L-18.2 1L-5.6 -29.9L-14.5 -24.8L-4.7 -55.1L-11.7 -50.7L-2.8 -80.6L-7.9 -75.1Z'/%3E%3Cpath id='c' d='M0 -100L8.2 -82L2.9 -86.2L12.5 -66L5.3 -69.5L15.3 -49.7L5.3 -53.2L18.2 -33.2L7.3 -37.4L23.5 -16.8L9.6 -20.2L25.3 1L-26.2 1L-9.2 -18.4L-22 -14.9L-7 -34.8L-18.7 -31.8L-5.2 -53.7L-15.1 -49.7L-4.7 -70.9L-11.6 -67.3L-3.7 -87.2L-8.5 -83.4Z'/%3E%3C/defs%3E%3Cg fill='%23C6D1B3'%3E%3Cuse href='%23c' transform='translate(0 104) scale(.7 .73)'/%3E%3Cuse href='%23c' transform='translate(700 104) scale(.7 .73)'/%3E%3Cuse href='%23c' transform='translate(30 104) scale(.57 .56)'/%3E%3Cuse href='%23a' transform='translate(63 104) scale(.64 .59)'/%3E%3Cuse href='%23a' transform='translate(101 104) scale(.66 .69)'/%3E%3Cuse href='%23a' transform='translate(128 104) scale(.67 .62)'/%3E%3Cuse href='%23c' transform='translate(160 104) scale(.82 .89)'/%3E%3Cuse href='%23c' transform='translate(193 104) scale(.53 .53)'/%3E%3Cuse href='%23a' transform='translate(225 104) scale(.62 .69)'/%3E%3Cuse href='%23c' transform='translate(249 104) scale(1.04 .97)'/%3E%3Cuse href='%23b' transform='translate(282 104) scale(.83 .85)'/%3E%3Cuse href='%23b' transform='translate(312 104) scale(.62 .6)'/%3E%3Cuse href='%23b' transform='translate(342 104) scale(.45 .49)'/%3E%3Cuse href='%23a' transform='translate(373 104) scale(.57 .63)'/%3E%3Cuse href='%23a' transform='translate(413 104) scale(.82 .74)'/%3E%3Cuse href='%23a' transform='translate(444 104) scale(.83 .82)'/%3E%3Cuse href='%23c' transform='translate(484 104) scale(.55 .56)'/%3E%3Cuse href='%23a' transform='translate(515 104) scale(.91 .84)'/%3E%3Cuse href='%23a' transform='translate(552 104) scale(.47 .51)'/%3E%3Cuse href='%23a' transform='translate(586 104) scale(.66 .65)'/%3E%3Cuse href='%23c' transform='translate(618 104) scale(.5 .51)'/%3E%3Cuse href='%23b' transform='translate(655 104) scale(.65 .59)'/%3E%3Cuse href='%23c' transform='translate(686 104) scale(.69 .68)'/%3E%3Cuse href='%23c' transform='translate(-14 104) scale(.69 .68)'/%3E%3Cpath d='M0 100H700V120H0Z'/%3E%3C/g%3E%3Cg fill='%23F1E6CC'%3E%3Cuse href='%23c' transform='translate(0 118) scale(.63 .54)'/%3E%3Cuse href='%23c' transform='translate(700 118) scale(.63 .54)'/%3E%3Cuse href='%23c' transform='translate(34 118) scale(.96 .82)'/%3E%3Cuse href='%23c' transform='translate(67 118) scale(.53 .51)'/%3E%3Cuse href='%23a' transform='translate(88 118) scale(.63 .55)'/%3E%3Cuse href='%23c' transform='translate(117 118) scale(.58 .5)'/%3E%3Cuse href='%23a' transform='translate(138 118) scale(.44 .42)'/%3E%3Cuse href='%23c' transform='translate(169 118) scale(.75 .64)'/%3E%3Cuse href='%23a' transform='translate(190 118) scale(.75 .71)'/%3E%3Cuse href='%23a' transform='translate(223 118) scale(.88 .81)'/%3E%3Cuse href='%23b' transform='translate(258 118) scale(.42 .35)'/%3E%3Cuse href='%23b' transform='translate(280 118) scale(.57 .49)'/%3E%3Cuse href='%23c' transform='translate(311 118) scale(.87 .83)'/%3E%3Cuse href='%23b' transform='translate(334 118) scale(.87 .78)'/%3E%3Cuse href='%23c' transform='translate(366 118) scale(.56 .48)'/%3E%3Cuse href='%23a' transform='translate(401 118) scale(.81 .74)'/%3E%3Cuse href='%23a' transform='translate(422 118) scale(.69 .68)'/%3E%3Cuse href='%23c' transform='translate(450 118) scale(.54 .47)'/%3E%3Cuse href='%23b' transform='translate(483 118) scale(.41 .36)'/%3E%3Cuse href='%23c' transform='translate(509 118) scale(.58 .58)'/%3E%3Cuse href='%23a' transform='translate(538 118) scale(.42 .37)'/%3E%3Cuse href='%23b' transform='translate(574 118) scale(.44 .42)'/%3E%3Cuse href='%23a' transform='translate(603 118) scale(.85 .74)'/%3E%3Cuse href='%23b' transform='translate(639 118) scale(.62 .56)'/%3E%3Cuse href='%23a' transform='translate(665 118) scale(.42 .37)'/%3E%3Cuse href='%23a' transform='translate(699 118) scale(.6 .59)'/%3E%3Cuse href='%23a' transform='translate(-1 118) scale(.6 .59)'/%3E%3Cpath d='M0 112H700V120H0Z'/%3E%3C/g%3E%3C/svg%3E");
  --fx-trees-cream-sky: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 120' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cpath id='a' d='M0 -100L7.7 -81.4L2.7 -85.4L11 -58.1L4.4 -62.3L14.6 -38.4L6.4 -42.8L19.1 -18.7L7.5 -23.1L22 1L-22.8 1L-6.6 -23.3L-18.1 -18.1L-5.2 -43.3L-14.9 -39.6L-5 -63.4L-11.6 -59.2L-3.6 -82.3L-8.2 -78.2Z'/%3E%3Cpath id='b' d='M0 -100L7.2 -73L2.9 -78.9L11.8 -51.4L5.1 -56.5L15 -24.2L5.4 -29.5L19.5 1L-18.2 1L-5.6 -29.9L-14.5 -24.8L-4.7 -55.1L-11.7 -50.7L-2.8 -80.6L-7.9 -75.1Z'/%3E%3Cpath id='c' d='M0 -100L8.2 -82L2.9 -86.2L12.5 -66L5.3 -69.5L15.3 -49.7L5.3 -53.2L18.2 -33.2L7.3 -37.4L23.5 -16.8L9.6 -20.2L25.3 1L-26.2 1L-9.2 -18.4L-22 -14.9L-7 -34.8L-18.7 -31.8L-5.2 -53.7L-15.1 -49.7L-4.7 -70.9L-11.6 -67.3L-3.7 -87.2L-8.5 -83.4Z'/%3E%3C/defs%3E%3Cg fill='%23A2C5C2'%3E%3Cuse href='%23a' transform='translate(0 104) scale(.81 .86)'/%3E%3Cuse href='%23a' transform='translate(700 104) scale(.81 .86)'/%3E%3Cuse href='%23a' transform='translate(31 104) scale(.85 .78)'/%3E%3Cuse href='%23c' transform='translate(69 104) scale(.57 .52)'/%3E%3Cuse href='%23b' transform='translate(102 104) scale(.7 .72)'/%3E%3Cuse href='%23c' transform='translate(135 104) scale(.7 .63)'/%3E%3Cuse href='%23c' transform='translate(165 104) scale(.63 .57)'/%3E%3Cuse href='%23a' transform='translate(192 104) scale(.59 .55)'/%3E%3Cuse href='%23a' transform='translate(221 104) scale(.91 .89)'/%3E%3Cuse href='%23b' transform='translate(254 104) scale(.5 .5)'/%3E%3Cuse href='%23b' transform='translate(291 104) scale(.55 .6)'/%3E%3Cuse href='%23c' transform='translate(329 104) scale(.54 .58)'/%3E%3Cuse href='%23c' transform='translate(364 104) scale(.62 .56)'/%3E%3Cuse href='%23c' transform='translate(404 104) scale(.51 .56)'/%3E%3Cuse href='%23c' transform='translate(435 104) scale(.49 .51)'/%3E%3Cuse href='%23a' transform='translate(466 104) scale(.75 .71)'/%3E%3Cuse href='%23c' transform='translate(503 104) scale(.51 .56)'/%3E%3Cuse href='%23c' transform='translate(533 104) scale(.93 .83)'/%3E%3Cuse href='%23a' transform='translate(569 104) scale(.64 .58)'/%3E%3Cuse href='%23a' transform='translate(596 104) scale(.56 .57)'/%3E%3Cuse href='%23b' transform='translate(626 104) scale(.62 .56)'/%3E%3Cuse href='%23c' transform='translate(657 104) scale(.7 .72)'/%3E%3Cuse href='%23b' transform='translate(684 104) scale(.9 .82)'/%3E%3Cuse href='%23b' transform='translate(-16 104) scale(.9 .82)'/%3E%3Cpath d='M0 100H700V120H0Z'/%3E%3C/g%3E%3Cg fill='%23F1E6CC'%3E%3Cuse href='%23b' transform='translate(0 118) scale(.76 .67)'/%3E%3Cuse href='%23b' transform='translate(700 118) scale(.76 .67)'/%3E%3Cuse href='%23a' transform='translate(35 118) scale(.57 .55)'/%3E%3Cuse href='%23b' transform='translate(58 118) scale(.47 .44)'/%3E%3Cuse href='%23a' transform='translate(90 118) scale(.68 .59)'/%3E%3Cuse href='%23b' transform='translate(123 118) scale(.6 .51)'/%3E%3Cuse href='%23a' transform='translate(159 118) scale(.61 .61)'/%3E%3Cuse href='%23c' transform='translate(185 118) scale(.68 .67)'/%3E%3Cuse href='%23a' transform='translate(219 118) scale(.49 .42)'/%3E%3Cuse href='%23b' transform='translate(244 118) scale(.38 .37)'/%3E%3Cuse href='%23b' transform='translate(267 118) scale(.69 .6)'/%3E%3Cuse href='%23a' transform='translate(297 118) scale(.51 .47)'/%3E%3Cuse href='%23a' transform='translate(317 118) scale(.41 .41)'/%3E%3Cuse href='%23c' transform='translate(349 118) scale(.8 .72)'/%3E%3Cuse href='%23b' transform='translate(372 118) scale(.77 .75)'/%3E%3Cuse href='%23a' transform='translate(407 118) scale(.72 .64)'/%3E%3Cuse href='%23a' transform='translate(441 118) scale(.78 .69)'/%3E%3Cuse href='%23b' transform='translate(468 118) scale(.55 .47)'/%3E%3Cuse href='%23b' transform='translate(500 118) scale(.48 .43)'/%3E%3Cuse href='%23c' transform='translate(535 118) scale(.59 .49)'/%3E%3Cuse href='%23c' transform='translate(562 118) scale(.43 .42)'/%3E%3Cuse href='%23c' transform='translate(592 118) scale(.6 .54)'/%3E%3Cuse href='%23b' transform='translate(617 118) scale(.4 .38)'/%3E%3Cuse href='%23a' transform='translate(653 118) scale(.47 .45)'/%3E%3Cuse href='%23b' transform='translate(674 118) scale(.41 .38)'/%3E%3Cpath d='M0 112H700V120H0Z'/%3E%3C/g%3E%3C/svg%3E");
  --fx-trees-pine: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 120' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cpath id='a' d='M0 -100L7.7 -81.4L2.7 -85.4L11 -58.1L4.4 -62.3L14.6 -38.4L6.4 -42.8L19.1 -18.7L7.5 -23.1L22 1L-22.8 1L-6.6 -23.3L-18.1 -18.1L-5.2 -43.3L-14.9 -39.6L-5 -63.4L-11.6 -59.2L-3.6 -82.3L-8.2 -78.2Z'/%3E%3Cpath id='b' d='M0 -100L7.2 -73L2.9 -78.9L11.8 -51.4L5.1 -56.5L15 -24.2L5.4 -29.5L19.5 1L-18.2 1L-5.6 -29.9L-14.5 -24.8L-4.7 -55.1L-11.7 -50.7L-2.8 -80.6L-7.9 -75.1Z'/%3E%3Cpath id='c' d='M0 -100L8.2 -82L2.9 -86.2L12.5 -66L5.3 -69.5L15.3 -49.7L5.3 -53.2L18.2 -33.2L7.3 -37.4L23.5 -16.8L9.6 -20.2L25.3 1L-26.2 1L-9.2 -18.4L-22 -14.9L-7 -34.8L-18.7 -31.8L-5.2 -53.7L-15.1 -49.7L-4.7 -70.9L-11.6 -67.3L-3.7 -87.2L-8.5 -83.4Z'/%3E%3C/defs%3E%3Cg fill='%232E5A31'%3E%3Cuse href='%23b' transform='translate(0 104) scale(.84 .79)'/%3E%3Cuse href='%23b' transform='translate(700 104) scale(.84 .79)'/%3E%3Cuse href='%23a' transform='translate(39 104) scale(.63 .67)'/%3E%3Cuse href='%23b' transform='translate(66 104) scale(.54 .56)'/%3E%3Cuse href='%23a' transform='translate(102 104) scale(.76 .71)'/%3E%3Cuse href='%23b' transform='translate(139 104) scale(.69 .63)'/%3E%3Cuse href='%23a' transform='translate(179 104) scale(.66 .73)'/%3E%3Cuse href='%23c' transform='translate(209 104) scale(.74 .79)'/%3E%3Cuse href='%23a' transform='translate(247 104) scale(.57 .54)'/%3E%3Cuse href='%23b' transform='translate(276 104) scale(.44 .48)'/%3E%3Cuse href='%23b' transform='translate(303 104) scale(.77 .73)'/%3E%3Cuse href='%23a' transform='translate(337 104) scale(.58 .59)'/%3E%3Cuse href='%23a' transform='translate(361 104) scale(.48 .52)'/%3E%3Cuse href='%23c' transform='translate(397 104) scale(.87 .85)'/%3E%3Cuse href='%23b' transform='translate(424 104) scale(.82 .88)'/%3E%3Cuse href='%23a' transform='translate(463 104) scale(.79 .76)'/%3E%3Cuse href='%23a' transform='translate(501 104) scale(.86 .81)'/%3E%3Cuse href='%23b' transform='translate(532 104) scale(.64 .58)'/%3E%3Cuse href='%23b' transform='translate(568 104) scale(.55 .55)'/%3E%3Cuse href='%23c' transform='translate(607 104) scale(.68 .61)'/%3E%3Cuse href='%23c' transform='translate(638 104) scale(.5 .54)'/%3E%3Cuse href='%23c' transform='translate(672 104) scale(.68 .66)'/%3E%3Cpath d='M0 100H700V120H0Z'/%3E%3C/g%3E%3Cg fill='%231F4424'%3E%3Cuse href='%23c' transform='translate(0 118) scale(.64 .6)'/%3E%3Cuse href='%23c' transform='translate(700 118) scale(.64 .6)'/%3E%3Cuse href='%23c' transform='translate(26 118) scale(.49 .44)'/%3E%3Cuse href='%23a' transform='translate(55 118) scale(.55 .47)'/%3E%3Cuse href='%23a' transform='translate(89 118) scale(.6 .57)'/%3E%3Cuse href='%23a' transform='translate(112 118) scale(.59 .51)'/%3E%3Cuse href='%23c' transform='translate(140 118) scale(.77 .76)'/%3E%3Cuse href='%23c' transform='translate(169 118) scale(.45 .41)'/%3E%3Cuse href='%23a' transform='translate(197 118) scale(.57 .57)'/%3E%3Cuse href='%23c' transform='translate(217 118) scale(.96 .83)'/%3E%3Cuse href='%23b' transform='translate(246 118) scale(.77 .72)'/%3E%3Cuse href='%23b' transform='translate(272 118) scale(.54 .48)'/%3E%3Cuse href='%23b' transform='translate(298 118) scale(.39 .37)'/%3E%3Cuse href='%23a' transform='translate(325 118) scale(.52 .51)'/%3E%3Cuse href='%23a' transform='translate(361 118) scale(.74 .61)'/%3E%3Cuse href='%23a' transform='translate(388 118) scale(.76 .69)'/%3E%3Cuse href='%23c' transform='translate(424 118) scale(.48 .44)'/%3E%3Cuse href='%23a' transform='translate(451 118) scale(.83 .71)'/%3E%3Cuse href='%23a' transform='translate(484 118) scale(.41 .4)'/%3E%3Cuse href='%23a' transform='translate(514 118) scale(.59 .53)'/%3E%3Cuse href='%23c' transform='translate(542 118) scale(.43 .4)'/%3E%3Cuse href='%23b' transform='translate(575 118) scale(.56 .48)'/%3E%3Cuse href='%23c' transform='translate(602 118) scale(.62 .56)'/%3E%3Cuse href='%23c' transform='translate(638 118) scale(.59 .5)'/%3E%3Cuse href='%23c' transform='translate(670 118) scale(.69 .62)'/%3E%3Cuse href='%23a' transform='translate(695 118) scale(.56 .52)'/%3E%3Cuse href='%23a' transform='translate(-5 118) scale(.56 .52)'/%3E%3Cpath d='M0 112H700V120H0Z'/%3E%3C/g%3E%3C/svg%3E");
  --fx-stamp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 84'%3E%3Crect width='72' height='84' fill='%23FBF6E9'/%3E%3Crect x='7' y='7' width='58' height='70' fill='%23B8D5D3'/%3E%3Ccircle cx='47' cy='27' r='9' fill='%23F6CD5E'/%3E%3Cpath d='M7 56L22 34l7 9 9-13 27 30v17H7Z' fill='%237E9FA2'/%3E%3Cpath d='M22 34l4 5.5-2.2-.6-1.8 2-1.8-2-2 .6Z M38 30l4.5 5-2.4-.5-2 2-2-2-2.2.4Z' fill='%23F6F3E8'/%3E%3Cpath d='M7 77V64l5-8 4 6 4-10 5 9 4-7 5 8 4-6 5 8 4-9 5 9 4-6 5 8v13Z' fill='%231F4424'/%3E%3Crect x='7' y='7' width='58' height='70' fill='none' stroke='%230C2C3C' stroke-width='1.6'/%3E%3C/svg%3E");
  --fx-postmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 80'%3E%3Cg fill='none' stroke='%230C2C3C' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='38' cy='40' r='29'/%3E%3Ccircle cx='38' cy='40' r='22.5' stroke-width='1.4'/%3E%3Cpath d='M24 40h28M28 32h20M28 48h20' stroke-width='1.6'/%3E%3Cpath d='M72 22q8-6 16 0t16 0 16 0 16 0 12 0M72 34q8-6 16 0t16 0 16 0 16 0 12 0M72 46q8-6 16 0t16 0 16 0 16 0 12 0M72 58q8-6 16 0t16 0 16 0 16 0 12 0'/%3E%3C/g%3E%3C/svg%3E");
  --fx-trailhead: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40'%3E%3Cpath d='M2 38L18 10l8 11 6-8 14 25Z' fill='%233C6B35'/%3E%3Cpath d='M18 10l5 7-3-1-2 2-2-2-3 1Z M32 13l4 6-2.5-1-1.5 1.5-1.5-1.5-2.5 1Z' fill='%23F6F3E8'/%3E%3Cpath d='M30 4v14' stroke='%230C2C3C' stroke-width='2'/%3E%3Cpath d='M30 4h11l-3 3.5 3 3.5H30Z' fill='%23C4502A'/%3E%3C/svg%3E");
}

/* ---------- type -------------------------------------------------------- */
:root[data-theme="forest"] .section-title { letter-spacing: .02em; }
:root[data-theme="forest"] .subhead { color: var(--f-pine-deep); letter-spacing: .03em; }

/* kickers: poster lettering between two short rules */
:root[data-theme="forest"] .kicker { font-weight: 700; line-height: 1.15; }
:root[data-theme="forest"] .section-head .kicker,
:root[data-theme="forest"] .ticket__kicker,
:root[data-theme="forest"] .lost__kicker,
:root[data-theme="forest"] .work__copy > .kicker,
:root[data-theme="forest"] .about__copy > .kicker {
  display: inline-flex;
  align-items: center;
  gap: .75em;
}
:root[data-theme="forest"] .section-head .kicker::before,
:root[data-theme="forest"] .section-head .kicker::after,
:root[data-theme="forest"] .ticket__kicker::before,
:root[data-theme="forest"] .ticket__kicker::after,
:root[data-theme="forest"] .lost__kicker::before,
:root[data-theme="forest"] .lost__kicker::after,
:root[data-theme="forest"] .work__copy > .kicker::before,
:root[data-theme="forest"] .about__copy > .kicker::before {
  content: "";
  flex: none;
  width: clamp(1.25rem, .8rem + 2vw, 2.5rem);
  height: 2px;
  background: currentColor;
  opacity: .55;
}
/* balance the trailing letter-spacing so the text sits centred between the rules */
:root[data-theme="forest"] .section-head .kicker > span,
:root[data-theme="forest"] .ticket__kicker > span,
:root[data-theme="forest"] .lost__kicker > span { margin-right: -.24em; }
@media (max-width: 36em) {
  /* long kickers wrap on phones: drop the rules so the words stay centred */
  :root[data-theme="forest"] .lost__kicker { letter-spacing: .16em; }
  :root[data-theme="forest"] .lost__kicker::before,
  :root[data-theme="forest"] .lost__kicker::after { display: none; }
}

/* ---------- buttons: screen-printed enamel with a navy key line ---------- */
:root[data-theme="forest"] .btn {
  --btn-shadow: #0C2C3C;
  border-color: var(--f-navy);
  box-shadow: 3px 4px 0 var(--btn-shadow);
}
:root[data-theme="forest"] .btn:hover { transform: translate(-1px, -2px); box-shadow: 5px 6px 0 var(--btn-shadow); }
:root[data-theme="forest"] .btn:active { transform: translate(2px, 3px); box-shadow: 1px 1px 0 var(--btn-shadow); }
:root[data-theme="forest"] .btn--primary { --btn-bg: #C4502A; --btn-ink: #FFFFFF; --btn-border: #0C2C3C; }
:root[data-theme="forest"] .btn--primary:hover { --btn-bg: #B84822; }
:root[data-theme="forest"] .btn--secondary { --btn-bg: var(--f-paper); --btn-ink: var(--f-navy); --btn-border: #0C2C3C; }
:root[data-theme="forest"] .btn--secondary:hover { --btn-bg: #FFFDF6; }
:root[data-theme="forest"] .btn--store { --btn-bg: var(--f-pine-deep); --btn-ink: #F7F0DE; --btn-border: #0C2C3C; border-radius: 8px; }
:root[data-theme="forest"] .btn--store:hover { --btn-bg: #28522D; }

:root[data-theme="forest"] .chip {
  border: 1.5px solid rgba(12, 44, 60, .38);
  border-radius: 4px;
  background: var(--f-paper);
  color: var(--f-navy);
}

/* ---------- header ------------------------------------------------------ */
:root[data-theme="forest"] .brand__name { color: var(--f-pine-deep); letter-spacing: .06em; }
:root[data-theme="forest"] .site-nav__link { color: var(--f-navy); }
:root[data-theme="forest"] .site-nav__link::after { height: 3px; border-radius: 0; background: var(--f-orange); }
:root[data-theme="forest"] .site-header.is-scrolled,
:root[data-theme="forest"] .site-header.is-menu-open,
:root[data-theme="forest"]:not(.js) .site-header {
  box-shadow: 0 2px 0 var(--f-pine-deep), 0 5px 0 rgba(196, 80, 42, .0), 0 16px 26px -20px rgba(17, 40, 26, .6);
}
:root[data-theme="forest"] .nav-toggle,
:root[data-theme="forest"] .sound-toggle {
  border-color: var(--f-navy);
  border-radius: 6px;
  background: rgba(251, 246, 233, .8);
  color: var(--f-navy);
}
:root[data-theme="forest"] .site-nav__item--contact .site-nav__link { color: #A8431F; }

/* ---------- hero: the travel poster --------------------------------------- */
:root[data-theme="forest"] .hero {
  background:
    radial-gradient(ellipse 46% 36% at 50% 34%, rgba(255, 246, 214, .5), rgba(255, 246, 214, 0) 70%),
    linear-gradient(180deg, #A5C9C8 0%, #B8D5D3 34%, #CFDDD0 60%, #E4E0C6 84%, #E9E1C4 100%);
}
/* paper grain over the whole scene (under the words) */
:root[data-theme="forest"] .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: var(--fx-grain) 0 0 / var(--f-grain-size);
}
/* sky, clouds, two snow-capped ranges and the far pine rows */
:root[data-theme="forest"] .hero__backdrop {
  background:
    radial-gradient(ellipse 34% 20% at 50% 74%, rgba(241, 236, 214, .5), rgba(241, 236, 214, 0) 72%),
    var(--fx-sky) 50% 0 / max(100%, 70rem) auto no-repeat,
    var(--fx-pines-mid) 32% 100% / auto calc(var(--floor-h) * 1.32) repeat-x,
    var(--fx-pines-back) 0 100% / auto calc(var(--floor-h) * 1.64) repeat-x,
    var(--fx-range-near) 40% calc(100% - var(--floor-h) * 1.02) / auto clamp(6.5rem, 23%, 16rem) repeat-x,
    linear-gradient(#A7BFB6, #A7BFB6) 0 100% / 100% calc(var(--floor-h) * 1.06) no-repeat,
    var(--fx-range-far) 64% calc(100% - var(--floor-h) * 1.18) / auto clamp(8.5rem, 34%, 23rem) repeat-x;
}
/* the dark front row of pines, plus two tall stands framing the poster */
:root[data-theme="forest"] .hero__floor {
  background: var(--fx-pines-front) 58% 100% / auto 100% repeat-x;
}
:root[data-theme="forest"] .hero__floor::before,
:root[data-theme="forest"] .hero__floor::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: min(23vw, calc((100vw - 47rem) / 2), 34vh);
  aspect-ratio: 420 / 720;
  background: var(--fx-cluster-left) 0 100% / 100% 100% no-repeat;
  pointer-events: none;
}
:root[data-theme="forest"] .hero__floor::before { left: 0; }
:root[data-theme="forest"] .hero__floor::after { right: 0; background-image: var(--fx-cluster-right); }
@supports (height: 1svh) {
  :root[data-theme="forest"] .hero__floor::before,
  :root[data-theme="forest"] .hero__floor::after { width: min(23vw, calc((100vw - 47rem) / 2), 34svh); }
}
@media (max-width: 59.99em) {
  :root[data-theme="forest"] .hero__floor::before,
  :root[data-theme="forest"] .hero__floor::after { display: none; }
}

/* the sun the marmot lands on: butter disc, halo rings, flat cloud bars */
:root[data-theme="forest"] .hero__sign {
  top: 50%;
  width: 82%;
  background: radial-gradient(circle closest-side, #FAE8B0 0, #F6DB98 70%, #EFCB7C 96%, rgba(239, 203, 124, 0) 100%);
  box-shadow: 0 0 0 clamp(5px, .8vw, 10px) rgba(255, 246, 216, .42);
}
:root[data-theme="forest"] .hero__sign::before {
  content: "";
  position: absolute;
  inset: -34%;
  border-radius: 50%;
  background:
    radial-gradient(circle closest-side,
      transparent 0 58%,
      rgba(255, 248, 224, .55) 58.3% 59.6%, transparent 60% 68%,
      rgba(255, 248, 224, .38) 68.3% 69.4%, transparent 69.8% 78%,
      rgba(255, 248, 224, .24) 78.3% 79.2%, transparent 79.6% 88%,
      rgba(255, 248, 224, .14) 88.3% 89%, transparent 89.4%);
}
:root[data-theme="forest"] .hero__sign::after {
  content: "";
  position: absolute;
  inset: -2% -14%;
  background: var(--fx-sunbars) 50% 50% / 100% 100% no-repeat;
}

/* park-patch badge */
:root[data-theme="forest"] .hero__badge {
  gap: .6em;
  padding: .6em 1.35em .55em 1.1em;
  border: 0;
  border-radius: 999px;
  background: var(--f-pine-deep);
  color: #F7F0DE;
  font-family: var(--font-display);
  font-size: clamp(.9375rem, .86rem + .35vw, 1.125rem);
  font-weight: 700;
  letter-spacing: .2em;
  outline: 1.5px dashed rgba(247, 240, 222, .72);
  outline-offset: -5px;
  box-shadow: 0 0 0 3px #F4EBD3, 0 0 0 5px var(--f-pine-deep), 4px 6px 0 5px rgba(12, 44, 60, .2);
}
:root[data-theme="forest"] .hero__badge { flex-wrap: nowrap; }
@media (max-width: 24em) {
  :root[data-theme="forest"] .hero__badge { padding: .55em 1.1em .5em .9em; font-size: .875rem; letter-spacing: .1em; }
}
:root[data-theme="forest"] .hero__badge::before {
  content: "";
  flex: none;
  width: 1.55em;
  height: 1em;
  background: var(--fx-peak) 50% 50% / contain no-repeat;
}

/* wordmark: flat poster lettering + a rust ribbon */
:root[data-theme="forest"] .wordmark__main {
  color: var(--f-pine-deep);
  letter-spacing: .035em;
  text-shadow: .04em .045em 0 rgba(246, 243, 232, .85);
}
:root[data-theme="forest"] .wordmark__sub {
  position: relative;
  margin-top: .5em;
  padding: .5em 1.9em .44em calc(1.9em + .42em);
  background: #A8431F;
  color: #FFF6E4;
  font-size: max(.8125rem, calc(var(--wordmark-size) * .215));
  font-weight: 700;
  line-height: 1;
  letter-spacing: .42em;
  clip-path: polygon(0 0, 100% 0, calc(100% - .95em) 50%, 100% 100%, 0 100%, .95em 50%);
}
:root[data-theme="forest"] .hero__tagline { color: var(--f-navy); font-weight: 600; }
:root[data-theme="forest"] .hero__sub { color: #102E36; font-weight: 500; }
/* a soft paper halo keeps small text crisp where it crosses the ranges */
:root[data-theme="forest"] .hero__tagline,
:root[data-theme="forest"] .hero__sub,
:root[data-theme="forest"] .lost__text,
:root[data-theme="forest"] .lost__foot {
  text-shadow: 0 0 .12em rgba(236, 234, 214, .95), 0 0 .5em rgba(236, 234, 214, .85), 0 0 1.1em rgba(236, 234, 214, .55);
}

/* leaf + cloud trail for the intro flight */
:root[data-theme="forest"] .flight-puff { background: #F7F3E6; box-shadow: 0 0 0 1px rgba(12, 44, 60, .06); }
:root[data-theme="forest"] span.flight-puff:nth-of-type(2n) { border-radius: 0 85% 0 85%; background: #6E9A48; box-shadow: none; }
:root[data-theme="forest"] span.flight-puff:nth-of-type(3n) { border-radius: 85% 0 85% 0; background: #3C6B35; box-shadow: none; }
:root[data-theme="forest"] span.flight-puff:nth-of-type(7n) { border-radius: 0 85% 0 85%; background: #C4502A; }

/* ---------- dividers -------------------------------------------------------- */
/* under the hero: the poster's caption band */
:root[data-theme="forest"] .hero + .section-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: clamp(2.5rem, 2.1rem + 1.4vw, 3.5rem);
  border: 0;
  background: var(--f-pine-deep);
  box-shadow: inset 0 -4px 0 var(--f-orange), inset 0 -7px 0 var(--f-pine-deep), inset 0 -8.5px 0 rgba(241, 230, 204, .5);
  overflow: hidden;
}
:root[data-theme="forest"] .hero + .section-divider::before {
  content: "Flying Marmot Corporation  \B7   Alberta, Canada";
  padding: .15rem 1rem .5rem;
  color: #E9DFC4;
  font-family: var(--font-display);
  font-size: clamp(.8125rem, .75rem + .3vw, 1rem);
  font-weight: 700;
  letter-spacing: .34em;
  text-transform: uppercase;
  white-space: pre;
}
@media (max-width: 30em) {
  :root[data-theme="forest"] .hero + .section-divider::before { content: "Alberta  \B7   Canada"; }
}

/* about -> contact: a treeline rising out of the contact band */
:root[data-theme="forest"] .section-divider {
  height: clamp(3.5rem, 2.4rem + 3.6vw, 5.5rem);
  border: 0;
  background: var(--fx-trees-pine) 30% 100% / auto 100% repeat-x, var(--fx-grain) 0 0 / var(--f-grain-size), var(--f-sage);
  margin-bottom: -1px;
}

/* ridge / treeline silhouettes at the foot of sections, in the next section's colour */
:root[data-theme="forest"] .work::after,
:root[data-theme="forest"] .services::after,
:root[data-theme="forest"] .rates::after,
:root[data-theme="forest"] .estimate::after,
:root[data-theme="forest"] .process::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: clamp(2.25rem, 1.4rem + 3vw, 4.5rem);
  pointer-events: none;
}
/* treelines need a little more height on phones or the pines shrink to grass */
:root[data-theme="forest"] .services::after,
:root[data-theme="forest"] .estimate::after { height: clamp(3.25rem, 2.5rem + 2.6vw, 4.75rem); }
:root[data-theme="forest"] .work::after { background: var(--fx-ridge-sage) 20% 100% / auto 100% repeat-x; }
:root[data-theme="forest"] .services::after { background: var(--fx-trees-cream-sage) 70% 100% / auto 100% repeat-x; }
:root[data-theme="forest"] .rates::after { background: var(--fx-ridge-sky) 60% 100% / auto 100% repeat-x; }
:root[data-theme="forest"] .estimate::after { background: var(--fx-trees-cream-sky) 10% 100% / auto 100% repeat-x; }
:root[data-theme="forest"] .process::after { background: var(--fx-ridge-sage) 85% 100% / auto 100% repeat-x; }

/* ---------- work: the field report ------------------------------------------ */
:root[data-theme="forest"] .work {
  background:
    var(--fx-grain) 0 0 / var(--f-grain-size),
    radial-gradient(ellipse 45% 36% at 84% 16%, rgba(184, 213, 211, .45), transparent 70%),
    var(--f-cream);
}
:root[data-theme="forest"] .work__icon {
  border-radius: 22%;
  box-shadow: 0 0 0 3px var(--f-paper), 0 0 0 5px var(--f-navy), 4px 5px 0 5px rgba(31, 68, 36, .22);
}
:root[data-theme="forest"] .work__lede { color: var(--f-navy); }
/* a giant stitched park patch behind the phones */
:root[data-theme="forest"] .work__plate {
  width: min(94%, 34rem);
  border: clamp(7px, 1.1vw, 12px) solid var(--f-pine-deep);
  background:
    var(--fx-grain) 0 0 / var(--f-grain-size),
    var(--fx-vista) 50% 100% / cover no-repeat,
    linear-gradient(180deg, #A5C9C8 0%, #C9DCD2 55%, #E4E0C6 100%);
  outline: 2px dashed rgba(246, 205, 94, .85);
  outline-offset: calc(-1 * clamp(4.5px, .7vw, 7.5px));
  box-shadow: 0 0 0 4px var(--f-cream), 0 0 0 6px var(--f-pine-deep), 9px 11px 0 6px rgba(31, 68, 36, .16);
}
:root[data-theme="forest"] .phone::before { background: linear-gradient(90deg, #26302a, #56605a); }

:root[data-theme="forest"] .gallery-nav__btn {
  border: 2px solid var(--f-navy);
  border-radius: 8px;
  background: var(--f-paper);
  box-shadow: 3px 4px 0 var(--f-navy);
}
:root[data-theme="forest"] .gallery-nav__btn:hover:not([aria-disabled="true"]) { background: var(--f-pine-deep); color: #F7F0DE; }
:root[data-theme="forest"] .gallery-nav__btn[aria-disabled="true"] { box-shadow: none; }
:root[data-theme="forest"] .gallery__link {
  border: 5px solid var(--f-paper);
  border-radius: 10px;
  box-shadow: 0 0 0 2px var(--f-navy), 5px 7px 0 2px rgba(31, 68, 36, .2);
}
:root[data-theme="forest"] .gallery__link:hover { box-shadow: 0 0 0 2px var(--f-navy), 8px 11px 0 2px rgba(31, 68, 36, .2); }
:root[data-theme="forest"] .gallery__item--pair-start .gallery__link { border-right-width: 0; }
:root[data-theme="forest"] .gallery__item--pair-end .gallery__link { border-left-width: 0; }

:root[data-theme="forest"] .feature {
  border: 2px solid var(--f-navy);
  border-radius: 10px;
  background: var(--f-paper);
  box-shadow: inset 0 0 0 5px var(--f-paper), inset 0 0 0 6.5px rgba(31, 68, 36, .2), var(--f-drop);
}
:root[data-theme="forest"] .feature__title { color: var(--f-pine-deep); }
:root[data-theme="forest"] .feature__icon {
  background: var(--f-pine);
  color: #F7F0DE;
  outline: 1.5px dashed rgba(247, 240, 222, .78);
  outline-offset: -5px;
  box-shadow: 0 0 0 2.5px var(--f-paper), 0 0 0 4.5px var(--f-pine-deep);
}

/* "Under the hood": a ranger-station board in a poster mat */
:root[data-theme="forest"] .hood {
  --f-mat: clamp(6px, .9vw, 11px);
  position: relative;
  background:
    var(--fx-grain-light) 0 0 / var(--f-grain-size),
    radial-gradient(ellipse 70% 60% at 0% 0%, #28532F, rgba(40, 83, 47, 0) 70%),
    #173A22;
  box-shadow:
    inset 0 0 0 var(--f-mat) #173A22,
    inset 0 0 0 calc(var(--f-mat) + 1.5px) rgba(241, 230, 204, .55),
    var(--f-drop-lg);
}
:root[data-theme="forest"] .hood .subhead { color: #F7F0DE; }
:root[data-theme="forest"] .hood__head p { opacity: 1; color: #CFDCC6; }
:root[data-theme="forest"] .stats { background: rgba(241, 230, 204, .2); border-color: rgba(241, 230, 204, .2); border-radius: 6px; }
:root[data-theme="forest"] .stat { background: rgba(21, 52, 31, .94); }
:root[data-theme="forest"] .stat__value { color: var(--f-yellow); }
:root[data-theme="forest"] .stat__unit { color: #F1E6CC; }
:root[data-theme="forest"] .stat__label { opacity: 1; color: #D6DFCC; }
:root[data-theme="forest"] .hood__list h4 { color: var(--f-sky); }
:root[data-theme="forest"] .hood__list p { opacity: 1; color: #D6DFCC; }
:root[data-theme="forest"] .chips--tech .chip { border-color: rgba(241, 230, 204, .38); background: rgba(241, 230, 204, .06); color: #F1E6CC; }

/* ---------- services: field-guide cards ------------------------------------- */
:root[data-theme="forest"] .services {
  background:
    var(--fx-grain) 0 0 / var(--f-grain-size),
    radial-gradient(ellipse 40% 30% at 92% 60%, rgba(255, 255, 255, .3), transparent 70%),
    var(--f-sage);
}
:root[data-theme="forest"] .card {
  border: 2px solid var(--f-navy);
  border-radius: 12px;
  background: var(--f-paper);
  box-shadow: inset 0 0 0 6px var(--f-paper), inset 0 0 0 7.5px rgba(31, 68, 36, .28), var(--f-drop-lg);
}
:root[data-theme="forest"] .card__num { /* a trail-marker tag */
  padding: .3em .8em .3em 1.15em;
  background: var(--f-pine-deep);
  color: #F7F0DE;
  font-weight: 700;
  clip-path: polygon(.6em 0, 100% 0, 100% 100%, .6em 100%, 0 50%);
}
:root[data-theme="forest"] .card__icon {
  background: var(--f-orange);
  color: #FFF7EA;
  outline: 1.5px dashed rgba(255, 247, 234, .8);
  outline-offset: -5.5px;
  box-shadow: 0 0 0 2.5px var(--f-paper), 0 0 0 4.5px var(--f-navy);
}
:root[data-theme="forest"] .card__title { color: var(--f-pine-deep); }
:root[data-theme="forest"] .card__tags { border-top: 1.5px dashed rgba(31, 68, 36, .35); color: var(--ink-soft); }

:root[data-theme="forest"] .audience {
  border: 2px solid var(--f-navy);
  border-radius: 12px;
  background: var(--f-paper);
  box-shadow: inset 0 .5rem 0 var(--f-pine), var(--f-drop-lg);
}
:root[data-theme="forest"] .audience--existing { box-shadow: inset 0 .5rem 0 var(--f-orange), var(--f-drop-lg); }
:root[data-theme="forest"] .audience__label { color: var(--f-pine); }
:root[data-theme="forest"] .audience--existing .audience__label { color: var(--f-rust); }
:root[data-theme="forest"] .audience__title { color: var(--f-pine-deep); }
/* the "or" is a yellow trail-junction diamond */
:root[data-theme="forest"] .audiences__or span {
  position: relative;
  isolation: isolate;
  width: 4rem; height: 4rem;
  background: none;
  color: var(--f-navy);
  font-size: 1.3rem;
  letter-spacing: .06em;
}
:root[data-theme="forest"] .audiences__or span::before {
  content: "";
  position: absolute;
  inset: 13%;
  z-index: -1;
  border: 2px solid var(--f-navy);
  border-radius: 5px;
  background: var(--f-yellow);
  transform: rotate(45deg);
  box-shadow: 3px 3px 0 rgba(31, 68, 36, .25);
}

/* ---------- rates: a routed wooden park sign --------------------------------- */
:root[data-theme="forest"] .rates {
  background:
    var(--fx-grain) 0 0 / var(--f-grain-size),
    radial-gradient(ellipse 48% 38% at 50% 44%, rgba(255, 246, 214, .6), transparent 72%),
    var(--f-cream);
}
:root[data-theme="forest"] .rate-board {
  isolation: isolate;
  border: clamp(6px, .8vw, 10px) solid #432B16;
  border-radius: 18px;
  background:
    var(--fx-wood) 0 0 / 720px 260px,
    repeating-linear-gradient(180deg, rgba(255, 230, 180, .035) 0 1px, rgba(0, 0, 0, 0) 1px 5px, rgba(0, 0, 0, .05) 5px 6px, rgba(0, 0, 0, 0) 6px 11px),
    linear-gradient(180deg, #74502F 0%, #664528 55%, #5A3C22 100%);
  color: #F1E6CC;
  box-shadow:
    inset 0 2px 0 rgba(255, 226, 170, .16),
    inset 0 -3px 0 rgba(0, 0, 0, .22),
    0 3px 0 #2E1D0E,
    var(--f-drop-lg),
    0 44px 64px -34px rgba(40, 25, 10, .6);
}
/* the yellow routed border groove */
:root[data-theme="forest"] .rate-board::before {
  content: "";
  position: absolute;
  inset: clamp(7px, 1vw, 13px);
  border: 3px solid #E8BF55;
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, .45), 0 1px 0 rgba(255, 226, 170, .2);
  pointer-events: none;
}
:root[data-theme="forest"] .rate__name,
:root[data-theme="forest"] .rate__price {
  color: var(--f-yellow);
  font-weight: 800;
  letter-spacing: .07em;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, .55), 0 1px 0 rgba(255, 232, 170, .22);
}
:root[data-theme="forest"] .rate__amount { color: var(--f-yellow); }
:root[data-theme="forest"] .rate__unit { color: #EBDDBC; opacity: 1; }
:root[data-theme="forest"] .rate__leader { border-bottom: .22rem dotted rgba(246, 205, 94, .5); opacity: 1; }
:root[data-theme="forest"] .rate__desc { color: #EDE1C3; }
:root[data-theme="forest"] .rate--vip .rate__name,
:root[data-theme="forest"] .rate--vip .rate__amount { color: #FFE08A; }
:root[data-theme="forest"] .rate__burst { /* an enamel "Priority" plate, nailed on */
  padding: .38em .95em .34em;
  border-radius: 4px;
  background:
    radial-gradient(circle at .42em 50%, #3A2512 0 .11em, rgba(0, 0, 0, 0) .14em),
    radial-gradient(circle at calc(100% - .42em) 50%, #3A2512 0 .11em, rgba(0, 0, 0, 0) .14em),
    #B34622;
  color: #FFF6E4;
  font-size: .82rem;
  letter-spacing: .16em;
  box-shadow: inset 0 0 0 1.5px rgba(255, 246, 228, .5), 0 2px 0 rgba(0, 0, 0, .35);
  transform: rotate(-3deg);
}
:root[data-theme="forest"] .rate-board__note { color: #E7D9B6; opacity: 1; }
/* sign posts, visible where there is room beside the board */
@media (min-width: 62em) {
  :root[data-theme="forest"] .rate-board::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -1.25rem;
    bottom: -2.25rem;
    left: calc(-1 * clamp(6px, .8vw, 10px) - 1.35rem);
    right: calc(-1 * clamp(6px, .8vw, 10px) - 1.35rem);
    background:
      linear-gradient(90deg, rgba(255, 226, 170, .14) 0 3px, rgba(0, 0, 0, 0) 3px calc(100% - 3px), rgba(255, 226, 170, .14) calc(100% - 3px)) 0 0 / 1.2rem 100% no-repeat,
      linear-gradient(90deg, rgba(255, 226, 170, .14) 0 3px, rgba(0, 0, 0, 0) 3px calc(100% - 3px), rgba(255, 226, 170, .14) calc(100% - 3px)) 100% 0 / 1.2rem 100% no-repeat,
      linear-gradient(#4E331B, #3A2512) 0 0 / 1.2rem 100% no-repeat,
      linear-gradient(#4E331B, #3A2512) 100% 0 / 1.2rem 100% no-repeat;
    border-radius: 3px 3px 0 0;
    pointer-events: none;
  }
}

/* ---------- estimate: a trail map --------------------------------------------- */
:root[data-theme="forest"] .estimate {
  background:
    var(--fx-grain) 0 0 / var(--f-grain-size),
    var(--fx-topo) 0 0 / 760px 760px,
    linear-gradient(180deg, #B8D5D3 0%, #C3DBD6 100%);
}
:root[data-theme="forest"] .estimate .kicker { color: #86321A; }
:root[data-theme="forest"] .estimate .section-lede { color: #1E3A3A; }
:root[data-theme="forest"] .estimate__noscript { border: 2px solid var(--f-navy); background: var(--f-paper); }

/* ---------- process: markers along a trail ------------------------------------ */
:root[data-theme="forest"] .process {
  background: var(--fx-grain) 0 0 / var(--f-grain-size), var(--f-cream);
}
:root[data-theme="forest"] .step__num { /* round wooden trail markers with routed numbers */
  border: 3px solid #3A2512;
  background:
    var(--fx-wood) 0 0 / 360px 130px,
    radial-gradient(circle at 36% 30%, #7C5634, #5A3C22 75%);
  color: var(--f-yellow);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, .55), 0 1px 0 rgba(255, 232, 170, .22);
  box-shadow: 0 0 0 3px var(--f-cream), 0 0 0 5px var(--f-navy), 4px 5px 0 5px rgba(31, 68, 36, .18);
}
:root[data-theme="forest"] .step__title { color: var(--f-pine-deep); }
@media (min-width: 62em) {
  :root[data-theme="forest"] .steps::before { /* the trail */
    content: "";
    position: absolute;
    left: 2rem;
    right: 7%;
    top: 1.75rem;
    border-top: 3px dashed rgba(154, 58, 27, .55);
  }
  :root[data-theme="forest"] .steps::after { /* the summit at the end of it */
    content: "";
    position: absolute;
    right: 0;
    top: -.35rem;
    width: 3.25rem;
    aspect-ratio: 48 / 40;
    background: var(--fx-trailhead) 50% 50% / contain no-repeat;
  }
}

/* ---------- about: the forest poster, framed ----------------------------------- */
:root[data-theme="forest"] .about {
  background:
    var(--fx-grain) 0 0 / var(--f-grain-size),
    radial-gradient(ellipse 40% 50% at 80% 50%, rgba(255, 250, 235, .45), transparent 70%),
    var(--f-sage);
}
:root[data-theme="forest"] .about__frame {
  display: grid;
  gap: clamp(8px, 1.1vw, 13px);
  max-width: 25.5rem;
  padding: clamp(10px, 1.4vw, 16px) clamp(10px, 1.4vw, 16px) clamp(4px, .6vw, 8px);
  overflow: visible;
  border-radius: 3px;
  background: #EFE8D4;
  box-shadow: 0 0 0 2px var(--f-navy), 9px 11px 0 2px rgba(31, 68, 36, .22), 0 40px 60px -30px rgba(17, 40, 26, .5);
  transform: rotate(-1.4deg);
}
:root[data-theme="forest"] .about__frame::before { /* the poster artwork */
  content: "";
  display: block;
  aspect-ratio: 1 / .94;
  background: url("../../img/forest-scene-960.webp") 44% 34% / cover no-repeat;
  background-image: image-set(url("../../img/forest-scene-960.webp") 1x, url("../../img/forest-scene-1536.webp") 2x);
  box-shadow: 0 0 0 1.5px var(--f-navy);
}
:root[data-theme="forest"] .about__frame img { /* the logo's lettering becomes the caption */
  width: 100%;
  height: auto;
  aspect-ratio: 800 / 186;
  object-fit: cover;
  object-position: 50% 85%;
}
:root[data-theme="forest"] .about__frame::after { /* stitched park patch */
  content: "Made in Alberta";
  position: absolute;
  right: -1.9rem;
  top: -1.9rem;
  display: grid;
  place-items: end center;
  width: 7.25rem;
  height: 7.25rem;
  padding: 0 1rem 1.7rem;
  border-radius: 50%;
  background: var(--fx-peak) 50% 26% / 2.6rem auto no-repeat, var(--f-pine-deep);
  color: #F7F0DE;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
  outline: 2px dashed rgba(246, 205, 94, .85);
  outline-offset: -7px;
  box-shadow: 0 0 0 4px #EFE8D4, 0 0 0 6px var(--f-navy), 5px 6px 0 6px rgba(31, 68, 36, .22);
  transform: rotate(9deg);
}
@media (max-width: 40em) {
  :root[data-theme="forest"] .about__frame { max-width: min(25.5rem, 100% - 1.25rem); transform: rotate(-1deg); }
  :root[data-theme="forest"] .about__frame::after { right: .4rem; top: -2.4rem; width: 6.25rem; height: 6.25rem; font-size: .875rem; padding-bottom: 1.45rem; }
}
:root[data-theme="forest"] .about__facts li { border-color: rgba(31, 68, 36, .22); border-top-style: dashed; }
:root[data-theme="forest"] .about__facts li:last-child { border-bottom-style: dashed; }

/* ---------- contact: a postcard on the forest floor ------------------------------ */
:root[data-theme="forest"] .contact {
  background:
    var(--fx-grain-light) 0 0 / var(--f-grain-size),
    var(--fx-topo-light) 30% 20% / 760px 760px,
    radial-gradient(ellipse 60% 55% at 50% 50%, rgba(110, 154, 72, .28), transparent 72%),
    var(--f-pine-deep);
}
:root[data-theme="forest"] .ticket {
  --f-mat: clamp(8px, 1.2vw, 13px);
  border-radius: 6px;
  background: var(--f-paper);
  box-shadow:
    inset 0 0 0 var(--f-mat) var(--f-paper),
    inset 0 0 0 calc(var(--f-mat) + 1.5px) rgba(31, 68, 36, .4),
    10px 12px 0 rgba(8, 22, 12, .35),
    0 40px 60px -30px rgba(0, 0, 0, .6);
}
:root[data-theme="forest"] .ticket::after { /* the stamp */
  content: "";
  position: absolute;
  top: calc(var(--f-mat) + .75rem);
  right: calc(var(--f-mat) + .75rem);
  width: 72px;
  height: 84px;
  padding: 6px;
  background: var(--fx-stamp) 0 0 / 100% 100% no-repeat;
  -webkit-mask: linear-gradient(#000 0 0) content-box, radial-gradient(circle 3.4px, #0000 95%, #000) -6px -6px / 12px 12px;
  mask: linear-gradient(#000 0 0) content-box, radial-gradient(circle 3.4px, #0000 95%, #000) -6px -6px / 12px 12px;
  filter: drop-shadow(1px 2px 0 rgba(12, 44, 60, .25));
  transform: rotate(4deg);
  pointer-events: none;
}
:root[data-theme="forest"] .ticket::before { /* the postmark */
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(var(--f-mat) + 2.9rem);
  right: calc(var(--f-mat) + 1.3rem);
  width: 150px;
  height: 80px;
  background: var(--fx-postmark) 0 0 / 100% 100% no-repeat;
  opacity: .5;
  transform: rotate(-6deg);
  pointer-events: none;
}
:root[data-theme="forest"] .ticket__top {
  justify-content: flex-start;
  padding-right: 6.5rem;
  border-bottom: 1.5px solid rgba(31, 68, 36, .3);
  color: var(--f-pine);
}
:root[data-theme="forest"] .ticket__brand { font-size: 0; letter-spacing: 0; }
:root[data-theme="forest"] .ticket__brand::before {
  content: "Post card  \B7   Flying Marmot";
  font-size: var(--step--2);
  letter-spacing: .14em;
  white-space: pre;
}
:root[data-theme="forest"] .ticket__no { display: none; }
:root[data-theme="forest"] .ticket__title { color: var(--f-pine-deep); }
:root[data-theme="forest"] .ticket__text { color: #334236; }
:root[data-theme="forest"] .ticket__foot {
  border-top: 1.5px dashed rgba(31, 68, 36, .3);
  font-size: 0;
  letter-spacing: 0;
}
:root[data-theme="forest"] .ticket__foot::before {
  content: "Happy trails!";
  color: var(--f-rust);
  font-family: var(--font-display);
  font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem);
  font-weight: 700;
  letter-spacing: .24em;
}
@media (max-width: 36em) {
  :root[data-theme="forest"] .ticket::before { display: none; }
  :root[data-theme="forest"] .ticket::after { width: 60px; height: 72px; }
  :root[data-theme="forest"] .ticket__top { padding-right: 4.75rem; }
}

/* ---------- footer ------------------------------------------------------------ */
:root[data-theme="forest"] .site-footer {
  --focus: var(--f-yellow);
  position: relative;
  background: var(--fx-grain-light) 0 0 / var(--f-grain-size), var(--f-night);
  color: #F1E6CC;
}
:root[data-theme="forest"] .site-footer::before { /* night ridge */
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: calc(100% - 1px);
  height: clamp(1.75rem, 1rem + 3vw, 4rem);
  background: var(--fx-ridge-night) 40% 100% / auto 100% repeat-x;
  pointer-events: none;
}
:root[data-theme="forest"] .site-footer .brand__name { color: #F7F0DE; }
:root[data-theme="forest"] .site-footer__legal { border-top: 1px dashed rgba(241, 230, 204, .25); }
:root[data-theme="forest"] .theme-picker button { border-color: rgba(241, 230, 204, .4); border-radius: 6px; }
:root[data-theme="forest"] .theme-picker button[aria-pressed="true"] {
  background: var(--f-yellow);
  border-color: var(--f-yellow);
  color: var(--f-pine-deep);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, .35);
}

/* ---------- motion & print ------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  :root[data-theme="forest"] .btn:hover,
  :root[data-theme="forest"] .btn:active { transform: none; }
}
@media print {
  :root[data-theme="forest"] .hero::before,
  :root[data-theme="forest"] .section::after,
  :root[data-theme="forest"] .site-footer::before { display: none; }
}

/* ---------- 404 --------------------------------------------------------------- */
:root[data-theme="forest"] .lost__path { color: var(--f-rust); opacity: .6; }
:root[data-theme="forest"] .lost__text { color: #102E36; font-weight: 500; }
:root[data-theme="forest"] .lost__foot { color: var(--f-navy); font-weight: 500; }
:root[data-theme="forest"] .lost__foot a { color: var(--f-navy); }
