/* =====================================================================
   MASBOOB | مصبوب — Design System (Light edition)
   Light, calm surfaces · deep teal reserved for type and primary actions
   Glass used only where it has a job: over imagery and for floating UI
   ===================================================================== */

/* ---------------------------------------------------------------------
   01 · Tokens
   --------------------------------------------------------------------- */
:root {
  /* Brand primaries */
  --black: #0d0d0d;
  --sand: #d9b589;
  --teal: #1a3940;

  /* Derived light surfaces */
  --ivory: #f7f3ec;
  --warm-white: #fbf9f5;
  --white: #ffffff;
  --sand-100: #f3ede3;
  --sand-200: #efe8dd;
  --sand-300: #e7ddce;
  --sand-ink: #7a5c38;

  /* Type colours */
  --text: #24302f;
  --muted: #5e6461;
  --error: #9a3b2a;

  /* Lines */
  --line: rgba(26, 57, 64, 0.12);
  --line-strong: rgba(26, 57, 64, 0.2);
  --line-sand: rgba(122, 92, 56, 0.28);

  /* Calculated glass (light) */
  --glass: linear-gradient(
    135deg,
    rgba(251, 249, 245, 0.84) 0%,
    rgba(247, 243, 236, 0.68) 100%
  );
  --glass-border: rgba(255, 255, 255, 0.78);
  --glass-blur: blur(18px) saturate(150%);
  --glass-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 30px 60px -34px rgba(13, 13, 13, 0.38);

  /* Shadows */
  --shadow-sm:
    0 1px 2px rgba(26, 57, 64, 0.05), 0 10px 28px -18px rgba(26, 57, 64, 0.28);
  --shadow: 0 34px 64px -40px rgba(26, 57, 64, 0.42);

  /* Type */
  --font: "Noto Kufi Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-display: clamp(30px, 3.2vw, 48px);
  --fs-h1: clamp(27px, 2.7vw, 40px);
  --fs-h2: clamp(24px, 2.1vw, 32px);
  --fs-h3-lg: clamp(19px, 1.5vw, 23px);
  --fs-h3: clamp(17px, 1.2vw, 19px);
  --fs-statement: clamp(18px, 1.35vw, 21px);
  --fs-lead: clamp(16.5px, 1.15vw, 18px);
  --fs-body: clamp(15.5px, 1.02vw, 17px);
  --fs-num: clamp(28px, 2.4vw, 36px);

  /* Layout */
  --container: 1440px;
  --gutter: clamp(20px, 4vw, 56px);
  --gap: clamp(16px, 1.8vw, 28px);
  --header-h: 104px;
  --pad: clamp(84px, 9vw, 136px);

  --r-sm: 10px;
  --r: 14px;
  --r-lg: 20px;

  --ease: cubic-bezier(0.2, 0.7, 0.1, 1);
  --ease-io: cubic-bezier(0.7, 0, 0.2, 1);

  /* Logo mark (traced, shape only) — used as a mask for the About image */
  --mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 214 188'%3E%3Cpath fill-rule='evenodd' d='M 105.1 4.8 C 104.5 5,103.8 5.3,103.5 5.5 C 103.2 5.6,102.7 5.9,102.4 6.1 C 102 6.2,101.7 6.4,101.7 6.5 C 101.6 6.6,101.2 6.8,100.8 7 C 100.4 7.2,100 7.4,99.9 7.5 C 99.9 7.6,99.5 7.8,99.1 8 C 98.7 8.2,98.4 8.4,98.3 8.5 C 98.3 8.6,97.9 8.8,97.5 9 C 97 9.2,96.6 9.5,96.4 9.6 C 96.3 9.7,95.9 10,95.6 10.1 C 95.3 10.3,94.9 10.5,94.7 10.7 C 94.3 10.9,93.5 11.4,92.3 12.1 C 91.9 12.3,91.4 12.6,91.2 12.7 C 91 12.9,90.8 13,90.7 13 C 90.6 13,90.3 13.2,90.1 13.4 C 89.9 13.6,89.4 13.9,89 14.1 C 88.6 14.2,88.1 14.5,87.9 14.7 C 87.7 14.8,87.1 15.2,86.5 15.5 C 85.9 15.8,85.3 16.2,85.1 16.3 C 84.9 16.5,84.4 16.8,84 16.9 C 83.6 17.1,83.1 17.4,82.9 17.6 C 82.7 17.8,82.4 18,82.3 18 C 82.2 18,81.9 18.2,81.7 18.4 C 81.4 18.6,80.9 18.9,80.5 19.1 C 80.2 19.2,79.9 19.4,79.8 19.5 C 79.8 19.6,79.4 19.8,79 20 C 78.6 20.1,78.2 20.4,78.1 20.5 C 77.9 20.6,77.6 20.8,77.3 20.9 C 77 21.1,76.6 21.3,76.4 21.5 C 76.1 21.7,75.7 21.9,75.4 22.1 C 75.1 22.2,74.8 22.4,74.7 22.5 C 74.6 22.6,74.3 22.8,73.9 23 C 73.5 23.2,73.1 23.4,73.1 23.5 C 73 23.6,72.6 23.8,72.2 24 C 71.8 24.2,71.4 24.4,71.3 24.5 C 71.3 24.6,70.9 24.8,70.5 25 C 70 25.2,69.6 25.5,69.4 25.6 C 69.3 25.7,69 25.9,68.7 26.1 C 68.4 26.2,68.1 26.4,67.9 26.5 C 67.8 26.6,67.4 26.9,67 27 C 66.7 27.2,66.4 27.4,66.3 27.5 C 66.3 27.6,65.9 27.8,65.5 28 C 65.1 28.2,64.6 28.5,64.3 28.7 C 64.1 28.8,63.8 29,63.7 29 C 63.6 29,63.3 29.2,63.1 29.4 C 62.9 29.6,62.4 29.9,62 30.1 C 61.6 30.2,61.1 30.5,60.9 30.7 C 60.5 30.9,59.6 31.5,58.8 31.9 C 58.5 32.1,58.1 32.3,57.9 32.5 C 57.7 32.7,57.3 32.9,57 33 C 56.7 33.1,56.3 33.3,56 33.6 C 55.7 33.8,55.4 34,55.3 34 C 55.2 34,54.9 34.2,54.7 34.4 C 54.4 34.6,53.9 34.9,53.5 35.1 C 53.2 35.2,52.9 35.4,52.8 35.5 C 52.8 35.6,52.5 35.7,52.2 35.9 C 51.5 36.2,49.4 38.3,49 39 C 48.8 39.3,48.5 39.7,48.4 40 C 48.2 40.2,48 40.5,48 40.6 C 48 40.7,47.8 41.1,47.5 41.6 L 47.1 42.4 47 54.5 C 47 62.8,47 66.6,47.1 66.8 C 47.3 67.1,47.8 67.1,48.8 66.5 C 49.2 66.2,49.6 66,49.8 66 C 49.9 66,50.3 65.8,50.8 65.5 C 51.2 65.2,51.6 65,51.8 65 C 51.9 65,52.3 64.8,52.6 64.6 C 53 64.3,53.5 64.1,53.8 64 C 54 63.9,54.4 63.7,54.7 63.6 C 55 63.4,55.5 63.1,55.9 63 C 56.2 62.9,56.8 62.6,57.2 62.4 C 57.5 62.2,57.9 62,58 62 C 58.1 62,58.6 61.8,59 61.5 C 59.4 61.2,59.9 61,60 61 C 60.1 61,60.6 60.8,61 60.5 C 61.4 60.2,61.9 60,62 60 C 62.1 60,62.6 59.8,63 59.5 C 63.4 59.2,63.9 59,64 59 C 64.1 59,64.6 58.8,65 58.5 C 65.4 58.2,65.9 58,66 58 C 66.1 58,66.6 57.8,67 57.6 C 67.4 57.4,68 57.1,68.3 57 C 68.7 56.9,69.1 56.6,69.4 56.4 C 69.6 56.3,70 56.1,70.3 56 C 70.5 55.9,70.9 55.7,71.2 55.5 C 71.5 55.4,72 55.1,72.3 55 C 72.6 54.9,73.1 54.6,73.4 54.4 C 73.6 54.3,74 54.1,74.3 54 C 74.5 53.9,75 53.7,75.3 53.5 C 75.6 53.3,76 53.1,76.3 53 C 76.5 52.9,76.9 52.7,77.2 52.5 C 77.5 52.4,78 52.1,78.4 52 C 78.8 51.9,79.3 51.6,79.7 51.4 C 80 51.2,80.4 51,80.5 51 C 80.6 51,81.1 50.8,81.5 50.5 C 81.9 50.2,82.4 50,82.5 50 C 82.6 50,83.1 49.8,83.5 49.5 C 83.9 49.2,84.4 49,84.5 49 C 84.6 49,85.1 48.8,85.5 48.5 C 85.9 48.2,86.4 48,86.5 48 C 86.6 48,87 47.8,87.5 47.5 C 87.9 47.2,88.5 47,88.6 46.9 C 88.8 46.9,89.2 46.7,89.5 46.4 C 89.9 46.2,90.2 46,90.3 46 C 90.4 46,90.7 45.8,90.9 45.6 C 91.1 45.4,91.6 45.1,91.9 45 C 92.3 44.9,92.7 44.6,92.8 44.5 C 93 44.4,93.3 44.2,93.6 44.1 C 93.8 43.9,94.2 43.7,94.5 43.5 C 94.7 43.4,95.1 43.1,95.5 43 C 95.8 42.8,96.2 42.6,96.3 42.5 C 96.5 42.4,96.8 42.1,97.2 42 C 97.5 41.9,97.9 41.6,98.1 41.5 C 98.2 41.4,98.6 41.1,98.9 41 C 99.3 40.9,99.7 40.6,99.8 40.5 C 100 40.4,100.3 40.2,100.6 40.1 C 100.8 39.9,101.2 39.7,101.5 39.6 C 101.7 39.4,102.1 39.1,102.5 38.9 C 102.9 38.8,103.4 38.5,103.6 38.3 C 103.8 38.2,104.4 37.8,105 37.5 C 105.6 37.2,106.3 36.7,106.7 36.5 C 107.6 35.9,108.4 35.9,109 36.5 C 109.3 36.7,109.7 36.9,110 37 C 110.3 37.1,110.7 37.3,111 37.6 C 111.3 37.8,111.6 38,111.7 38 C 111.8 38,112 38.1,112.3 38.3 C 112.5 38.5,113 38.8,113.4 39 C 113.8 39.2,114.4 39.5,114.6 39.7 C 114.8 39.8,115.4 40.2,116 40.5 C 116.6 40.8,117.2 41.2,117.4 41.3 C 117.6 41.5,118.1 41.8,118.5 41.9 C 118.9 42.1,119.3 42.4,119.5 42.6 C 119.8 42.7,120.2 42.9,120.4 43.1 C 120.7 43.2,121 43.4,121.2 43.5 C 121.3 43.6,121.7 43.9,122.1 44 C 122.4 44.1,122.8 44.4,122.9 44.5 C 123.1 44.6,123.4 44.8,123.8 45 C 124.1 45.1,124.6 45.4,124.9 45.6 C 125.2 45.8,125.5 46,125.5 46 C 125.6 46,126 46.2,126.5 46.5 C 126.9 46.8,127.5 47,127.6 47.1 C 127.8 47.1,128 47.2,128.2 47.3 C 128.3 47.5,128.7 47.7,130.7 48.7 C 131 48.9,131.5 49.1,131.8 49.3 C 132.1 49.4,132.7 49.7,133.1 50 C 133.6 50.2,134 50.4,134.1 50.6 C 134.2 50.7,134.6 50.9,135.1 51 C 135.5 51.1,136 51.4,136.3 51.6 C 136.6 51.7,137 51.9,137.2 52 C 137.5 52.1,138 52.3,138.4 52.6 C 138.7 52.8,139.1 53,139.2 53 C 139.4 53,139.8 53.2,140.1 53.4 C 140.5 53.7,141 53.9,141.3 54 C 141.6 54.1,142.1 54.3,142.4 54.5 C 142.7 54.7,143.2 54.9,143.4 55 C 143.7 55.1,144.2 55.3,144.6 55.6 C 145 55.8,145.4 56,145.5 56 C 145.6 56,146 56.2,146.4 56.5 C 146.8 56.7,147.4 57,147.7 57.1 C 148.1 57.1,148.6 57.4,148.9 57.6 C 149.3 57.8,149.6 58,149.7 58 C 149.9 58,150.3 58.2,150.6 58.4 C 151 58.7,151.5 58.9,151.8 59 C 152 59.1,152.4 59.3,152.7 59.5 C 153 59.7,153.5 59.9,153.8 60 C 154.1 60.1,154.7 60.3,155.1 60.6 C 155.5 60.8,155.9 61,156 61 C 156.1 61,156.6 61.2,157 61.5 C 157.4 61.8,157.9 62,158 62 C 158.1 62,158.5 62.2,158.9 62.4 C 159.3 62.7,159.8 62.9,160 62.9 C 160.2 63,160.8 63.2,161.3 63.5 C 161.7 63.8,162.2 64,162.3 64 C 162.4 64,162.8 64.2,163.2 64.5 C 163.7 64.8,164.1 65,164.3 65 C 164.4 65,164.7 65.2,165.1 65.4 C 165.4 65.6,166 65.9,166.4 66 C 166.8 66.1,167.3 66.4,167.5 66.5 C 168.1 67,168.5 67.1,168.8 66.8 L 169.1 66.6 169.1 54.7 C 169 42.3,169 42.1,168.5 41.4 C 168.4 41.2,168.2 40.8,168 40.4 C 167.9 40,167.6 39.6,167.5 39.3 C 167.3 39.1,167.1 38.8,167 38.6 C 166.4 37.6,164.1 35.6,162.7 35 C 162.3 34.8,162 34.6,161.9 34.5 C 161.9 34.4,161.6 34.2,161.2 34.1 C 160.9 33.9,160.4 33.6,160.1 33.4 C 159.8 33.2,159.5 33,159.4 33 C 159.3 33,159 32.8,158.7 32.6 C 158.3 32.3,157.8 32,157.5 31.9 C 157.3 31.8,157 31.6,156.8 31.5 C 156.7 31.4,156.3 31.1,155.9 31 C 155.6 30.9,155.1 30.6,154.9 30.4 C 154.7 30.2,154.4 30,154.3 30 C 154.2 30,154 29.9,153.7 29.7 C 153.5 29.5,153 29.2,152.6 29 C 152.2 28.8,151.6 28.5,151.4 28.3 C 151.2 28.2,150.6 27.8,150 27.5 C 149.4 27.2,148.8 26.8,148.6 26.7 C 148.4 26.5,147.9 26.2,147.6 26.1 C 147.3 25.9,146.8 25.6,146.4 25.4 C 146.1 25.2,145.8 25,145.7 25 C 145.6 25,145.3 24.8,145.1 24.6 C 144.9 24.4,144.4 24.1,144.1 24 C 143.7 23.9,143.3 23.6,143.2 23.5 C 143.1 23.4,142.7 23.1,142.4 23 C 141.8 22.7,140.8 22.1,140.1 21.6 C 139.9 21.5,139.4 21.2,139 21.1 C 138.6 20.9,138.2 20.6,138.1 20.5 C 137.9 20.4,137.6 20.2,137.3 20.1 C 137 19.9,136.7 19.7,136.6 19.6 C 136.4 19.5,136 19.2,135.5 19 C 135.1 18.8,134.7 18.6,134.7 18.5 C 134.6 18.4,134.2 18.2,133.8 18 C 133.4 17.8,133 17.6,132.9 17.5 C 132.9 17.4,132.6 17.2,132.2 17.1 C 131.9 16.9,131.4 16.6,131.1 16.4 C 130.8 16.2,130.5 16,130.4 16 C 130.4 16,130 15.8,129.5 15.5 C 129.1 15.2,128.7 15,128.7 15 C 128.6 15,128.3 14.8,128 14.6 C 127.7 14.3,127.3 14.1,127 14 C 126.7 13.9,126.3 13.7,126 13.4 C 125.7 13.2,125.4 13,125.3 13 C 125.2 13,125 12.9,124.7 12.7 C 124.5 12.5,124 12.2,123.5 12 C 123.1 11.8,122.7 11.6,122.7 11.5 C 122.6 11.4,122.3 11.2,121.9 11 C 121.5 10.8,121.1 10.6,121.1 10.5 C 121 10.4,120.6 10.2,120.2 10 C 119.8 9.8,119.4 9.6,119.3 9.5 C 119.3 9.4,119 9.2,118.6 9.1 C 118.3 8.9,117.8 8.6,117.4 8.4 C 117.1 8.2,116.8 8,116.7 8 C 116.6 8,116.3 7.8,116.1 7.6 C 115.9 7.4,115.4 7.1,115 6.9 C 114.6 6.8,114.1 6.5,113.9 6.4 C 112 5.1,110.5 4.6,107.9 4.5 C 106.4 4.5,106 4.6,105.1 4.8 M 126.1 53.4 C 126 53.6,126 57,126 65 L 126.1 76.4 126.4 77.2 C 126.5 77.6,126.8 78.5,126.9 79.2 C 127.1 79.9,127.3 80.5,127.4 80.7 C 127.6 80.9,127.8 81.3,127.9 81.7 C 128.5 83.6,131 86.9,133 88.4 C 133.9 89.2,134.8 89.7,135.2 90 C 135.5 90.1,135.9 90.3,136.3 90.5 C 136.6 90.7,137.1 91,137.5 91.1 C 137.9 91.2,138.4 91.4,138.6 91.6 C 138.9 91.8,139.4 92,139.7 92.1 C 140 92.1,140.6 92.4,140.9 92.6 C 141.3 92.8,141.6 93,141.8 93 C 141.9 93,142.3 93.2,142.8 93.4 C 143.2 93.7,143.9 93.9,144.2 94 C 144.6 94.2,145 94.4,145.2 94.5 C 145.4 94.6,145.9 94.8,146.2 95 C 146.6 95.1,147.2 95.3,147.5 95.5 C 147.8 95.7,148.4 95.9,148.8 96.1 C 149.2 96.2,149.5 96.3,149.6 96.4 C 149.7 96.6,150.5 97,151 97 C 151.2 97.1,151.7 97.3,152 97.5 C 152.3 97.7,152.8 97.9,153.1 98 C 153.4 98,153.9 98.3,154.2 98.5 C 154.5 98.7,155 98.9,155.3 98.9 C 155.5 99,156 99.2,156.3 99.4 C 156.6 99.6,157.2 99.8,157.6 99.9 C 157.9 100,158.4 100.3,158.7 100.5 C 159 100.6,159.5 100.9,159.8 101 C 160.2 101.1,160.7 101.3,161.1 101.5 C 161.4 101.7,161.9 101.9,162.2 102 C 162.6 102.1,163.1 102.3,163.4 102.5 C 163.7 102.7,164.2 102.9,164.5 103 C 164.8 103.1,165.3 103.3,165.6 103.5 C 165.9 103.7,166.4 103.9,166.6 103.9 C 166.8 104,167.3 104.2,167.7 104.4 C 168.1 104.7,168.7 104.9,169.1 105.1 C 169.5 105.2,170 105.4,170.3 105.6 C 170.6 105.7,171.1 106,171.5 106.1 C 171.9 106.2,172.4 106.4,172.6 106.6 C 172.9 106.8,173.4 107,173.7 107.1 C 174 107.1,174.6 107.4,174.9 107.6 C 175.3 107.8,175.6 108,175.8 108 C 175.9 108,176.3 108.2,176.8 108.4 C 177.2 108.7,177.9 108.9,178.2 109 C 178.6 109.2,179 109.4,179.2 109.5 C 179.4 109.6,179.9 109.8,180.2 110 C 180.6 110.1,181.2 110.3,181.5 110.5 C 181.8 110.7,182.4 110.9,182.8 111.1 C 183.2 111.2,183.5 111.3,183.6 111.4 C 183.7 111.6,184.5 112,185 112 C 185.2 112.1,185.7 112.3,186 112.5 C 186.3 112.7,186.8 112.9,187.1 113 C 187.4 113,187.9 113.3,188.2 113.5 C 188.5 113.7,189 113.9,189.3 113.9 C 189.5 114,190 114.2,190.3 114.4 C 190.6 114.6,191.2 114.8,191.6 114.9 C 191.9 115,192.4 115.3,192.7 115.5 C 192.9 115.7,193.3 115.9,193.5 116 C 193.8 116.1,194.1 116.3,194.4 116.5 C 194.6 116.7,195 116.9,195.2 117.1 C 195.5 117.2,195.9 117.4,196.1 117.6 C 197.1 118.4,197.6 118.9,198.7 119.8 C 199.3 120.4,200 120.9,200.2 121.1 C 200.4 121.3,200.7 121.6,200.9 121.8 C 201 122.1,201.6 122.8,202.2 123.4 C 202.7 124,203.6 124.9,204.1 125.5 C 204.6 126.1,205.2 126.8,205.5 127.1 C 206.2 128,207 128.9,207 129 C 207 129.1,207.2 129.4,207.5 129.7 C 207.8 130.1,208.2 130.4,208.3 130.6 C 208.8 131.2,209.5 131.7,209.7 131.5 C 209.8 131.4,209.8 128.4,209.9 120.1 C 210 108,209.9 105.8,209.5 104.5 C 209.4 104.1,209.2 103.3,209.1 102.8 C 209 102.2,208.7 101.4,208.6 101 C 208.4 100.7,208.2 100,208.1 99.6 C 207.9 99.2,207.7 98.5,207.5 98.2 C 207.3 97.9,207.1 97.4,207 97.2 C 206.9 97,206.7 96.6,206.6 96.4 C 206.4 96.2,206.1 95.8,206 95.5 C 205.9 95.2,205.6 94.7,205.4 94.4 C 205.2 94.2,205 93.9,205 93.9 C 205 93.8,204.7 93.5,204.4 93.1 C 204.1 92.7,203.7 92.2,203.5 92 C 202.9 91.2,200.1 88.5,199.6 88.1 C 199.4 88,199 87.7,198.9 87.5 C 198.4 87.1,197.2 86.2,196.5 85.9 C 196.2 85.7,196 85.5,196 85.5 C 196 85.4,195.7 85.2,195.3 85 C 195 84.9,194.5 84.6,194.3 84.4 C 194 84.3,193.6 84.1,193.3 84 C 193 83.9,192.6 83.7,192.3 83.5 C 192 83.3,191.6 83.1,191.4 83 C 191.1 83,190.2 82.6,188 81.5 C 187.4 81.2,186.9 81,186.8 81 C 186.7 81,186.2 80.8,185.8 80.6 C 185.5 80.3,184.8 80,184.5 79.9 C 184.1 79.8,183.6 79.6,183.3 79.4 C 183 79.2,182.6 79,182.5 79 C 182.4 79,182 78.8,181.7 78.6 C 181.4 78.4,180.8 78.2,180.5 78.1 C 180.1 78,179.6 77.7,179.3 77.5 C 179 77.3,178.6 77.1,178.4 77 C 178.1 77,177.2 76.6,175 75.5 C 174.4 75.2,173.9 75,173.7 75 C 173.6 75,173.2 74.8,172.9 74.6 C 172.5 74.3,172 74.1,171.7 74 C 171.4 73.9,170.9 73.7,170.6 73.5 C 170.3 73.3,169.8 73.1,169.6 73 C 169.3 72.9,168.8 72.7,168.5 72.5 C 168.2 72.3,167.7 72.1,167.4 72 C 167.1 71.9,166.6 71.7,166.4 71.5 C 166.1 71.4,165.6 71.1,165.3 71 C 165 70.9,164.4 70.6,164 70.4 C 163.6 70.2,163.1 70,163 70 C 162.9 70,162.5 69.8,162.1 69.6 C 161.7 69.3,161.2 69.1,160.9 69 C 160.6 69,160.1 68.7,159.8 68.5 C 159.4 68.3,158.9 68,158.6 68 C 158.3 67.9,157.8 67.7,157.6 67.5 C 157.4 67.3,157 67.1,156.7 67 C 156.3 67,155.8 66.7,155.5 66.5 C 155.2 66.3,154.7 66.1,154.4 66 C 154.1 65.9,153.6 65.7,153.4 65.5 C 153.1 65.4,152.6 65.1,152.3 65 C 152 64.9,151.4 64.6,151 64.4 C 150.6 64.2,150.1 64,150 64 C 149.9 64,149.5 63.8,149.2 63.6 C 148.8 63.4,148.2 63.1,147.9 63 C 147.5 62.9,147 62.6,146.7 62.4 C 146.4 62.3,146 62.1,145.8 62 C 145.6 61.9,145.1 61.7,144.8 61.5 C 144.5 61.3,144 61.1,143.8 61.1 C 143.5 61,142.9 60.8,142.5 60.5 C 142.1 60.2,141.5 60,141.2 59.9 C 141 59.9,140.5 59.7,140.2 59.5 C 139.9 59.3,139.4 59.1,139.2 59 C 139 58.9,138.6 58.7,138.3 58.5 C 138 58.4,137.5 58.1,137.2 58 C 136.8 57.9,136.3 57.7,136 57.5 C 135.7 57.3,135.2 57.1,134.8 57 C 134.5 56.9,134 56.6,133.7 56.5 C 133.4 56.3,133 56.1,132.8 56 C 132.6 55.9,132.1 55.7,131.8 55.5 C 131.5 55.3,131 55.1,130.8 55.1 C 130.5 55,129.9 54.8,129.5 54.5 C 129.1 54.2,128.5 54,128.2 53.9 C 128 53.9,127.5 53.7,127.3 53.5 C 126.8 53.1,126.3 53,126.1 53.4 M 88.5 53.5 C 88.3 53.7,87.8 53.9,87.4 54 C 87 54.1,86.4 54.4,86.1 54.6 C 85.7 54.8,85.4 55,85.3 55 C 85.1 55,84.8 55.1,84.5 55.3 C 84.2 55.5,83.6 55.8,83.3 55.9 C 82.9 56,82.3 56.3,82 56.5 C 81.7 56.7,81.2 56.9,81 57 C 80.5 57,79.9 57.3,79.5 57.6 C 79.4 57.8,79 57.9,78.7 58 C 78.4 58.1,77.9 58.3,77.6 58.5 C 77.3 58.7,76.8 58.9,76.6 59 C 76.3 59.1,75.8 59.3,75.5 59.5 C 75.2 59.7,74.7 59.9,74.4 60 C 74.1 60.1,73.5 60.3,73.2 60.5 C 72.9 60.7,72.4 60.9,72.2 61 C 72 61.1,71.6 61.3,71.3 61.5 C 71 61.6,70.5 61.9,70.2 62 C 69.8 62.1,69.3 62.3,69 62.5 C 68.7 62.7,68.2 62.9,67.8 63 C 67.5 63.1,67 63.4,66.7 63.5 C 66.4 63.7,66 63.9,65.8 64 C 65.6 64.1,65.1 64.3,64.8 64.5 C 64.5 64.7,64 64.9,63.8 64.9 C 63.5 65,62.9 65.2,62.5 65.5 C 62.1 65.8,61.5 66,61.2 66.1 C 61 66.1,60.5 66.3,60.2 66.5 C 59.9 66.7,59.4 66.9,59.2 67 C 59 67.1,58.6 67.3,58.3 67.5 C 58 67.6,57.5 67.9,57.2 68 C 56.8 68.1,56.3 68.3,56 68.5 C 55.7 68.7,55.2 68.9,54.8 69 C 54.5 69.1,54 69.4,53.7 69.5 C 53.4 69.7,53 69.9,52.8 70 C 52.6 70.1,52.1 70.3,51.8 70.5 C 51.5 70.7,51 70.9,50.8 70.9 C 50.5 71,49.9 71.2,49.5 71.5 C 49.1 71.8,48.5 72,48.2 72.1 C 48 72.1,47.5 72.3,47.2 72.5 C 46.9 72.7,46.4 72.9,46.2 73 C 46 73.1,45.6 73.3,45.3 73.5 C 45 73.6,44.5 73.9,44.2 74 C 43.8 74.1,43.3 74.3,43 74.5 C 42.7 74.7,42.2 74.9,41.8 75 C 41.5 75.1,41 75.4,40.7 75.5 C 40.4 75.7,40 75.9,39.8 76 C 39.6 76.1,39.1 76.3,38.8 76.5 C 38.5 76.7,38 76.9,37.8 76.9 C 37.5 77,36.9 77.2,36.5 77.5 C 36.1 77.8,35.5 78,35.2 78.1 C 35 78.1,34.5 78.3,34.2 78.5 C 33.9 78.7,33.4 78.9,33.2 79 C 33 79.1,32.6 79.3,32.3 79.5 C 32 79.6,31.5 79.9,31.2 80 C 30.8 80.1,30.3 80.3,30 80.5 C 29.7 80.7,29.2 80.9,28.8 81 C 28.5 81.1,28 81.4,27.7 81.5 C 27.4 81.7,27 81.9,26.8 82 C 26.6 82.1,26.1 82.3,25.8 82.5 C 25.5 82.7,25 82.9,24.8 82.9 C 24.5 83,23.9 83.2,23.5 83.5 C 23.1 83.8,22.5 84,22.3 84.1 C 22.1 84.1,21.7 84.3,21.4 84.5 C 21.2 84.7,20.7 84.9,20.5 85 C 20.3 85.1,19.9 85.3,19.6 85.4 C 19.4 85.6,18.9 85.8,18.6 86 C 18.3 86.2,17.9 86.4,17.8 86.5 C 17.6 86.7,17.2 86.9,16.9 87.1 C 15.6 88,14.7 88.6,14 89.4 C 13.8 89.6,13.4 89.9,13.3 90 C 13.1 90.1,12.3 90.9,11.5 91.8 C 9.6 94,9.4 94.3,8.9 95.1 C 8.7 95.4,8.4 95.9,8.3 96.1 C 7.4 97.6,7.1 98.2,6.9 98.8 C 6.8 99.1,6.6 99.6,6.5 99.9 C 6.3 100.1,6.1 100.7,6 101.1 C 5.9 101.6,5.7 102.4,5.5 103 C 4.9 104.8,4.8 106.5,4.9 119.6 C 5 127,5 131.1,5.1 131.3 C 5.3 131.8,5.7 131.7,6.1 131 C 6.2 130.7,6.4 130.4,6.5 130.3 C 6.7 130.2,6.9 129.9,7.1 129.6 C 7.2 129.2,7.4 129,7.5 129 C 7.6 129,7.7 128.8,7.9 128.5 C 8.6 127.3,13.4 122,13.7 122 C 13.8 122,14.2 121.6,14.6 121.2 C 15.1 120.7,15.6 120.2,15.9 120.1 C 16.1 120,16.5 119.6,16.8 119.4 C 18 118.4,18.9 117.7,20.2 117 C 20.5 116.8,20.9 116.6,21 116.4 C 21.3 116.1,22.1 115.7,23.4 115 C 23.8 114.8,24.3 114.5,24.4 114.4 C 24.5 114.3,24.9 114.1,25.3 114 C 25.6 113.9,26.1 113.6,26.4 113.4 C 26.6 113.3,27.1 113,27.5 112.9 C 27.9 112.8,28.4 112.6,28.6 112.4 C 28.9 112.3,29.4 112.1,29.8 112 C 30.1 111.8,30.6 111.6,30.8 111.5 C 31 111.4,31.5 111.1,32 111 C 32.4 110.8,33 110.6,33.3 110.4 C 33.6 110.3,34.1 110,34.5 109.9 C 34.9 109.8,35.4 109.6,35.6 109.4 C 35.9 109.3,36.4 109.1,36.8 109 C 37.1 108.8,37.6 108.6,37.8 108.5 C 38 108.4,38.5 108.1,39 108 C 39.4 107.8,40 107.6,40.3 107.4 C 40.6 107.3,41.1 107,41.5 106.9 C 41.9 106.8,42.4 106.6,42.6 106.4 C 42.9 106.3,43.3 106.1,43.6 106 C 43.9 105.9,44.4 105.7,44.7 105.6 C 45 105.4,45.6 105.2,46 105 C 46.5 104.9,47 104.6,47.2 104.5 C 47.4 104.4,47.9 104.2,48.2 104 C 48.6 103.9,49.1 103.7,49.4 103.6 C 49.6 103.4,50.1 103.2,50.5 103.1 C 50.9 103,51.4 102.7,51.7 102.6 C 52 102.4,52.6 102.2,53 102 C 53.5 101.9,54 101.6,54.2 101.5 C 54.4 101.4,54.9 101.2,55.2 101 C 55.6 100.9,56.1 100.7,56.4 100.6 C 56.6 100.4,57.1 100.2,57.5 100.1 C 57.9 100,58.4 99.7,58.7 99.6 C 59 99.4,59.6 99.2,60 99 C 60.5 98.9,61 98.6,61.2 98.5 C 61.4 98.4,61.9 98.2,62.2 98 C 62.6 97.9,63.1 97.7,63.4 97.6 C 63.6 97.4,64.1 97.2,64.5 97.1 C 64.9 97,65.4 96.7,65.7 96.6 C 66 96.4,66.5 96.2,66.9 96.1 C 67.3 96,67.9 95.7,68.2 95.5 C 68.6 95.3,69.1 95.1,69.4 95 C 69.8 94.9,70.3 94.7,70.6 94.5 C 70.9 94.3,71.4 94.1,71.7 94 C 72 93.9,72.6 93.7,73.1 93.4 C 73.5 93.2,74 93,74.2 93 C 74.3 93,74.7 92.8,75.1 92.6 C 75.4 92.4,76 92.1,76.4 92 C 76.8 91.9,77.3 91.7,77.5 91.5 C 77.8 91.4,78.2 91.2,78.5 91.1 C 78.8 91,79.3 90.7,79.6 90.4 C 80 90.2,80.4 90,80.4 90 C 80.5 90,80.8 89.8,81 89.7 C 81.2 89.5,81.7 89.1,81.9 88.9 C 83.2 88,83.6 87.7,84.7 86.6 C 86.1 85.2,86.6 84.6,87 83.9 C 87.2 83.7,87.4 83.3,87.6 83.1 C 87.7 82.9,87.9 82.5,88 82.3 C 88.1 82,88.2 81.6,88.4 81.5 C 88.7 81,88.9 80.6,89.1 79.8 C 89.2 79.4,89.3 78.5,89.5 77.8 C 89.7 77.1,89.8 75.7,89.9 74.3 C 90.1 71.3,90 54.1,89.8 53.6 C 89.6 53.2,89.1 53.1,88.5 53.5 M 105 85 C 104.4 85.1,103.8 85.3,103.5 85.5 C 103.3 85.6,102.9 85.8,102.5 85.9 C 102.1 86,101.6 86.3,101.3 86.5 C 101 86.6,100.5 86.9,100.2 87 C 99.8 87.1,99.3 87.3,99 87.5 C 98.7 87.7,98.2 87.9,98 88 C 97.5 88,96.7 88.4,96.6 88.6 C 96.5 88.7,96.2 88.8,95.8 88.9 C 95.4 89.1,94.8 89.3,94.5 89.5 C 94.2 89.7,93.7 89.9,93.4 90 C 93.1 90.1,92.5 90.3,92.2 90.5 C 91.9 90.7,91.4 91,91.1 91 C 90.8 91.1,90.3 91.3,90 91.5 C 89.7 91.7,89.2 91.9,88.8 92 C 88.5 92.1,88 92.4,87.7 92.5 C 87.4 92.7,86.9 93,86.5 93.1 C 86.2 93.2,85.6 93.4,85.4 93.6 C 85.1 93.7,84.6 94,84.3 94.1 C 84 94.1,83.4 94.4,83.1 94.6 C 82.7 94.8,82.4 95,82.2 95 C 82.1 95,81.6 95.2,81.1 95.5 C 80.6 95.8,80.1 96,80 96 C 79.9 96,79.4 96.2,78.9 96.5 C 78.4 96.7,77.8 97,77.6 97.1 C 77.4 97.1,76.9 97.3,76.6 97.5 C 76.3 97.7,75.8 97.9,75.5 98 C 75.2 98.1,74.7 98.3,74.4 98.5 C 74.1 98.7,73.6 98.9,73.3 99 C 73 99.1,72.6 99.3,72.3 99.5 C 72 99.6,71.5 99.9,71.2 100 C 70.9 100.1,70.2 100.3,69.8 100.6 C 69.3 100.8,68.9 101,68.8 101 C 68.6 101,68.3 101.2,67.9 101.4 C 67.6 101.6,67 101.9,66.7 101.9 C 66.4 102,65.9 102.2,65.6 102.4 C 65.4 102.6,64.9 102.8,64.5 102.9 C 64.1 103,63.6 103.3,63.2 103.5 C 62.9 103.7,62.4 104,62.1 104 C 61.8 104.1,61.3 104.3,61 104.5 C 60.7 104.7,60.2 104.9,60 105 C 59.5 105,58.7 105.4,58.6 105.6 C 58.5 105.7,58.2 105.8,57.8 105.9 C 57.4 106.1,56.8 106.3,56.5 106.5 C 56.2 106.7,55.7 106.9,55.4 107 C 55.1 107.1,54.5 107.3,54.1 107.6 C 53.7 107.8,53.3 108,53.2 108 C 53.1 108,52.7 108.2,52.2 108.4 C 51.8 108.6,51.2 108.9,50.8 109 C 50.4 109.2,50 109.4,49.7 109.8 L 49.2 110.3 49.2 146.4 C 49.1 181.8,49.1 182.5,49.4 182.8 L 49.6 183.1 63.5 183.1 L 77.4 183.1 77.6 182.8 C 77.8 182.5,77.8 181.1,77.9 156.4 C 78 129,78 129.1,78.6 127.8 C 78.7 127.6,78.8 127,78.9 126.5 C 79.1 126.1,79.3 125.4,79.6 124.9 C 79.8 124.5,80 124,80 123.9 C 80.1 123.7,80.3 123.4,80.4 123.2 C 80.6 122.9,80.9 122.5,81 122.2 C 81.2 121.7,81.4 121.5,82.6 120 C 84.2 117.9,87.8 114.8,89.4 114 C 89.7 113.9,90.1 113.6,90.4 113.4 C 90.6 113.3,91 113.1,91.3 113 C 91.5 112.9,91.9 112.7,92.2 112.5 C 92.5 112.4,92.9 112.1,93.2 112 C 93.6 111.8,93.9 111.6,94.1 111.5 C 94.2 111.4,94.6 111.1,95 111 C 95.3 110.9,95.8 110.7,96 110.5 C 96.2 110.4,96.6 110.1,97 110 C 97.3 109.9,97.7 109.6,97.8 109.5 C 98 109.4,98.4 109.1,98.7 109 C 99 108.9,99.6 108.6,99.9 108.4 C 100.3 108.2,100.6 108,100.7 108 C 100.8 108,101.1 107.8,101.5 107.6 C 101.8 107.3,102.3 107.1,102.4 107.1 C 102.6 107,103.1 106.8,103.5 106.5 C 104 106.2,104.4 106,104.5 106 C 104.6 106,105 105.8,105.4 105.5 C 105.8 105.3,106.4 105,106.7 104.9 L 107.4 104.6 108.1 104.9 C 108.5 105,109 105.3,109.3 105.5 C 109.6 105.7,110 105.9,110.3 106 C 110.5 106.1,110.9 106.3,111.1 106.4 C 111.3 106.6,111.8 106.9,112.2 107.1 C 112.6 107.3,113.3 107.7,113.8 107.9 C 114.2 108.1,114.7 108.4,114.9 108.6 C 115.1 108.7,115.5 108.9,115.7 109 C 116 109.1,116.5 109.3,116.8 109.6 C 117.1 109.8,117.5 110,117.6 110 C 117.6 110,118.1 110.2,118.5 110.5 C 118.9 110.8,119.4 111,119.5 111 C 119.6 111,120 111.2,120.3 111.4 C 120.7 111.7,121.2 112,121.5 112.1 C 121.7 112.2,122 112.4,122.2 112.5 C 122.3 112.6,122.7 112.9,123.1 113 C 123.4 113.2,123.8 113.4,123.9 113.6 C 124 113.7,124.2 113.9,124.4 114 C 124.9 114.2,125 114.3,127 116.2 C 128.2 117.4,129.4 118.7,130.4 119.9 C 130.6 120.1,130.9 120.6,131 121 C 131.2 121.3,131.4 121.6,131.5 121.7 C 131.6 121.7,131.8 122.1,132 122.5 C 132.1 122.8,132.4 123.3,132.6 123.6 C 132.7 123.9,132.9 124.3,133 124.6 C 133.1 124.9,133.3 125.5,133.5 125.8 C 133.6 126.1,133.9 126.9,134.1 127.5 C 134.2 128.2,134.5 129.2,134.7 129.9 L 135 131.2 135 156.9 C 135 181.2,135 182.6,135.2 182.9 L 135.4 183.1 149.7 183.1 C 158.3 183.1,164.1 183.1,164.3 183 C 164.5 182.9,164.7 182.8,164.7 182.6 C 165 182.2,164.9 109.7,164.6 109.5 C 164.6 109.4,164.2 109.1,163.8 109 C 163.5 108.9,163 108.6,162.7 108.5 C 162.4 108.3,161.9 108,161.5 107.9 C 161.2 107.8,160.6 107.6,160.4 107.4 C 160.1 107.3,159.6 107.1,159.2 106.9 C 158.8 106.8,158.5 106.7,158.4 106.6 C 158.3 106.4,157.5 106,157 106 C 156.8 105.9,156.3 105.7,156 105.5 C 155.7 105.3,155.2 105.1,154.9 105 C 154.6 105,154.1 104.7,153.8 104.5 C 153.5 104.3,152.9 104.1,152.6 104 C 152.3 103.9,151.9 103.7,151.6 103.6 C 151.4 103.4,150.8 103.2,150.5 103.1 C 150.1 103,149.6 102.7,149.3 102.5 C 149 102.4,148.5 102.1,148.2 102 C 147.8 101.9,147.3 101.7,146.9 101.5 C 146.6 101.3,146.1 101.1,145.8 101 C 145.4 100.9,144.9 100.7,144.6 100.5 C 144.3 100.3,143.8 100.1,143.5 100 C 143.2 99.9,142.7 99.7,142.4 99.5 C 142.1 99.3,141.6 99.1,141.4 99.1 C 141.2 99,140.8 98.8,140.4 98.6 C 140.1 98.4,139.4 98.2,139 98 C 138.5 97.9,138 97.6,137.7 97.5 C 137.4 97.3,136.9 97,136.6 96.9 C 136.2 96.8,135.6 96.6,135.3 96.4 C 135 96.2,134.5 96,134.3 95.9 C 134 95.9,133.5 95.7,133.2 95.5 C 132.9 95.3,132.4 95,132.1 95 C 131.8 94.9,131.3 94.7,131 94.5 C 130.7 94.3,130.2 94.1,129.9 94 C 129.6 94,129.1 93.7,128.8 93.5 C 128.5 93.3,127.9 93.1,127.6 93 C 127.3 92.9,126.8 92.7,126.5 92.5 C 126.2 92.3,125.6 92.1,125.2 92 C 124.9 91.8,124.4 91.6,124.2 91.5 C 124 91.4,123.6 91.1,123.2 91 C 122.8 90.9,122.2 90.6,121.8 90.4 C 121.5 90.2,121.1 90,121 90 C 120.9 90,120.4 89.8,120 89.5 C 119.6 89.2,119.1 89,119 89 C 118.9 89,118.4 88.8,118 88.5 C 117.6 88.2,117.1 88,117 88 C 116.9 88,116.4 87.8,116 87.5 C 115.6 87.2,115.1 87,115 87 C 114.9 87,114.4 86.8,114 86.5 C 113.6 86.2,113.1 86,113 86 C 112.9 86,112.5 85.8,112.1 85.6 C 111.7 85.3,111.1 85.1,110.7 85 C 110 84.9,105.6 84.9,105 85 M 174.3 114.2 C 174 114.5,174 114.6,174 148.5 C 174 180.8,174 182.6,174.2 182.9 L 174.4 183.1 185.4 183.1 C 191.5 183.1,198.9 183.1,201.9 183 C 207 182.9,207.4 182.9,207.6 182.7 L 207.9 182.5 207.9 168 C 207.9 156,207.8 153.4,207.7 152.8 C 207.6 152.2,207.5 151.1,207.5 149.4 C 207.5 148,207.4 146.7,207.4 146.5 C 207.3 146.3,207.2 145,207.1 143.7 C 207 140.9,206.8 139.8,206.5 139.1 C 206.4 138.8,206.2 138.2,206 137.7 C 205.9 137.2,205.7 136.6,205.6 136.4 C 205.5 136.1,205.2 135.6,205.1 135.3 C 205 134.9,204.7 134.3,204.5 134 C 204.3 133.7,204.1 133.2,203.9 133 C 203.8 132.7,203.6 132.3,203.4 132.1 C 203.2 131.8,203 131.5,202.8 131.3 C 202.7 131.1,202.4 130.6,202.1 130.2 C 201.8 129.8,201.4 129.3,201.2 129 C 200.7 128.4,197.7 125.2,197.2 124.8 C 196.9 124.7,196.4 124.3,195.8 123.9 C 194.4 122.8,193.9 122.4,193.1 122 C 192.7 121.8,192.4 121.6,192.3 121.5 C 192.3 121.4,191.9 121.2,191.5 121 C 191.1 120.9,190.7 120.6,190.5 120.5 C 190.3 120.3,189.8 120.1,189.4 120 C 189 119.9,188.5 119.6,188.2 119.5 C 187.9 119.3,187.5 119.1,187.2 119 C 186.9 118.9,186.4 118.7,186.1 118.5 C 185.7 118.3,185.2 118.1,184.8 118 C 184.5 117.9,183.9 117.7,183.6 117.5 C 183.3 117.3,182.8 117.1,182.4 117 C 182.1 116.9,181.6 116.7,181.3 116.6 C 181 116.4,180.3 116.1,179.8 116 C 179.3 115.9,178.7 115.6,178.5 115.5 C 178.3 115.4,177.7 115.1,177.2 115 C 176.7 114.9,176 114.6,175.7 114.4 C 174.9 114,174.5 114,174.3 114.2 M 38.1 114.6 C 37.8 114.7,37.2 114.9,36.7 115 C 36.2 115.1,35.6 115.4,35.3 115.5 C 35 115.7,34.5 115.9,34.1 116 C 33.6 116.1,33.1 116.3,32.9 116.4 C 32.6 116.6,32.1 116.8,31.6 116.9 C 31.2 117.1,30.6 117.3,30.3 117.4 C 30 117.6,29.4 117.8,29 118 C 28.5 118.1,28 118.4,27.7 118.6 C 27.4 118.7,27 118.9,26.8 119 C 26.5 119.1,26 119.3,25.6 119.6 C 25.3 119.8,24.9 120,24.8 120 C 24.6 120,24.3 120.1,24.1 120.3 C 23.8 120.5,23.2 120.8,22.9 121 C 22.5 121.2,22.1 121.4,22.1 121.5 C 22 121.6,21.7 121.8,21.4 121.9 C 20.4 122.5,18.7 123.7,18 124.5 C 17.7 124.7,17.5 124.9,17.3 125 C 17 125.1,13.1 129,13.1 129.1 C 13.1 129.2,12.9 129.5,12.6 129.9 C 11.4 131.3,11.3 131.5,11 132 C 10.8 132.3,10.6 132.7,10.5 132.8 C 10.4 133,10.2 133.3,10.1 133.6 C 9.9 133.8,9.7 134.2,9.5 134.5 C 9.4 134.7,9.1 135.2,9 135.6 C 8.9 136.1,8.6 136.6,8.5 136.9 C 8.3 137.1,8.1 137.7,8 138.1 C 7.9 138.6,7.7 139.3,7.6 139.6 C 7.1 140.7,7 141.7,6.9 145.1 C 6.8 146.7,6.7 148.3,6.6 148.5 C 6.4 149.2,6.5 179.3,6.7 180.6 C 6.8 181.1,6.9 181.8,6.9 182.1 C 6.9 183.2,5.3 183.1,23.4 183.1 C 37.9 183.1,39.6 183.1,39.7 182.9 C 39.9 182.8,39.9 179.5,39.9 148.8 C 39.9 130.1,39.8 114.7,39.7 114.5 C 39.6 114.1,38.7 114.2,38.1 114.6'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------------------
   02 · Base
   --------------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 110px;
  overflow-x: clip;
}
body {
  margin: 0;
  overflow-x: clip;
  font-family: var(--font);
  font-size: var(--fs-body);
  line-height: 1.85;
  color: var(--text);
  background: var(--ivory);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,
h2,
h3,
h4,
p,
ol,
ul,
figure,
dl,
dd,
blockquote {
  margin: 0;
}
ol,
ul {
  padding: 0;
  list-style: none;
}
img,
svg {
  display: block;
  max-width: 100%;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
button {
  cursor: pointer;
}
em {
  font-style: normal;
}
main h1,
main h2 {
  font-weight: 700;
  color: var(--teal);
  text-wrap: balance;
}
main h2 {
  font-size: var(--fs-h2);
  line-height: 1.38;
}
h3 {
  font-weight: 600;
  line-height: 1.45;
  color: var(--teal);
}
:focus-visible {
  outline: 2px solid var(--sand-ink);
  outline-offset: 3px;
  border-radius: 4px;
}
::selection {
  background: var(--sand);
  color: var(--black);
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 300;
  padding: 12px 20px;
  background: var(--teal);
  color: var(--ivory);
  font-weight: 600;
  border-radius: var(--r-sm);
  transform: translateY(-160%);
  transition: transform 0.3s var(--ease);
}
.skip-link:focus {
  transform: none;
}
.container {
  width: 100%;
  max-width: calc(var(--container) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.nowrap {
  white-space: nowrap;
}
.anchor {
  display: block;
  height: 0;
}

html.lenis,
html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
html.menu-open {
  overflow: hidden;
}

/* ---------------------------------------------------------------------
   03 · Icons
   --------------------------------------------------------------------- */
.icon {
  width: 18px;
  height: 18px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.svc-icon {
  width: 46px;
  height: 46px;
  flex: none;
  fill: none;
  stroke: var(--sand-ink);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ---------------------------------------------------------------------
   04 · Eyebrow, buttons, links
   --------------------------------------------------------------------- */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--teal);
}
.eyebrow__num {
  font-size: 12.5px;
  color: var(--sand-ink);
  font-variant-numeric: tabular-nums;
}
.eyebrow__line {
  width: 34px;
  height: 1px;
  background: var(--sand-ink);
  opacity: 0.6;
}
.eyebrow--light,
.eyebrow--dark {
  color: var(--teal);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  transition:
    background-color 0.3s var(--ease),
    color 0.3s var(--ease),
    border-color 0.3s var(--ease),
    box-shadow 0.3s var(--ease);
}
.btn__icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  overflow: hidden;
}
.btn .icon {
  transition: transform 0.45s var(--ease);
}
.btn:hover .icon,
.btn:focus-visible .icon {
  transform: translateX(-4px);
}
/* Primary — rotating gradient ring.
   Converted from the React `GradientButton` (button-1.tsx): pill (50px) shell carrying an
   animated conic gradient, an inner fill inset on every side that fades on hover (300ms linear),
   centred label above it, keyboard focus and a disabled state (opacity .5, not-allowed). */
@property --r {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.btn--teal,
.header-cta {
  --ring: conic-gradient(
    from var(--r),
    #1a3940 0deg,
    #2c5359 55deg,
    #8a7a5e 100deg,
    #d9b589 135deg,
    #e4c9a4 160deg,
    #d9b589 185deg,
    #8a7a5e 220deg,
    #2c5359 265deg,
    #1a3940 310deg,
    #1a3940 360deg
  );
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0;
  border-radius: 50px;
  cursor: pointer;
  color: var(--warm-white);
  background: var(--ring);
  box-shadow: 0 14px 30px -18px rgba(26, 57, 64, 0.8);
  animation: btn-ring 6s linear infinite;
}
.btn--teal::after,
.header-cta::after {
  content: "";
  position: absolute;
  inset: 2px;
  z-index: 1;
  border-radius: 48px;
  background: linear-gradient(180deg, #21474f 0%, #1a3940 55%, #163238 100%);
  transition: opacity 0.3s linear;
}
.btn--teal > *,
.header-cta > * {
  position: relative;
  z-index: 2;
}
.btn--teal:hover,
.header-cta:hover {
  background: var(--ring);
}
.btn--teal:hover::after,
.header-cta:hover::after {
  opacity: 0.93;
}
.btn--teal .icon,
.header-cta .icon {
  color: var(--sand);
}
.btn--teal:hover,
.header-cta:hover {
  box-shadow: 0 16px 34px -18px rgba(122, 92, 56, 0.6);
}
.btn--teal:focus-visible,
.header-cta:focus-visible {
  outline: 2px solid var(--sand-ink);
  outline-offset: 3px;
}
.btn--teal:disabled,
.btn--teal[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
@keyframes btn-ring {
  to {
    --r: 360deg;
  }
}
.btn--line {
  border-color: var(--line-strong);
  color: var(--teal);
  background: rgba(255, 255, 255, 0.55);
}
.btn--line:hover {
  border-color: var(--teal);
  background: var(--white);
}
.btn--sand {
  background: var(--sand);
  color: var(--black);
}
.btn--sand:hover {
  background: #cfa676;
}
.btn--lg {
  min-height: 58px;
  padding: 0 28px;
  font-size: 16px;
}
.btn--block {
  width: 100%;
  justify-content: space-between;
}

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-block: 6px;
  font-weight: 600;
  color: var(--teal);
}
.link-arrow__text {
  padding-bottom: 3px;
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(var(--sand), var(--sand));
  background-repeat: no-repeat;
  background-position:
    100% 100%,
    100% 100%;
  background-size:
    0% 1px,
    100% 1px;
  transition: background-size 0.55s var(--ease);
}
.link-arrow:hover .link-arrow__text,
.link-arrow:focus-visible .link-arrow__text {
  background-size:
    100% 1px,
    100% 1px;
}
.link-arrow .icon {
  transition: transform 0.45s var(--ease);
}
.link-arrow:hover .icon {
  transform: translateX(-4px);
}
.link-arrow--light {
  color: var(--teal);
}

.text-lead {
  font-size: var(--fs-lead);
  line-height: 1.85;
  font-weight: 500;
  color: var(--text);
}

/* ---------------------------------------------------------------------
   05 · Image placeholder (light)
   --------------------------------------------------------------------- */
.image-placeholder {
  position: relative;
  margin: 0;
  aspect-ratio: var(--ratio);
  overflow: hidden;
  border-radius: var(--r);
  background: var(--ivory);
  container: ph / inline-size;
}
.image-placeholder img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  color: transparent;
  opacity: 0;
  transition: transform 1.2s var(--ease), opacity 0.25s var(--ease);
}
.image-placeholder img.is-loaded,
.image-placeholder.is-missing img.is-loaded {
  opacity: 1;
}
.image-placeholder.is-missing img {
  opacity: 0;
}
.image-placeholder picture {
  position: absolute;
  inset: 0;
}
.image-placeholder__fallback {
  position: absolute;
  inset: 0;
  display: none;
  flex-direction: column;
  gap: 10px;
  padding: clamp(16px, 5cqi, 32px);
  background-color: var(--sand-300);
  background-image:
    linear-gradient(to left, rgba(122, 92, 56, 0.1) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(122, 92, 56, 0.1) 1px, transparent 1px);
  background-size:
    25% 100%,
    100% 33.333%;
  color: var(--teal);
}
.image-placeholder.is-missing .image-placeholder__fallback {
  display: flex;
}
.image-placeholder__fallback::before {
  content: "";
  position: absolute;
  inset: clamp(8px, 2cqi, 14px);
  border: 1px solid var(--line-sand);
  border-radius: calc(var(--r) - 6px);
  pointer-events: none;
}
.image-placeholder__tag {
  position: relative;
  align-self: flex-start;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--sand-ink);
  direction: ltr;
}
.image-placeholder__desc {
  position: relative;
  margin-top: auto;
  max-width: 40ch;
  font-size: 14px;
  line-height: 1.75;
  font-weight: 500;
  color: var(--teal);
}
.image-placeholder__meta {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px 18px;
  padding-top: 10px;
  border-top: 1px solid var(--line-sand);
  direction: ltr;
}
.image-placeholder__meta div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.image-placeholder__meta dt {
  font-size: 9.5px;
  letter-spacing: 0.16em;
  line-height: 1.3;
  color: var(--sand-ink);
}
.image-placeholder__meta dd {
  font-size: 12px;
  line-height: 1.4;
  color: var(--teal);
  overflow-wrap: anywhere;
}
.image-placeholder__meta .m-path {
  flex-basis: 100%;
}
.image-placeholder:hover img,
a:hover .image-placeholder img {
  transform: scale(1.02);
}
.image-placeholder--fill {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
}
.image-placeholder--fill .image-placeholder__fallback::before {
  border-radius: 0;
}
.image-placeholder--hero .image-placeholder__fallback {
  align-items: flex-end;
  padding: calc(var(--header-h) + 24px) clamp(20px, 3vw, 44px) 32px;
}
.image-placeholder--hero .image-placeholder__desc {
  margin-top: 8px;
  text-align: left;
  max-width: 36ch;
}
.image-placeholder--hero .image-placeholder__meta {
  max-width: 520px;
}
.image-placeholder__caption {
  position: absolute;
  z-index: 3;
  inset-block-end: 12px;
  inset-inline-start: 12px;
  max-width: calc(100% - 24px);
  padding: 8px 14px;
  border-radius: var(--r-sm);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--teal);
  background: var(--glass);
  border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
@container ph (max-width: 380px) {
  .image-placeholder__meta .m-ratio,
  .image-placeholder__meta .m-format,
  .image-placeholder__meta .m-path {
    display: none;
  }
  .image-placeholder__desc {
    font-size: 13px;
  }
}
@container ph (max-width: 230px) {
  .image-placeholder__desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
  }
  .image-placeholder__caption {
    display: none;
  }
}

/* ---------------------------------------------------------------------
   06 · Header — floating frosted bar (glass: sits over imagery)
   --------------------------------------------------------------------- */
.site-header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 60;
  padding: 14px var(--gutter) 0;
  transition: padding 0.45s var(--ease);
}
.site-header__inner {
  max-width: var(--container);
  margin-inline: auto;
  height: 76px;
  padding-inline: 22px 12px;
  display: flex;
  align-items: center;
  gap: clamp(20px, 3vw, 44px);
  border-radius: 16px;
  background: var(--glass);
  border: 1px solid var(--glass-border);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 18px 44px -30px rgba(13, 13, 13, 0.45);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  transition:
    height 0.45s var(--ease),
    background 0.45s var(--ease),
    box-shadow 0.45s var(--ease);
}
.site-header.is-scrolled {
  padding-top: 10px;
}
.site-header.is-scrolled .site-header__inner {
  height: 66px;
  background: linear-gradient(
    135deg,
    rgba(251, 249, 245, 0.94),
    rgba(247, 243, 236, 0.86)
  );
  box-shadow: 0 16px 40px -28px rgba(26, 57, 64, 0.45);
}
.brand {
  display: block;
  flex: none;
}
.brand__logo {
  height: 52px;
  width: auto;
  transition: height 0.45s var(--ease);
}
.brand__logo--light {
  display: none;
}
.site-header.is-scrolled .brand__logo {
  height: 44px;
}

.nav {
  flex: 1;
  display: flex;
  justify-content: center;
}
.nav__list {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.4vw, 40px);
}
.nav__item {
  position: relative;
}
.nav__link {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding-block: 10px;
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--teal);
}
.nav__label {
  position: relative;
}
.nav__label::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -5px;
  height: 1.5px;
  border-radius: 2px;
  background: var(--sand);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.5s var(--ease);
}
.nav__link:hover .nav__label::after,
.nav__link[aria-current] .nav__label::after {
  transform: scaleX(1);
}
.nav__link[aria-current="page"] {
  color: var(--black);
}
.nav__item--menu {
  display: flex;
  align-items: center;
  gap: 2px;
}
.nav__toggle {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 8px;
  color: var(--teal);
}
.nav__toggle .icon {
  width: 15px;
  height: 15px;
  transition: transform 0.4s var(--ease);
}
.nav__item--menu.is-open .nav__toggle .icon {
  transform: rotate(180deg);
}

.dropdown {
  position: absolute;
  inset-block-start: calc(100% + 26px);
  inset-inline-start: -24px;
  width: 420px;
  padding: 8px;
  border-radius: 16px;
  background: linear-gradient(
    135deg,
    rgba(251, 249, 245, 0.96),
    rgba(247, 243, 236, 0.9)
  );
  border: 1px solid var(--glass-border);
  box-shadow: 0 30px 60px -30px rgba(26, 57, 64, 0.45);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity 0.3s var(--ease),
    transform 0.4s var(--ease),
    visibility 0s linear 0.4s;
}
.dropdown::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 100%;
  height: 28px;
}
.nav__item--menu.is-open .dropdown {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
@media (hover: hover) {
  .nav__item--menu:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
  .nav__item--menu:hover .nav__toggle .icon {
    transform: rotate(180deg);
  }
}
.dropdown__link {
  display: grid;
  grid-template-columns: 1fr 18px;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--teal);
  transition: background-color 0.25s;
}
.dropdown__link:hover {
  background: rgba(26, 57, 64, 0.05);
}
.dropdown__text {
  display: flex;
  flex-direction: column;
}
.dropdown__num {
  font-size: 11px;
  font-weight: 600;
  color: var(--sand-ink);
}
.dropdown__link .icon {
  opacity: 0;
  transform: translateX(6px);
  transition:
    opacity 0.3s,
    transform 0.45s var(--ease);
}
.dropdown__link:hover .icon,
.dropdown__link:focus-visible .icon {
  opacity: 1;
  transform: none;
}
.dropdown__all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
  padding: 13px 14px 9px;
  border-top: 1px solid var(--line);
  font-size: 14px;
  font-weight: 600;
  color: var(--sand-ink);
}

.header-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: none;
  min-height: 48px;
  padding: 0 22px;
  font-size: 15px;
  font-weight: 600;
}
.header-cta .icon {
  width: 16px;
  transition: transform 0.45s var(--ease);
}
.header-cta:hover .icon {
  transform: translateX(-4px);
}

.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  margin-inline-start: auto;
  place-items: center;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--teal);
}
.menu-toggle__bars {
  display: grid;
  gap: 6px;
  width: 20px;
}
.menu-toggle__bars span {
  display: block;
  height: 1.5px;
  background: currentColor;
}
.menu-toggle__bars span:last-child {
  width: 13px;
}

.mmenu {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  flex-direction: column;
  padding: 0 var(--gutter) 28px;
  overflow-y: auto;
  background: rgba(247, 243, 236, 0.96);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  opacity: 0;
  transition: opacity 0.35s var(--ease);
}
.mmenu[hidden] {
  display: none;
}
.mmenu.is-open {
  opacity: 1;
}
.mmenu__top {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 84px;
  border-bottom: 1px solid var(--line);
}
.mmenu__top .brand__logo {
  height: 48px;
}
.mmenu__close {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--teal);
}
.mmenu__list {
  margin-top: 12px;
}
.mmenu__item {
  border-bottom: 1px solid var(--line);
}
.mmenu__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.mmenu__link {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding-block: 15px;
  font-size: clamp(20px, 5.4vw, 24px);
  font-weight: 600;
  line-height: 1.35;
  color: var(--teal);
}
.mmenu__link[aria-current="page"] {
  color: var(--black);
}
.mmenu__num {
  font-size: 12px;
  font-weight: 600;
  color: var(--sand-ink);
}
.mmenu__toggle {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: none;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--teal);
}
.mmenu__toggle .icon {
  transition: transform 0.4s var(--ease);
}
.mmenu__toggle[aria-expanded="true"] .icon {
  transform: rotate(45deg);
}
.mmenu__sub {
  padding: 0 0 16px;
}
.mmenu__sub a {
  display: block;
  padding: 9px 26px 9px 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--text);
}
.mmenu__foot {
  margin-top: auto;
  padding-top: 30px;
}
.mmenu.is-open .mmenu__item {
  animation: mm-in 0.7s var(--ease) both;
}
.mmenu.is-open .mmenu__item:nth-child(2) {
  animation-delay: 0.05s;
}
.mmenu.is-open .mmenu__item:nth-child(3) {
  animation-delay: 0.1s;
}
.mmenu.is-open .mmenu__item:nth-child(4) {
  animation-delay: 0.15s;
}
.mmenu.is-open .mmenu__item:nth-child(5) {
  animation-delay: 0.2s;
}
@keyframes mm-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* ---------------------------------------------------------------------
   07 · Footer — deep teal closing (the one teal surface on the site)
   --------------------------------------------------------------------- */
.site-footer {
  background: linear-gradient(180deg, #1a3940 0%, #163339 100%);
  color: rgba(247, 243, 236, 0.78);
  padding-top: clamp(64px, 6.4vw, 96px);
}
.site-footer :focus-visible {
  outline-color: var(--sand);
}

.site-footer__intro {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.4vw, 36px);
  padding-bottom: clamp(40px, 4.4vw, 60px);
  border-bottom: 1px solid rgba(247, 243, 236, 0.12);
}
.site-footer__mark {
  flex: none;
  display: block;
}
.site-footer__mark img {
  display: block;
  width: 100px;
  height: auto;
}
.site-footer__statement {
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.45;
  color: var(--warm-white);
}
.site-footer__statement span {
  color: var(--sand);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(32px, 4vw, 72px);
  padding-block: clamp(40px, 4.4vw, 60px);
}
.site-footer__desc {
  max-width: 42ch;
  font-size: 16px;
  line-height: 2;
  color: rgba(247, 243, 236, 0.72);
}
.site-footer__title {
  margin-bottom: 18px;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.5 !important;
  color: var(--sand) !important;
}
.site-footer__links {
  display: grid;
  gap: 12px;
}
.site-footer__links a {
  display: inline-block;
  padding-bottom: 2px;
  font-size: 15.5px;
  line-height: 1.6;
  color: rgba(247, 243, 236, 0.88);
  background: linear-gradient(var(--sand), var(--sand)) no-repeat 100% 100% / 0
    1px;
  transition:
    color 0.3s,
    background-size 0.45s var(--ease);
}
.site-footer__links a:hover {
  color: var(--sand);
  background-size: 100% 1px;
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 28px;
  padding-block: 24px;
  border-top: 1px solid rgba(247, 243, 236, 0.12);
  font-size: 14px;
  color: rgba(247, 243, 236, 0.6);
}
.site-footer__credit {
  font-weight: 600;
  color: var(--sand);
}
.site-footer__top {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--sand);
  color: var(--teal);
  transition:
    transform 0.45s var(--ease),
    background-color 0.3s;
}
.site-footer__top:hover {
  transform: translateY(-3px);
  background: var(--warm-white);
}

/* =====================================================================
   HOME
   ===================================================================== */

/* ---------------------------------------------------------------------
   Hero — full-bleed image; copy sits directly on a soft one-sided light wash
   --------------------------------------------------------------------- */
.hero3 {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 100vh;
  min-height: 100svh;
  color: var(--teal);
  background: var(--ivory);
}
.hero3__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
.hero3__figure img {
  inset: auto 0 0;
  height: 103%;
  object-position: center top;
}
.hero3 .image-placeholder__fallback {
  align-items: flex-end;
  padding: calc(var(--header-h) + 28px) clamp(20px, 3vw, 44px) 32px;
}
.hero3 .image-placeholder__desc {
  margin-top: 10px;
  text-align: left;
  max-width: 34ch;
}
.hero3 .image-placeholder__meta {
  max-width: 460px;
}
.hero3__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(247, 243, 236, 0.12) 0%,
    rgba(247, 243, 236, 0) 58%
  );
}
.hero3__inner {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 100vh;
  min-height: 100svh;
  padding-top: calc(var(--header-h) + clamp(8px, 2vh, 20px));
  padding-bottom: 130px;
}
@media (min-width: 1024px) {
  .hero3__inner {
    justify-content: center;
    padding-top: max(calc(var(--header-h) + 64px), 24svh);
  }
}
.hero3__panel {
  width: min(100%, 740px);
  text-align: center;
}
.hero3__kicker {
  justify-content: center;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--sand-ink);
}
.hero3__kicker-line {
  width: 36px;
  height: 1.5px;
  flex: none;
  border-radius: 2px;
  background: var(--sand-ink);
}
.hero3__title {
  margin-bottom: 16px;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.26;
  color: var(--teal);
}
.hero__line {
  display: block;
  overflow: hidden;
  padding-block: 0.08em 0.16em;
  margin-block: -0.08em -0.16em;
}
.hero__line > span {
  display: inline-block;
}
.hero3__text {
  max-width: 54ch;
  margin-bottom: 34px;
  font-size: var(--fs-lead);
  line-height: 1.95;
  color: #34413f;
}
.hero3__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}
.hero3__actions .btn {
  min-height: 52px;
  padding-inline: 24px;
}
.hero3 .btn--line {
  border-color: rgba(26, 57, 64, 0.2);
  color: var(--teal);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: var(--shadow-sm);
}
.hero3 .btn--line:hover {
  border-color: var(--teal);
  background: var(--white);
}

/* Scroll cue — realistic mouse, centred */
.hero3__scroll {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: clamp(22px, 3.4vw, 40px);
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: var(--teal);
  transition: color 0.3s;
}
.mouse {
  width: 26px;
  height: 40px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.6));
}
.mouse__body {
  stroke-width: 1.6;
  fill: rgba(247, 243, 236, 0.55);
}
.mouse__seam {
  stroke-width: 1.2;
  opacity: 0.55;
}
.mouse__wheel {
  fill: currentColor;
  stroke: none;
  transform-box: fill-box;
  transform-origin: center;
  animation: mouse-wheel 2.2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
.hero3__scroll-line {
  position: relative;
  width: 1.5px;
  height: 26px;
  overflow: hidden;
  border-radius: 2px;
  background: rgba(26, 57, 64, 0.18);
}
.hero3__scroll-line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: currentColor;
  transform: translateY(-100%);
  animation: scroll-line 2.2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
.hero3__scroll:hover {
  color: var(--sand-ink);
}
@keyframes mouse-wheel {
  0% {
    opacity: 0;
    transform: translateY(-3px);
  }
  25% {
    opacity: 1;
  }
  65% {
    opacity: 0;
    transform: translateY(9px);
  }
  100% {
    opacity: 0;
    transform: translateY(9px);
  }
}
@keyframes scroll-line {
  0%,
  30% {
    transform: translateY(-100%);
  }
  70% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}

/* ---------------------------------------------------------------------
   About — content beside one image inside the logo mark
   --------------------------------------------------------------------- */
.h-about {
  background: var(--white);
  padding-block: var(--pad);
}
.h-about__split {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 48px;
  align-items: center;
}
.h-about__content {
  grid-column: 1 / span 5;
}
.h-about__rule {
  display: block;
  width: 64px;
  height: 2px;
  margin: 24px 0 26px;
  border-radius: 2px;
  background: var(--sand);
  transform-origin: right;
}
.h-about__content .text-lead {
  margin-bottom: 16px;
}
.h-about__text {
  max-width: 54ch;
  margin-bottom: 34px;
  color: var(--muted);
}
.h-about__visual {
  grid-column: 7 / span 6;
}
.h-about__stage {
  position: relative;
  padding: 0 0 clamp(18px, 2vw, 30px) clamp(18px, 2vw, 30px);
}
.logo-media {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 30px 34px rgba(26, 57, 64, 0.18))
    drop-shadow(0 4px 8px rgba(26, 57, 64, 0.08));
}
.image-placeholder--logo {
  aspect-ratio: 214 / 188;
  border-radius: 0;
  container-type: normal;
  -webkit-mask: var(--mark) center / contain no-repeat;
  mask: var(--mark) center / contain no-repeat;
}
.image-placeholder--logo .image-placeholder__fallback {
  padding: 0;
  background-image:
    linear-gradient(to left, rgba(122, 92, 56, 0.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(122, 92, 56, 0.12) 1px, transparent 1px);
  background-size:
    12.5% 100%,
    100% 14.28%;
}
.image-placeholder--logo .image-placeholder__fallback::before {
  display: none;
}
.image-placeholder--logo img {
  transition:
    transform 1.4s var(--ease),
    opacity 0.6s var(--ease);
}
.h-about__visual:hover .image-placeholder--logo img {
  transform: scale(1.04);
}
.h-about__echo {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: calc(100% - clamp(18px, 2vw, 30px));
  aspect-ratio: 214 / 188;
  background: var(--sand);
  opacity: 0.26;
  -webkit-mask: var(--mark) center / contain no-repeat;
  mask: var(--mark) center / contain no-repeat;
}
.logo-media__spec {
  display: none;
  position: relative;
  z-index: 2;
  gap: 10px;
  max-width: 520px;
  margin: 26px auto 0;
  padding: 18px 20px;
  border-radius: var(--r);
  background: var(--sand-100);
  border: 1px solid var(--line);
}
.h-about__visual:has(.is-missing) .logo-media__spec {
  display: grid;
}
.logo-media__tag {
  justify-self: end;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--sand-ink);
  direction: ltr;
}
.logo-media__desc {
  font-size: 14px;
  line-height: 1.8;
  color: var(--text);
}
.logo-media__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px 18px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  direction: ltr;
}
.logo-media__meta div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.logo-media__meta dt {
  font-size: 9.5px;
  letter-spacing: 0.16em;
  color: var(--sand-ink);
}
.logo-media__meta dd {
  font-size: 12px;
  color: var(--teal);
  overflow-wrap: anywhere;
}
.logo-media__path {
  flex-basis: 100%;
}

/* ---------------------------------------------------------------------
   Services — program index (light)
   --------------------------------------------------------------------- */
.pindex {
  background: var(--sand-200);
  padding-block: var(--pad);
}
.pindex__head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  margin-bottom: clamp(44px, 5vw, 72px);
}
.pindex__head .eyebrow {
  grid-column: 1 / -1;
  justify-self: start;
}
.pindex__h {
  grid-column: 1 / span 8;
}
.pindex__intro {
  grid-column: 1 / span 7;
  margin-top: 16px;
  max-width: 62ch;
  font-size: var(--fs-lead);
  line-height: 1.9;
  color: var(--muted);
}
.pindex__body {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  align-items: start;
}
.pindex__list {
  grid-column: 1 / span 7;
}
.pindex__item {
  position: relative;
  margin-bottom: 8px;
  padding-inline: 20px;
  border: 1px solid transparent;
  border-radius: var(--r);
  transition:
    background-color 0.45s var(--ease),
    border-color 0.45s,
    box-shadow 0.45s;
}
.pindex__item:not(:last-child)::after {
  content: "";
  position: absolute;
  inset-inline: 20px;
  bottom: -5px;
  height: 1px;
  background: var(--line);
  transition: opacity 0.3s;
}
.pindex__item.is-active {
  background: var(--white);
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-sm);
}
.pindex__item.is-active::after,
.pindex__item:has(+ .is-active)::after {
  opacity: 0;
}
.pindex__item::before {
  content: "";
  position: absolute;
  inset-block: 22px;
  inset-inline-start: 0;
  width: 3px;
  border-radius: 3px;
  background: var(--sand);
  transform: scaleY(0);
  transition: transform 0.5s var(--ease);
}
.pindex__item.is-active::before {
  transform: scaleY(1);
}
.pindex__heading {
  font-size: inherit;
  font-weight: inherit;
}
.pindex__trigger {
  width: 100%;
  display: grid;
  grid-template-columns: 52px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 20px 0 12px;
  background: none;
  border: 0;
  text-align: start;
  color: inherit;
}
.pindex__ico {
  width: 44px;
  height: 44px;
}
.pindex__item:not(.is-active) .pindex__ico {
  opacity: 0.55;
}
.pindex__title {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: var(--fs-h3-lg);
  font-weight: 600;
  line-height: 1.45;
  color: var(--teal);
  transition: opacity 0.3s;
}
.pindex__item:not(.is-active) .pindex__title {
  opacity: 0.7;
}
.pindex__trigger:hover .pindex__title {
  opacity: 1;
}
.pindex__num {
  font-size: 12px;
  font-weight: 600;
  color: var(--sand-ink);
}
.pindex__icon {
  display: none;
}
.pindex__panel {
  display: grid;
  grid-template-rows: 1fr;
}
.pindex__panel-inner {
  overflow: hidden;
  padding-inline-start: 68px;
  padding-bottom: 20px;
}
.pindex__panel p {
  max-width: 56ch;
  margin-bottom: 10px;
  color: var(--muted);
}
.pindex__item:not(.is-active) .pindex__panel p {
  opacity: 0.75;
}
.pindex__mobile-media {
  display: none;
}
.pindex__stage {
  grid-column: 9 / span 4;
  position: sticky;
  top: 112px;
}
.pindex__frame {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--sand-300);
  box-shadow: var(--shadow);
}
.pindex__frame .image-placeholder {
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
}
.pindex__slide {
  position: absolute;
  inset: 0;
  z-index: 1;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1s var(--ease-io);
}
.pindex__slide.is-active {
  z-index: 2;
  clip-path: inset(0 0 0 0);
}
.pindex__counter {
  position: absolute;
  z-index: 5;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  padding: 6px 14px;
  border-radius: var(--r-sm);
  font-weight: 700;
  color: var(--teal);
  background: var(--glass);
  border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
.pindex__counter-win {
  display: block;
  height: 1.3em;
  overflow: hidden;
  font-size: 24px;
  line-height: 1.3;
}
.pindex__counter-track {
  display: flex;
  flex-direction: column;
  transform: translateY(calc(var(--i, 0) * -1.3em));
  transition: transform 0.8s var(--ease);
}
.pindex__counter-track span {
  height: 1.3em;
}
.pindex__counter-total {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}
.pindex__foot {
  margin-top: clamp(36px, 4vw, 56px);
}
.pindex__foot .btn--sand {
  background: var(--teal);
  color: var(--warm-white);
}

/* ---------------------------------------------------------------------
   Why Masboob
   --------------------------------------------------------------------- */
.h-why {
  background: var(--ivory);
  padding-block: var(--pad);
}
.h-why__matrix {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  align-items: start;
}
.h-why__content {
  grid-column: 1 / span 5;
}
.h-why__head {
  margin-bottom: clamp(36px, 4vw, 56px);
}
.h-why__feature-media {
  grid-column: 7 / span 6;
}
.h-why__feature-media .image-placeholder {
  border-radius: var(--r-lg);
}
.h-why__rows {
  border-top: 1px solid var(--line-strong);
}
.h-why__row {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 6px 20px;
  align-items: baseline;
  padding: 24px 10px;
  border-bottom: 1px solid var(--line-strong);
}
.h-why__row::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--sand-100);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.7s var(--ease);
}
.h-why__row:hover::before {
  transform: scaleX(1);
}
.h-why__num {
  grid-row: 1;
  font-size: 13px;
  font-weight: 600;
  color: var(--sand-ink);
}
.h-why__rtitle,
.h-why__rtext {
  grid-column: 2;
}
.h-why__rtitle {
  font-size: var(--fs-h3);
}
.h-why__rtext {
  max-width: 46ch;
  color: var(--muted);
}

/* ---------------------------------------------------------------------
   CTA — image framed, frosted panel over it
   --------------------------------------------------------------------- */
.h-cta {
  background: var(--white);
  padding-block: clamp(64px, 7vw, 104px) clamp(90px, 9vw, 136px);
}
.h-cta__frame {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: clamp(460px, 40vw, 600px);
  border-radius: var(--r-lg);
  background: var(--sand-300);
}
.h-cta__frame .image-placeholder {
  z-index: -2;
}
.h-cta__overlay {
     position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(91deg, #00000014, var(--teal));
    opacity: 100%;
    mix-blend-mode: multiply;
}
.h-cta__content {
  max-width: 620px;
  margin: clamp(20px, 4vw, 56px);
  padding: clamp(26px, 3.2vw, 46px);
  border-radius: var(--r-lg);
  background: var(--glass);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
.h-cta__title {
  margin-bottom: 14px;
  font-size: var(--fs-h2);
  line-height: 1.4;
}
.h-cta__text {
  margin-bottom: 28px;
  color: #3a4644;
}
.h-cta__content .btn--sand {
  background: var(--teal);
  color: var(--warm-white);
}
.h-cta .image-placeholder__fallback {
  align-items: flex-end;
}

/* =====================================================================
   INTERNAL — shared
   ===================================================================== */
.ihero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  min-height: 80vh;
  min-height: 80svh;
  background: var(--sand-300);
}
.ihero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
.ihero__media img {
  filter: grayscale(1);
}
.ihero__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--teal);
  opacity: 0.9;
}
.ihero .image-placeholder__fallback {
  align-items: flex-end;
}
.ihero__inner {
  padding-top: calc(var(--header-h) + 40px);
}
.ihero__plaque {
  width: min(800px, 100%);
  padding: clamp(24px, 3vw, 44px) clamp(24px, 3vw, 48px)
    clamp(28px, 3.4vw, 52px);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  background: linear-gradient(
    135deg,
    rgba(251, 249, 245, 0.9),
    rgba(247, 243, 236, 0.8)
  );
  border: 1px solid var(--glass-border);
  border-bottom: 0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 -20px 50px -36px rgba(13, 13, 13, 0.4);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
.breadcrumb {
  margin-bottom: 16px;
}
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 4px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted);
}
.breadcrumb li {
  display: inline-flex;
  align-items: center;
}
.breadcrumb li + li::before {
  content: "/";
  margin-inline: 10px;
  color: var(--sand-ink);
  opacity: 0.7;
}
.breadcrumb a {
  background: linear-gradient(var(--sand), var(--sand)) no-repeat 100% 100% / 0
    1px;
  transition:
    color 0.3s,
    background-size 0.45s var(--ease);
}
.breadcrumb a:hover {
  color: var(--teal);
  background-size: 100% 1px;
}
.breadcrumb [aria-current] {
  font-weight: 600;
  color: var(--sand-ink);
}
.ihero__title {
  margin-bottom: 14px;
  font-size: var(--fs-h1);
  line-height: 1.38;
}
.ihero__desc {
  max-width: 62ch;
  font-size: var(--fs-lead);
  line-height: 1.9;
  color: var(--muted);
}

.icta {
  background: var(--sand);
  padding-block: clamp(64px, 7vw, 104px);
}
.icta__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 28px;
  align-items: center;
}
.icta__copy {
  grid-column: 1 / span 8;
}
.icta__title {
  margin-bottom: 12px;
  font-size: var(--fs-h2);
  line-height: 1.4;
  color: var(--teal);
}
.icta__text {
  max-width: 60ch;
  color: rgba(13, 13, 13, 0.72);
}
.icta__action {
  grid-column: 10 / span 3;
  justify-self: end;
}

/* =====================================================================
   ABOUT PAGE
   ===================================================================== */
.a-who {
  background: var(--ivory);
  padding-block: var(--pad);
}
.a-who__head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
}
.a-who__head .eyebrow {
  grid-column: 1 / -1;
  justify-self: start;
}
.a-who__title {
  grid-column: 1 / span 9;
}
.a-who__lead {
  width: min(100%, 64ch);
  margin-top: 22px;
  font-size: var(--fs-statement);
  line-height: 1.85;
  font-weight: 500;
  color: var(--text);
}
.a-who__wide {
  margin-top: clamp(48px, 5vw, 80px);
}
.a-who__wide .image-placeholder {
  border-radius: var(--r-lg);
}
.a-who__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 3.4vw, 64px);
  margin-top: clamp(40px, 4.4vw, 64px);
}
.a-who__card {
  padding-top: 22px;
  border-top: 2px solid var(--sand);
}
.a-who__card p {
  color: var(--muted);
}

.a-vision {
  background: var(--white);
  padding-block: var(--pad);
}
.a-vision__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  align-items: start;
}
.a-vision__label {
  grid-column: 1 / span 3;
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: var(--fs-h2) !important;
}
.a-vision__num,
.a-mission__num,
.a-label-num {
  font-size: 13px;
  font-weight: 600;
  color: var(--sand-ink);
}
.a-vision__panel {
  grid-column: 4 / span 9;
  padding-inline-start: clamp(20px, 3vw, 48px);
  border-inline-start: 2px solid var(--sand);
}
.a-vision__text {
  font-size: var(--fs-statement);
  line-height: 1.9;
  font-weight: 500;
  color: var(--teal);
}

.a-band {
  background: var(--sand-200);
  padding-block: clamp(28px, 3vw, 44px);
  overflow: hidden;
}
.a-band__track {
  display: flex;
  gap: clamp(12px, 1.4vw, 20px);
  width: max-content;
  padding-inline: var(--gutter);
}
.a-band__track .image-placeholder {
  flex: none;
  height: clamp(220px, 28vw, 440px);
  width: auto;
}

.a-mission {
  background: var(--ivory);
  padding-block: var(--pad);
}
.a-mission__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  align-items: start;
}
.a-mission__head {
  grid-column: 1 / span 3;
}
.a-mission__title {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.a-mission__body {
  grid-column: 4 / span 9;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(24px, 3vw, 56px);
}
.a-mission__lead {
  font-size: var(--fs-statement);
  line-height: 1.85;
  font-weight: 500;
  color: var(--teal);
}
.a-mission__body p:last-child {
  color: var(--muted);
  padding-top: 6px;
}

.a-goals {
  background: var(--white);
  padding-block: var(--pad);
}
.a-goals__head {
  margin-bottom: clamp(40px, 4.4vw, 64px);
}
.a-goals__title,
.a-values__title {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.a-goals__ledger {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
}
.a-goals__post {
  display: flex;
  flex-direction: column;
  gap: 28px;
  min-height: clamp(240px, 22vw, 320px);
  padding: 26px clamp(14px, 1.6vw, 26px) 0;
  border-inline-start: 1px solid var(--line);
}
.a-goals__post:first-child {
  border-inline-start: 0;
  padding-inline-start: 0;
}
.a-goals__post:nth-child(2) {
  padding-top: 54px;
}
.a-goals__post:nth-child(3) {
  padding-top: 82px;
}
.a-goals__post:nth-child(4) {
  padding-top: 110px;
}
.a-goals__post:nth-child(5) {
  padding-top: 138px;
}
.a-goals__num {
  font-size: var(--fs-num);
  font-weight: 700;
  line-height: 1;
  color: var(--sand-ink);
}
.a-goals__post p {
  font-weight: 500;
  color: var(--text);
}

.a-values {
  background: var(--sand-200);
  padding-block: var(--pad);
}
.a-values__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  align-items: start;
}
.a-values__head {
  grid-column: 1 / span 4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.a-values__list {
  grid-column: 6 / span 7;
  border-top: 1px solid var(--line-strong);
}
.a-values__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  gap: 24px;
  align-items: baseline;
  padding-block: 24px;
  border-bottom: 1px solid var(--line-strong);
}
.a-values__row dt {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: var(--fs-h3-lg);
  font-weight: 700;
  color: var(--teal);
}
.a-values__n {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--sand-ink);
}
.a-values__row dd {
  color: var(--muted);
}

/* =====================================================================
   SERVICES PAGE
   ===================================================================== */
.s-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}
.s-num {
  display: block;
  overflow: hidden;
  font-size: var(--fs-num);
  font-weight: 700;
  line-height: 1.1;
  color: var(--sand-ink);
}
.s-num > span {
  display: block;
}

.s-intro {
  background: var(--ivory);
  padding-block: var(--pad) clamp(70px, 7vw, 100px);
}
.s-intro__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 32px;
  align-items: end;
}
.s-intro__head {
  grid-column: 1 / span 5;
}
.s-intro__toc {
  grid-column: 7 / span 6;
  border-top: 1px solid var(--line-strong);
}
.s-intro__toc a {
  display: grid;
  grid-template-columns: 40px 1fr 20px;
  align-items: center;
  gap: 12px;
  padding: 15px 4px;
  border-bottom: 1px solid var(--line-strong);
  font-size: 16.5px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--teal);
  transition:
    padding 0.4s var(--ease),
    background-color 0.3s;
}
.s-intro__num {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--sand-ink);
}
.s-intro__toc .icon {
  transition: transform 0.4s var(--ease);
}
.s-intro__toc a:hover {
  padding-inline-start: 10px;
  background: var(--sand-100);
}
.s-intro__toc a:hover .icon {
  transform: translateY(3px);
}

.s-one {
  background: var(--white);
  padding-block: var(--pad);
}
.s-one__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 36px;
  align-items: center;
}
.s-one__text {
  grid-column: 1 / span 5;
  grid-row: 1;
}
.s-one__title,
.s-two__title,
.s-three__title,
.s-four__title {
  margin-bottom: 14px;
}
.s-one__text p {
  max-width: 52ch;
  margin-bottom: 28px;
  color: var(--muted);
}
.s-one__media {
  grid-column: 7 / span 6;
  grid-row: 1;
}
.s-one__media .image-placeholder {
  border-radius: var(--r-lg);
}

.s-two {
  background: var(--sand-200);
  padding-top: var(--pad);
  overflow: hidden;
}
.s-two__top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}
.s-two__rule {
  flex: 1;
  height: 1px;
  background: var(--line-sand);
  transform-origin: right;
}
.s-two__row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 24px;
  align-items: end;
}
.s-two__row p {
  grid-column: 1 / span 7;
  color: var(--muted);
}
.s-two__row > div {
  grid-column: 10 / span 3;
  justify-self: end;
}
.s-two__row .btn--sand {
  background: var(--teal);
  color: var(--warm-white);
}
.s-two__strip {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1.75fr;
  align-items: end;
  gap: clamp(10px, 1.2vw, 18px);
  margin-top: clamp(48px, 5vw, 80px);
  padding-inline: var(--gutter);
}
.s-two__strip .image-placeholder {
  aspect-ratio: auto;
  height: clamp(200px, 24vw, 380px);
  border-radius: var(--r) var(--r) 0 0;
}
.s-two__strip .image-placeholder:nth-child(2) {
  height: clamp(160px, 18vw, 290px);
}

.s-three {
  background: var(--ivory);
  padding-block: var(--pad);
}
.s-three__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 40px;
  align-items: center;
}
.s-three__text {
  grid-column: 1 / span 6;
}
.s-three__para {
  margin-bottom: 32px;
  font-size: var(--fs-statement);
  line-height: 2;
  font-weight: 500;
  color: var(--text);
}
.kw {
  display: inline;
  padding: 0 0.1em;
  border: 0;
  color: var(--teal);
  font-weight: 600;
  background-color: transparent;
  background-image: linear-gradient(var(--sand), var(--sand));
  background-repeat: no-repeat;
  background-position: 100% 92%;
  background-size: 100% 2px;
  transition:
    background-size 0.5s var(--ease),
    color 0.3s;
}
.kw sup {
  margin-inline-start: 3px;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--sand-ink);
}
.kw:hover {
  color: var(--black);
}
.kw.is-active {
  color: var(--black);
  background-size: 100% 0.4em;
}
.s-three__stage {
  grid-column: 8 / span 5;
}
.s-three__frame {
  position: relative;
  aspect-ratio: 6 / 7;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--sand-300);
  box-shadow: var(--shadow);
}
.s-three__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.03);
  transition:
    opacity 0.8s var(--ease),
    transform 1.2s var(--ease);
}
.s-three__slide.is-active {
  z-index: 2;
  opacity: 1;
  transform: none;
}
.s-three__slide .image-placeholder {
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
}
.s-three__caption {
  position: absolute;
  z-index: 5;
  right: 14px;
  left: 14px;
  bottom: 14px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0;
  padding: 11px 16px;
  border-radius: var(--r-sm);
  font-weight: 600;
  color: var(--teal);
  background: var(--glass);
  border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
.s-three__caption-num {
  font-size: 12.5px;
  color: var(--sand-ink);
}

.s-four {
  background: var(--white);
  padding-block: var(--pad);
}
.s-four__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 8px;
}
.s-four__head {
  grid-column: 1 / span 8;
}
.s-four__body {
  grid-column: 1 / span 7;
}
.s-four__body p {
  margin-bottom: 26px;
  color: var(--muted);
}
.s-four__media {
  grid-column: 1 / -1;
  margin-top: clamp(32px, 3.4vw, 52px);
}
.s-four__media .image-placeholder {
  border-radius: var(--r-lg);
}

/* =====================================================================
   CULTURAL OPERATION
   ===================================================================== */
.o-about {
  background: var(--white);
  padding-block: var(--pad);
}
.o-about__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  align-items: start;
}
.o-about__content {
  grid-column: 7 / span 6;
  grid-row: 1;
}
.o-about__label {
  margin-bottom: clamp(28px, 3vw, 44px);
}
.o-about__lead {
  font-size: var(--fs-statement);
  line-height: 1.85;
  font-weight: 600;
  color: var(--teal);
}
.o-about__media {
  grid-column: 1 / span 5;
  grid-row: 1;
}
.o-about__media .image-placeholder {
  border-radius: var(--r-lg);
}
.o-about__text {
  margin-top: clamp(32px, 4vw, 56px);
  padding-top: 22px;
  border-top: 2px solid var(--sand);
  color: var(--muted);
}

.o-venues {
  background: var(--ivory);
  padding-block: var(--pad);
}
.o-venues__head {
  margin-bottom: clamp(36px, 4vw, 56px);
}
.o-venues__gallery {
  display: flex;
  gap: 12px;
  height: clamp(460px, 42vw, 640px);
}
.venue {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--sand-300);
  cursor: pointer;
  transition: flex-grow 0.9s var(--ease);
  outline-offset: 3px;
}
.venue.is-active {
  flex-grow: 3.2;
}
.venue .image-placeholder {
  border-radius: 0;
}
.venue .image-placeholder__fallback {
  justify-content: flex-start;
}
.venue .image-placeholder__desc {
  margin-top: 8px;
}
.venue:not(.is-active) .image-placeholder__desc,
.venue:not(.is-active) .image-placeholder__meta {
  opacity: 0;
}
.venue__shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    0deg,
    rgba(13, 13, 13, 0.28) 0%,
    rgba(13, 13, 13, 0) 45%
  );
}
.venue__body {
  position: absolute;
  z-index: 3;
  inset-inline: 12px;
  bottom: 12px;
  padding: 16px 18px;
  border-radius: var(--r);
  color: var(--teal);
  background: var(--glass);
  border: 1px solid var(--glass-border);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
.venue__head {
  display: block;
}
.venue__num {
  display: block;
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--sand-ink);
}
.venue__name {
  font-size: var(--fs-h3);
  line-height: 1.45;
}
.venue__text {
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 15px;
  opacity: 0;
  transition:
    max-height 0.7s var(--ease),
    margin 0.5s var(--ease),
    opacity 0.4s;
}
.venue.is-active .venue__text {
  max-height: 8em;
  margin-top: 8px;
  opacity: 1;
}

.o-inc {
  background: var(--sand-200);
  padding-block: var(--pad);
}
.o-inc__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  align-items: start;
}
.o-inc__head {
  grid-column: 1 / span 4;
  position: sticky;
  top: 120px;
}
.o-inc__list {
  grid-column: 6 / span 7;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(24px, 3vw, 48px);
  border-top: 1px solid var(--line-strong);
}
.o-inc__item {
  padding-block: 24px 26px;
  border-bottom: 1px solid var(--line-strong);
}
.o-inc__top {
  margin-bottom: 8px;
}
.o-inc__num {
  display: inline-block;
  direction: ltr;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--sand-ink);
}
.o-inc__name {
  margin-bottom: 6px;
  font-size: var(--fs-h3);
}
.o-inc__text {
  color: var(--muted);
}

/* =====================================================================
   FACILITY DEVELOPMENT
   ===================================================================== */
.d-about {
  background: var(--ivory);
  padding-block: var(--pad);
}
.d-about__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 40px;
  align-items: center;
}
.d-about__media {
  grid-column: 1 / span 5;
}
.d-about__media .image-placeholder {
  border-radius: var(--r-lg);
}
.d-about__text {
  grid-column: 7 / span 6;
}
.d-about__lead {
  font-size: var(--fs-statement);
  line-height: 1.85;
  font-weight: 600;
  color: var(--teal);
}
.d-about__rule {
  display: block;
  width: 64px;
  height: 2px;
  margin-block: 28px;
  border-radius: 2px;
  background: var(--sand);
  transform-origin: right;
}
.d-about__text > p:last-child {
  color: var(--muted);
}

.d-axes {
  background: var(--white);
  padding-block: var(--pad);
}
.d-axes-head {
  margin-bottom: clamp(24px, 3vw, 40px);
}
.d-axes__media .image-placeholder {
  border-radius: var(--r-lg);
}
.d-axes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
  margin-top: clamp(28px, 4vw, 56px);
}
.d-axis-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: clamp(320px, 24vw, 380px);
  padding: clamp(24px, 2vw, 34px);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-lg);
  background: var(--ivory);
  transition:
    transform 0.45s var(--ease),
    border-color 0.45s var(--ease),
    box-shadow 0.45s var(--ease);
}
.d-axis-card:hover {
  transform: translateY(-5px);
  border-color: var(--sand);
  box-shadow: var(--shadow-sm);
}
.d-axis-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.d-axis-card__num {
  font-size: 13px;
  font-weight: 600;
  color: var(--sand-ink);
}
.d-axis-card .d-axis-card__icon {
  width: 52px;
  height: 52px;
}
.d-axis-card__title {
  margin-top: clamp(28px, 3vw, 44px);
  margin-bottom: 10px;
  font-size: var(--fs-h3-lg);
  line-height: 1.45;
  color: var(--teal);
}
.d-axis-card__text {
  color: var(--muted);
}
.d-goals {
  background: var(--white);
  padding-block: var(--pad);
}
.d-goals__head {
  margin-bottom: clamp(32px, 3.4vw, 52px);
}
.d-goals__flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(20px, 2.6vw, 44px);
  border-top: 1px solid var(--line-strong);
}
.d-goals__chip {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-block: 22px;
  border-bottom: 1px solid var(--line-strong);
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.6;
  color: var(--teal);
}
.d-goals__chip sup {
  flex: none;
  font-size: 12px;
  font-weight: 600;
  color: var(--sand-ink);
  vertical-align: baseline;
}

/* =====================================================================
   CULTURAL ACTIVATION
   ===================================================================== */
.c-about {
  background: var(--sand);
  padding-block: var(--pad);
}
.c-about__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: clamp(28px, 3vw, 44px);
}
.c-about__label {
  grid-column: 1 / -1;
}
.c-about__label .eyebrow {
  margin-bottom: 0;
}
.c-about__label .eyebrow__num,
.c-about__label .eyebrow {
  color: var(--teal);
}
.c-about__label .eyebrow__line {
  background: var(--teal);
}
.c-about__big {
  grid-column: 1 / span 10;
  font-size: clamp(20px, 1.7vw, 27px);
  line-height: 1.75;
  font-weight: 700;
  color: var(--teal);
}
.c-about__small {
  grid-column: 1 / span 8;
  padding-top: 22px;
  border-top: 1px solid rgba(26, 57, 64, 0.25);
  color: rgba(13, 13, 13, 0.75);
}

.c-hs {
  background: var(--ivory);
  padding-block: var(--pad);
}
.c-hs__head {
  margin-bottom: clamp(32px, 3.4vw, 52px);
}
.c-hs__viewport {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.c-hs__viewport::-webkit-scrollbar {
  display: none;
}
.hs__track {
  display: flex;
  gap: clamp(16px, 2vw, 32px);
  width: max-content;
  padding-inline: var(--gutter);
}
.hs__panel {
  flex: none;
  width: min(78vw, 980px);
  scroll-snap-align: start;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: clamp(20px, 2.6vw, 44px);
  align-items: center;
}
.hs__media .image-placeholder {
  border-radius: var(--r-lg);
}
.hs__headrow {
  margin-bottom: 8px;
}
.hs__num {
  display: block;
  font-size: var(--fs-num);
  font-weight: 700;
  line-height: 1;
  color: var(--sand-ink);
}
.hs__title {
  margin-bottom: 10px;
  font-size: var(--fs-h3-lg);
}
.hs__text {
  color: var(--muted);
}
.c-hs__progress {
  position: relative;
  height: 2px;
  margin-top: 36px;
}
.c-hs__progress::before {
  content: "";
  position: absolute;
  inset: 0 var(--gutter);
  background: var(--line);
}
.c-hs__progress span {
  position: absolute;
  inset: 0 var(--gutter);
  background: var(--sand-ink);
  transform: scaleX(0);
  transform-origin: right;
}
.c-hs.is-pinned {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: 110px 48px;
}
.c-hs.is-pinned .c-hs__viewport {
  overflow: hidden;
}
.c-hs.is-pinned .hs__media .image-placeholder {
  aspect-ratio: auto;
  height: min(52vh, 540px);
}

.c-goals {
  background: var(--white);
  padding-block: var(--pad);
}
.c-goals__head {
  margin-bottom: clamp(32px, 3.4vw, 52px);
}
.c-goals__list {
  border-top: 1px solid var(--line-strong);
}
.c-goals__row {
  position: relative;
  display: grid;
  grid-template-columns: 60px minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(16px, 2.4vw, 40px);
  align-items: baseline;
  padding-block: clamp(22px, 2.6vw, 34px);
  border-bottom: 1px solid var(--line-strong);
}
.c-goals__row::after {
  content: "";
  position: absolute;
  bottom: -1px;
  inset-inline: 0;
  height: 2px;
  background: var(--sand);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.7s var(--ease);
}
.c-goals__row:hover::after {
  transform: scaleX(1);
}
.c-goals__num {
  font-size: 13px;
  font-weight: 600;
  color: var(--sand-ink);
}
.c-goals__name {
  font-size: var(--fs-h3-lg);
  transition: transform 0.6s var(--ease);
}
.c-goals__row:hover .c-goals__name {
  transform: translateX(-8px);
}
.c-goals__text {
  color: var(--muted);
}

/* =====================================================================
   DESTINATIONS
   ===================================================================== */
.t-about {
  background: var(--white);
  padding-block: var(--pad);
}
.t-about__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
}
.t-about__label {
  grid-column: 1 / span 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.t-about__route {
  width: 40px;
  height: 200px;
  fill: var(--white);
  stroke: var(--sand-ink);
  stroke-width: 1.4;
}
.t-about__text {
  grid-column: 4 / span 8;
}
.t-about__lead {
  margin-bottom: 26px;
  font-size: var(--fs-statement);
  line-height: 1.85;
  font-weight: 600;
  color: var(--teal);
}
.t-about__card {
  margin-inline-start: 18%;
  color: var(--muted);
}

.t-scope {
  background: var(--ivory);
  padding-block: var(--pad);
}
.t-scope__head {
  margin-bottom: clamp(20px, 2.4vw, 36px);
}
.journey {
  position: relative;
}
.journey__path {
  width: 100%;
  height: auto;
  overflow: visible;
}
.journey__path path {
  fill: none;
  stroke-linecap: round;
}
.journey__path-base {
  stroke: var(--line-strong);
  stroke-width: 2;
  stroke-dasharray: 6 9;
}
.journey__path-draw {
  stroke: var(--sand-ink);
  stroke-width: 2.2;
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}
.journey__stops {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: -8.333%;
}
.journey__stop {
  padding-inline: clamp(12px, 1.8vw, 28px);
}
.journey__dot {
  display: block;
  width: 16px;
  height: 16px;
  margin: -8px auto 0;
  border-radius: 50%;
  background: var(--sand);
  border: 3px solid var(--ivory);
  box-shadow: 0 0 0 1px var(--sand-ink);
}
.journey__num {
  display: block;
  margin: 14px 0 18px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--sand-ink);
}
.journey__media .image-placeholder {
  border-radius: var(--r);
}
.journey__body {
  padding-top: 18px;
}
.journey__title {
  margin-bottom: 6px;
  font-size: var(--fs-h3);
}
.journey__text {
  color: var(--muted);
}

.t-pr {
  background: var(--sand-200);
  padding-block: var(--pad);
}
.t-pr__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  align-items: start;
}
.t-pr__head {
  grid-column: 1 / span 4;
}
.t-pr__grid {
  grid-column: 6 / span 7;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.t-pr__cell {
  padding: clamp(24px, 2.6vw, 40px);
}
.t-pr__cell:nth-child(odd) {
  padding-inline-start: 0;
  border-inline-end: 1px solid var(--line-strong);
}
.t-pr__cell:nth-child(-n + 2) {
  padding-top: 0;
  border-bottom: 1px solid var(--line-strong);
}
.t-pr__cell:nth-child(n + 3) {
  padding-bottom: 0;
}
.t-pr__top {
  margin-bottom: 16px;
}
.t-pr__num {
  font-size: 13px;
  font-weight: 600;
  color: var(--sand-ink);
}
.t-pr__name {
  margin-bottom: 8px;
  font-size: var(--fs-h3);
}
.t-pr__text {
  color: var(--muted);
}

/* =====================================================================
   CONTACT
   ===================================================================== */
.contact {
  background: var(--ivory);
  padding-block: var(--pad);
}
.contact__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 56px;
  align-items: start;
}
.contact__main {
  grid-column: 1 / span 7;
  padding: clamp(26px, 3.4vw, 52px);
  border-radius: var(--r-lg);
  background: var(--white);
  border: 1px solid rgba(26, 57, 64, 0.07);
  box-shadow: var(--shadow-sm);
}
.contact__head {
  margin-bottom: clamp(32px, 3.6vw, 48px);
}
.contact__title {
  margin-bottom: 12px;
}
.contact__intro {
  max-width: 56ch;
  color: var(--muted);
}
.contact__aside {
  grid-column: 9 / span 4;
  align-self: stretch;
}
.contact__sticky {
  position: sticky;
  top: 120px;
}
.contact__visual {
  margin-bottom: 32px;
}
.contact__visual .image-placeholder {
  border-radius: var(--r-lg);
}
.contact__services-title {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--sand-ink);
}
.contact__services ul {
  border-top: 1px solid var(--line-strong);
}
.contact__services a {
  display: grid;
  grid-template-columns: 30px 1fr 18px;
  align-items: center;
  gap: 10px;
  padding-block: 13px;
  border-bottom: 1px solid var(--line-strong);
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--teal);
}
.contact__sn {
  font-size: 12px;
  font-weight: 600;
  color: var(--sand-ink);
}
.contact__services .icon {
  width: 15px;
  transition: transform 0.4s var(--ease);
}
.contact__services a:hover .icon {
  transform: translateX(-4px);
}

.form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px 22px;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.field--wide {
  grid-column: 1 / -1;
}
.field__label {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 0;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--teal);
}
.field--choices .field__label {
  margin-bottom: 8px;
}
.field__num {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--sand-ink);
}
.field__req {
  color: var(--sand-ink);
}
.field__wrap {
  position: relative;
}
.field__control {
  width: 100%;
  min-height: 56px;
  padding: 14px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: var(--warm-white);
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
  transition:
    border-color 0.25s,
    box-shadow 0.25s,
    background-color 0.25s;
}
.field__control[dir="ltr"] {
  text-align: right;
}
textarea.field__control {
  min-height: 170px;
  resize: vertical;
  line-height: 1.75;
}
.field__control:hover {
  border-color: rgba(26, 57, 64, 0.38);
}
.field__control:focus {
  outline: none;
  border-color: var(--teal);
  background: var(--white);
  box-shadow: 0 0 0 3px rgba(217, 181, 137, 0.35);
}
.field.is-invalid .field__control {
  border-color: var(--error);
  box-shadow: 0 0 0 3px rgba(154, 59, 42, 0.12);
}
.field__error {
  display: none;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--error);
}
.field.is-invalid .field__error {
  display: block;
}
.choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.choice {
  position: relative;
}
.choice input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}
.choice__box {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: var(--warm-white);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--text);
  pointer-events: none;
  transition:
    background-color 0.25s,
    color 0.25s,
    border-color 0.25s;
}
.choice__mark {
  position: relative;
  order: -1;
  flex: none;
  width: 16px;
  height: 16px;
  border: 1.5px solid rgba(26, 57, 64, 0.45);
  border-radius: 50%;
}
.choice__mark::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--sand);
  transform: scale(0);
  transition: transform 0.25s var(--ease);
}
.choice:hover .choice__box {
  border-color: var(--teal);
}
.choice input:checked + .choice__box {
  background: var(--teal);
  border-color: var(--teal);
  color: var(--warm-white);
}
.choice input:checked + .choice__box .choice__mark {
  border-color: var(--sand);
}
.choice input:checked + .choice__box .choice__mark::after {
  transform: scale(1);
}
.choice input:focus-visible + .choice__box {
  outline: 2px solid var(--sand-ink);
  outline-offset: 2px;
}
.field--choices.is-invalid .choice__box {
  border-color: var(--error);
}
.form__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
.form__status {
  font-weight: 600;
  color: var(--teal);
}

/* =====================================================================
   MOTION — initial states (only while html.motion is set)
   ===================================================================== */
.w {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  padding-block: 0.1em 0.2em;
  margin-block: -0.1em -0.2em;
}
.w__i {
  display: inline-block;
}
html.motion [data-reveal="words"],
html.motion [data-ihero-title] {
  visibility: hidden;
}
html.motion [data-reveal="fade"],
html.motion [data-reveal="plate"],
html.motion [data-ihero-item],
html.motion [data-hero] {
  opacity: 0;
}
html.motion [data-reveal="clip"] {
  clip-path: inset(100% 0 0 0);
}
html.motion [data-reveal="clip-side"] {
  clip-path: inset(0 0 0 100%);
}
html.motion [data-reveal="clip-wide"] {
  clip-path: inset(0 50% 0 50%);
}
html.motion [data-reveal="line"] {
  transform: scaleX(0);
}
html.motion [data-reveal="num"] > span,
html.motion .hero__line > span {
  transform: translateY(110%);
}
html.motion [data-reveal="stagger"] > *,
html.motion [data-reveal="rows"] > *,
html.motion [data-reveal="values"] > *,
html.motion [data-reveal="posts"] > *,
html.motion [data-reveal="spec"] > *,
html.motion [data-reveal="quad"] > *,
html.motion [data-reveal="strip"] > *,
html.motion .journey__stop,
html.motion .hero3__panel,
html.motion .hero3__scroll {
  opacity: 0;
}
html.motion [data-reveal="venues"] > * {
  clip-path: inset(100% 0 0 0);
}
html.motion [data-reveal="statements"] .c-goals__name {
  clip-path: inset(0 0 0 100%);
}
html.motion [data-reveal="frame"] {
  clip-path: inset(6% 4% 6% 4% round 20px);
}
html.motion [data-reveal="logo"] .logo-media,
html.motion [data-reveal="logo"] .h-about__echo {
  opacity: 0;
}
html.motion .journey__path-draw {
  stroke-dashoffset: 1;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 1279px) {
  .nav__list {
    gap: 18px;
  }
  .nav__num {
    display: none;
  }
}

@media (max-width: 1023px) {
  :root {
    --header-h: 88px;
  }
  .site-header,
  .site-header.is-scrolled {
    padding: 10px 14px 0;
  }
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner {
    height: 64px;
    padding-inline: 14px 9px;
    border-radius: 14px;
  }
  .brand__logo,
  .site-header.is-scrolled .brand__logo {
    height: 42px;
  }
  .nav,
  .header-cta {
    display: none;
  }
  .menu-toggle {
    display: grid;
  }

  .hero3__inner {
    align-items: flex-start;
    padding-top: calc(var(--header-h) + 10px);
    padding-bottom: 104px;
  }
  .hero3__figure img {
    inset: 0;
    height: 100%;
  }
  .hero3__veil {
    background: linear-gradient(
      180deg,
      rgba(247, 243, 236, 0.16) 0%,
      rgba(247, 243, 236, 0) 62%
    );
  }

  .h-about__content,
  .h-about__visual {
    grid-column: 1 / -1;
  }
  .h-about__visual {
    width: min(100%, 560px);
    margin-inline: auto;
  }

  .pindex__h,
  .pindex__intro {
    grid-column: 1 / -1;
  }
  .pindex__list {
    grid-column: 1 / -1;
  }
  .pindex__stage {
    display: none;
  }
  .pindex__item {
    padding-inline: 14px;
  }
  .pindex__trigger {
    grid-template-columns: 44px 1fr 40px;
    gap: 12px;
    padding: 18px 0;
  }
  .pindex__ico {
    width: 38px;
    height: 38px;
  }
  .pindex__icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    color: var(--teal);
    transition: transform 0.4s var(--ease);
  }
  .pindex__item.is-active .pindex__icon {
    transform: rotate(45deg);
  }
  .pindex__panel {
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.6s var(--ease);
  }
  .pindex__item.is-active .pindex__panel {
    grid-template-rows: 1fr;
  }
  .pindex__panel-inner {
    min-height: 0;
    padding-inline-start: 0;
    padding-bottom: 0;
    visibility: hidden;
    transition:
      visibility 0s linear 0.6s,
      padding 0.6s var(--ease);
  }
  .pindex__item.is-active .pindex__panel-inner {
    visibility: visible;
    padding-bottom: 22px;
    transition-delay: 0s;
  }
  .pindex__mobile-media {
    display: block;
    margin-top: 18px;
  }
  .pindex__mobile-media .image-placeholder {
    aspect-ratio: 4 / 3;
  }

  .h-why__content,
  .h-why__feature-media {
    grid-column: 1 / -1;
  }
  .h-why__head {
    margin-bottom: 36px;
  }
  .h-why__feature-media {
    margin-top: 36px;
  }
  .h-why__row {
    grid-template-columns: 44px 1fr;
    gap: 6px 14px;
    padding: 22px 6px;
  }
  .h-why__rtext {
    grid-column: 2;
  }

  .h-cta__frame {
    align-items: flex-end;
    min-height: 520px;
  }
  .h-cta__content {
    margin: 14px;
  }

  .ihero__plaque {
    width: 100%;
  }
  .icta__copy,
  .icta__action {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .a-who__title {
    grid-column: 1 / -1;
  }
  .a-who__wide .image-placeholder {
    aspect-ratio: 4 / 3;
  }
  .a-who__cols {
    grid-template-columns: 1fr;
  }
  .a-vision__label,
  .a-vision__panel,
  .a-mission__head,
  .a-mission__body {
    grid-column: 1 / -1;
  }
  .a-vision__panel {
    margin-top: 24px;
  }
  .a-mission__body {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }
  .a-band__track {
    width: auto;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .a-band__track::-webkit-scrollbar {
    display: none;
  }
  .a-band__track .image-placeholder {
    scroll-snap-align: start;
  }
  .a-goals__ledger {
    grid-template-columns: 1fr;
  }
  .a-goals__post,
  .a-goals__post:nth-child(n) {
    flex-direction: row;
    align-items: baseline;
    gap: 20px;
    min-height: 0;
    padding: 20px 0;
    border-inline-start: 0;
    border-bottom: 1px solid var(--line);
  }
  .a-goals__num {
    min-width: 48px;
    font-size: 26px;
  }
  .a-values__head,
  .a-values__list {
    grid-column: 1 / -1;
  }
  .a-values__head {
    margin-bottom: 32px;
  }
  .a-values__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .s-intro__head,
  .s-intro__toc,
  .s-one__text,
  .s-one__media,
  .s-three__text,
  .s-three__stage,
  .s-four__head,
  .s-four__body {
    grid-column: 1 / -1;
  }
  .s-one__media {
    grid-row: 2;
  }
  .s-two__row p,
  .s-two__row > div {
    grid-column: 1 / -1;
    justify-self: start;
  }
  .s-two__strip {
    grid-template-columns: 1fr 1fr;
  }
  .s-two__strip .image-placeholder,
  .s-two__strip .image-placeholder:nth-child(2) {
    height: clamp(150px, 34vw, 260px);
  }
  .s-two__strip .image-placeholder:nth-child(3) {
    grid-column: 1 / -1;
  }
  .s-three__frame {
    aspect-ratio: 4 / 5;
  }
  .s-four__media .image-placeholder {
    aspect-ratio: 4 / 3;
  }

  .o-about__content,
  .o-about__media {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .o-about__media {
    margin-top: 36px;
  }
  .o-venues__gallery {
    height: auto;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin-inline: calc(-1 * var(--gutter));
    padding-inline: var(--gutter);
  }
  .o-venues__gallery::-webkit-scrollbar {
    display: none;
  }
  .venue,
  .venue.is-active {
    flex: 0 0 min(80%, 400px);
    height: 460px;
    scroll-snap-align: start;
  }
  .venue__text,
  .venue:not(.is-active) .venue__text {
    max-height: none;
    margin-top: 8px;
    opacity: 1;
  }
  .o-inc__head,
  .o-inc__list {
    grid-column: 1 / -1;
  }
  .o-inc__head {
    position: static;
    margin-bottom: 32px;
  }

  .d-about__media {
    grid-column: 1 / span 10;
  }
  .d-about__text {
    grid-column: 1 / -1;
  }
  .d-axes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .d-goals__flow {
    grid-template-columns: 1fr 1fr;
  }

  .c-about__big,
  .c-about__small {
    grid-column: 1 / -1;
  }
  .hs__panel {
    width: 84vw;
    grid-template-columns: 1fr;
    align-items: start;
  }
  .c-goals__row {
    grid-template-columns: 40px 1fr;
    row-gap: 8px;
  }
  .c-goals__text {
    grid-column: 2;
  }

  .t-about__label,
  .t-about__text {
    grid-column: 1 / -1;
  }
  .t-about__route {
    display: none;
  }
  .t-about__card {
    margin-inline-start: 0;
  }
  .journey__path {
    display: none;
  }
  .journey__stops {
    grid-template-columns: 1fr;
    gap: 48px;
    margin-top: 8px;
    padding-inline-start: 30px;
    border-inline-start: 2px dashed var(--line-strong);
  }
  .journey__stop {
    position: relative;
    padding: 0;
  }
  .journey__dot {
    position: absolute;
    inset-inline-start: -39px;
    top: 3px;
    margin: 0;
  }
  .journey__num {
    margin: 0 0 12px;
    text-align: start;
  }
  .t-pr__head,
  .t-pr__grid {
    grid-column: 1 / -1;
  }
  .t-pr__grid {
    margin-top: 32px;
  }

  .contact__main,
  .contact__aside {
    grid-column: 1 / -1;
  }
  .contact__sticky {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 28px;
    align-items: start;
  }
  .contact__visual {
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  .hero3__figure img {
    object-position: center top;
  }
  .hero3__panel {
    width: min(100%, 560px);
  }
  .hero3__kicker {
    margin-bottom: 10px;
    font-size: 12.5px;
  }
  .hero3__title {
    margin-bottom: 14px;
    font-size: clamp(29px, 8.8vw, 38px);
    line-height: 1.24;
  }
  .hero3__actions {
    gap: 10px;
  }
  .hero3__actions .btn {
    min-height: 48px;
    padding-inline: 18px;
    font-size: 14px;
  }
  .hero3 .image-placeholder__fallback {
    padding-top: calc(var(--header-h) + 16px);
  }
  .hero3 .image-placeholder__desc,
  .hero3 .image-placeholder__meta div:nth-child(-n + 2),
  .hero3 .image-placeholder__meta .m-format,
  .hero3 .image-placeholder__meta .m-path {
    display: none;
  }
  .hero3__actions > .btn {
    flex: 1 1 auto;
  }
}

@media (max-width: 640px) {
  .form__grid {
    grid-template-columns: 1fr;
  }
  .contact__sticky {
    grid-template-columns: 1fr;
  }
  .contact__visual {
    max-width: 360px;
  }
  .t-pr__grid {
    grid-template-columns: 1fr;
  }
  .t-pr__cell,
  .t-pr__cell:nth-child(n) {
    padding: 24px 0;
    border-inline-end: 0;
    border-bottom: 1px solid var(--line-strong);
  }
  .t-pr__cell:last-child {
    border-bottom: 0;
  }
  .d-axes__grid,
  .o-inc__list,
  .d-goals__flow {
    grid-template-columns: 1fr;
  }
  .icta__action .btn {
    width: 100%;
    justify-content: space-between;
  }
}

/* =====================================================================
   REDUCED MOTION
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .mouse__wheel {
    animation: none;
    opacity: 1;
  }
  .btn--teal,
  .header-cta {
    animation: none;
  }
  .hero3__scroll-line::after {
    animation: none;
    transform: none;
  }
}

/* Grid columns must be allowed to shrink below their longest word */
.pindex__trigger {
  grid-template-columns: 52px minmax(0, 1fr) auto;
}
@media (max-width: 1023px) {
  .pindex__trigger {
    grid-template-columns: 44px minmax(0, 1fr) 40px;
  }
}
.h-cta__content {
  flex: 0 1 auto;
  min-width: 0;
}
.pindex__heading,
.pindex__trigger {
  min-width: 0;
}
.pindex__title {
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 1023px) {
  .pindex__item.is-active .pindex__icon {
    transform: none;
  }
  .pindex__icon .icon {
    transition: transform 0.4s var(--ease);
  }
  .pindex__item.is-active .pindex__icon .icon {
    transform: rotate(45deg);
  }
}

/* =====================================================================
   HOME · Services — 2×2 grid of service cards (whole card is the link)
   ===================================================================== */
.svc {
  background: var(--sand-200);
  padding-block: var(--pad);
}
.svc__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px 40px;
  margin-bottom: clamp(40px, 4.4vw, 64px);
}
.svc__intro {
  max-width: 720px;
}
.svc__lead {
  margin-top: 14px;
  font-size: var(--fs-lead);
  line-height: 1.9;
  color: var(--muted);
}
.svc__all {
  flex: none;
}
.svc__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
}
.svc-card {
  display: flex;
}
.svc-card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--white);
  border: 1px solid rgba(26, 57, 64, 0.07);
  box-shadow: var(--shadow-sm);
  transition:
    transform 0.55s var(--ease),
    box-shadow 0.55s var(--ease),
    border-color 0.4s;
}
.svc-card__link:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: rgba(217, 181, 137, 0.55);
}
.svc-card__link:focus-visible {
  outline: 2px solid var(--sand-ink);
  outline-offset: 4px;
}
.svc-card__media {
  overflow: hidden;
}
.svc-card__media .image-placeholder {
  aspect-ratio: 16 / 10;
  border-radius: 0;
}
.svc-card__media .image-placeholder__fallback::before {
  border-radius: 0;
}
.svc-card__link:hover .image-placeholder img {
  transform: scale(1.03);
}
.svc-card__body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: clamp(22px, 2.4vw, 34px);
}
.svc-card__body::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: clamp(22px, 2.4vw, 34px);
  height: 2px;
  border-radius: 2px;
  background: var(--sand);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.6s var(--ease);
}
.svc-card__link:hover .svc-card__body::before {
  transform: scaleX(1);
}
.svc-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}
.svc-card__icon {
  width: 42px;
  height: 42px;
}
.svc-card__num {
  font-size: 13px;
  font-weight: 600;
  color: var(--sand-ink);
  font-variant-numeric: tabular-nums;
}
.svc-card__title {
  font-size: var(--fs-h3-lg);
  line-height: 1.45;
  color: var(--teal);
}
.svc-card__text {
  color: var(--muted);
}
.svc-card__more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 10px;
  font-size: 15px;
  font-weight: 600;
  color: var(--teal);
}
.svc-card__more .icon {
  width: 16px;
  transition: transform 0.45s var(--ease);
}
.svc-card__link:hover .svc-card__more .icon {
  transform: translateX(-5px);
}

@media (max-width: 1023px) {
  .svc__head {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 767px) {
  .svc__grid {
    grid-template-columns: 1fr;
  }
}

/* Services — all four side by side on desktop */
.svc__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
}
.svc-card__media .image-placeholder {
  aspect-ratio: 4 / 3;
}
.svc-card__body {
  padding: clamp(20px, 1.8vw, 28px);
}
.svc-card__body::before {
  inset-inline: clamp(20px, 1.8vw, 28px);
}
.svc-card__title {
  font-size: var(--fs-h3);
}
.svc-card__text {
  font-size: 15.5px;
  line-height: 1.85;
}
@media (max-width: 1199px) {
  .svc__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .svc__grid {
    grid-template-columns: 1fr;
  }
}

/* Full pill curves: every button and the floating menu bar */
.btn {
  border-radius: 50px;
}
.site-header__inner,
.site-header.is-scrolled .site-header__inner {
  border-radius: 999px;
  padding-inline: 26px 10px;
}
.menu-toggle,
.mmenu__close {
  border-radius: 50%;
}

/* Row lists — description sits under its title */
.h-why__row {
  grid-template-columns: 70px minmax(0, 1fr);
  row-gap: 6px;
}
.h-why__rtitle,
.h-why__rtext {
  grid-column: 2;
}
.h-why__num {
  grid-row: 1;
}
.c-goals__row {
  grid-template-columns: 60px minmax(0, 1fr);
  row-gap: 8px;
}
.c-goals__name,
.c-goals__text {
  grid-column: 2;
}
.c-goals__num {
  grid-row: 1;
}
.a-values__row {
  grid-template-columns: 1fr;
  gap: 6px;
}
@media (max-width: 1023px) {
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner {
    padding-inline: 18px 8px;
  }
  .h-why__row {
    grid-template-columns: 44px minmax(0, 1fr);
  }
  .c-goals__row {
    grid-template-columns: 40px minmax(0, 1fr);
  }
}

/* Footer — responsive */
@media (max-width: 1023px) {
  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
  }
  .site-footer__desc {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .site-footer__intro {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .site-footer__bottom {
    position: relative;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding-left: 60px;
  }
  .site-footer__bottom .site-footer__top {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .site-footer__bottom .site-footer__top:hover {
    transform: translateY(calc(-50% - 3px));
  }
}

/* Contact — aside is the services list only */
.contact__services {
  padding: clamp(22px, 2.4vw, 32px);
  border-radius: var(--r-lg);
  background: var(--sand-100);
  border: 1px solid rgba(26, 57, 64, 0.06);
}
@media (max-width: 1023px) {
  .contact__sticky {
    display: block;
  }
}

/* Footer — logo mark above the description; legal bar split to both edges */
.site-footer {
  padding-top: clamp(56px, 5.6vw, 84px);
}
.site-footer__grid {
  padding-top: 0;
}
.site-footer__mark {
  display: inline-block;
}
.site-footer__bottom {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding-block: 24px;
  text-align: start;
}
@media (max-width: 1023px) {
  .site-footer__brand {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding-left: 0;
  }
}

/* =====================================================================
   ABOUT PAGE — one consistent section template (title right · content left)
   ===================================================================== */
.ab-sec {
  padding-block: clamp(72px, 8vw, 120px);
}
.ab-sec--ivory {
  background: var(--ivory);
}
.ab-sec--white {
  background: var(--white);
}
.ab-sec--sand {
  background: var(--sand-200);
}
.ab-sec__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--gap);
  row-gap: 24px;
  align-items: start;
}
.ab-sec__head {
  grid-column: 1 / span 4;
}
.ab-sec__label {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--sand-ink);
}
.ab-sec__title {
  font-size: var(--fs-h2);
}
.ab-sec__head::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin-top: 20px;
  border-radius: 2px;
  background: var(--sand);
}
.ab-sec__body {
  grid-column: 6 / span 7;
  padding-top: 4px;
}
.ab-sec__lead {
  font-size: var(--fs-statement);
  line-height: 1.95;
  font-weight: 500;
  color: var(--teal);
}
.ab-sec__text {
  margin-top: 20px;
  color: var(--muted);
}
.ab-sec__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 3vw, 48px);
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--line-strong);
}
.ab-sec__cols p {
  color: var(--muted);
}

.ab-list {
  border-top: 1px solid var(--line-strong);
}
.ab-list li {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding-block: 18px;
  border-bottom: 1px solid var(--line-strong);
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.7;
  color: var(--teal);
}
.ab-list li::before {
  content: "";
  flex: none;
  width: 16px;
  height: 2px;
  border-radius: 2px;
  background: var(--sand);
  transform: translateY(-6px);
}

.ab-values {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(24px, 3vw, 48px);
}
.ab-values__item {
  padding-block: 22px;
  border-top: 1px solid var(--line-strong);
}
.ab-values__item:nth-last-child(-n + 2) {
  border-bottom: 1px solid var(--line-strong);
}
.ab-values dt {
  margin-bottom: 6px;
  font-size: var(--fs-h3-lg);
  font-weight: 700;
  color: var(--teal);
}
.ab-values dd {
  color: var(--muted);
}

@media (max-width: 1023px) {
  .ab-sec__head,
  .ab-sec__body {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .ab-sec__cols,
  .ab-values {
    grid-template-columns: 1fr;
  }
  .ab-values__item:nth-last-child(2) {
    border-bottom: 0;
  }
}
.h-about .ab-sec__label {
  margin-bottom: 14px;
}
.h-about__text + .h-about__text {
  margin-top: -18px;
}

/* =====================================================================
   ABOUT PAGE — compact, organised composition
   ===================================================================== */
.page-about .h-about {
  padding-block: clamp(64px, 7vw, 104px);
}
.ab-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(24px, 2.6vw, 36px);
  font-size: var(--fs-h2);
  line-height: 1.35;
  color: var(--teal);
}
.ab-head__line {
  flex: none;
  width: 40px;
  height: 2px;
  border-radius: 2px;
  background: var(--sand);
  transform-origin: right;
}

/* Vision · Mission */
.ab-vm {
  background: var(--ivory);
  padding-block: clamp(64px, 7vw, 104px);
}
.ab-vm__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ab-vm__col {
  padding-inline: 0 clamp(28px, 3.6vw, 64px);
}
.ab-vm__col + .ab-vm__col {
  padding-inline: clamp(28px, 3.6vw, 64px) 0;
  border-inline-start: 1px solid var(--line-strong);
}
.ab-vm__lead {
  font-size: var(--fs-statement);
  line-height: 1.9;
  font-weight: 500;
  color: var(--teal);
}
.ab-vm__text {
  margin-top: 16px;
  color: var(--muted);
}

/* Goals — five in a row */
.ab-goals {
  background: var(--white);
  padding-block: clamp(64px, 7vw, 104px);
}
.ab-goals__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 28px);
}
.ab-goal {
  position: relative;
  padding-top: 22px;
  border-top: 1px solid var(--line-strong);
}
.ab-goal::before {
  content: "";
  position: absolute;
  top: -1px;
  inset-inline-start: 0;
  width: 100%;
  height: 2px;
  background: var(--sand);
  transform: scaleX(0.18);
  transform-origin: right;
  transition: transform 0.7s var(--ease);
}
.ab-goal:hover::before {
  transform: scaleX(1);
}
.ab-goal p {
  font-size: 16.5px;
  font-weight: 500;
  line-height: 1.85;
  color: var(--teal);
}

/* Values — four in a row */
.ab-values-sec {
  background: var(--sand-200);
  padding-block: clamp(64px, 7vw, 104px);
}
.ab-values__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 24px);
}
.ab-value {
  position: relative;
  padding: clamp(22px, 2.2vw, 30px);
  border-radius: var(--r);
  background: var(--warm-white);
  border: 1px solid rgba(26, 57, 64, 0.06);
  transition:
    transform 0.5s var(--ease),
    box-shadow 0.5s var(--ease);
}
.ab-value::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: clamp(22px, 2.2vw, 30px);
  height: 2px;
  border-radius: 2px;
  background: var(--sand);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.6s var(--ease);
}
.ab-value:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
}
.ab-value:hover::before {
  transform: scaleX(1);
}
.ab-value dt {
  margin-bottom: 8px;
  font-size: var(--fs-h3-lg);
  font-weight: 700;
  color: var(--teal);
}
.ab-value dd {
  color: var(--muted);
}

@media (max-width: 1023px) {
  .ab-vm__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ab-vm__col,
  .ab-vm__col + .ab-vm__col {
    padding-inline: 0;
    border-inline-start: 0;
  }
  .ab-vm__col + .ab-vm__col {
    padding-top: 40px;
    border-top: 1px solid var(--line-strong);
  }
  .ab-goals__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 28px;
  }
  .ab-values__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .ab-goals__grid,
  .ab-values__grid {
    grid-template-columns: 1fr;
  }
}

/* About — bespoke line icons (same stroke family as the service icons) */
.line-icon {
  display: block;
  width: 40px;
  height: 40px;
  flex: none;
  fill: none;
  stroke: var(--sand-ink);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ab-vm__icon {
  margin-bottom: 18px;
}
.ab-vm__icon .line-icon {
  width: 44px;
  height: 44px;
}
.ab-goal__icon {
  margin-bottom: 16px;
  width: 38px;
  height: 38px;
  transition: transform 0.5s var(--ease);
}
.ab-goal:hover .ab-goal__icon {
  transform: translateY(-3px);
}
.ab-value__icon {
  margin-bottom: 18px;
  width: 38px;
  height: 38px;
  transition: transform 0.5s var(--ease);
}
.ab-value:hover .ab-value__icon {
  transform: translateY(-3px);
}

/* =====================================================================
   ABOUT · Vision, mission, goals, values — glass cards over a pinned image
   One card component: same radius, padding, icon, type and equal heights
   ===================================================================== */
.ab-glass {
  position: relative;
  isolation: isolate;
  padding-block: clamp(72px, 7.4vw, 112px);
}
.ab-glass__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.ab-glass__pin {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
}
.ab-glass__pin img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.85);
}
.ab-glass__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(247, 243, 236, 0.78) 0%,
    rgba(247, 243, 236, 0.7) 50%,
    rgba(247, 243, 236, 0.82) 100%
  );
}
.ab-glass__inner {
  display: grid;
  gap: clamp(56px, 6vw, 88px);
}

.ab-block .ab-head {
  margin-bottom: clamp(22px, 2.4vw, 32px);
}
.ab-grid {
  display: grid;
  gap: clamp(14px, 1.6vw, 22px);
  align-items: stretch;
}
.ab-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ab-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ab-grid--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ab-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
  margin: 0;
  padding: clamp(24px, 2.4vw, 32px);
  border-radius: var(--r-lg);
  background: linear-gradient(
    140deg,
    rgba(255, 255, 255, 0.72) 0%,
    rgba(255, 255, 255, 0.5) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 24px 48px -32px rgba(26, 57, 64, 0.35);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  transition:
    transform 0.5s var(--ease),
    box-shadow 0.5s var(--ease),
    background-color 0.4s;
}
.ab-card::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: clamp(24px, 2.4vw, 32px);
  height: 2px;
  border-radius: 2px;
  background: var(--sand);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.6s var(--ease);
}
.ab-card:hover {
  transform: translateY(-4px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 30px 56px -30px rgba(26, 57, 64, 0.45);
}
.ab-card:hover::before {
  transform: scaleX(1);
}
.ab-card__icon {
  width: 40px;
  height: 40px;
  margin-bottom: 6px;
  transition: transform 0.5s var(--ease);
}
.ab-card:hover .ab-card__icon {
  transform: translateY(-3px);
}
.ab-card__title {
  margin: 0;
  font-size: var(--fs-h3-lg) !important;
  font-weight: 700;
  line-height: 1.4 !important;
  color: var(--teal);
}
.ab-card__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
  color: var(--muted);
}
.ab-card__text--main {
  font-weight: 500;
  color: var(--teal);
}
.ab-card--feature .ab-card__text--main {
  font-size: var(--fs-lead);
}

@media (max-width: 1199px) {
  .ab-grid--5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ab-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .ab-grid--2,
  .ab-grid--4,
  .ab-grid--5 {
    grid-template-columns: 1fr;
  }
}

/* About cards — plain section background, solid cards (no image behind) */
.ab-glass {
  background: var(--sand-200);
}
.ab-card {
  background: var(--white);
  border: 1px solid rgba(26, 57, 64, 0.07);
  box-shadow:
    0 1px 2px rgba(26, 57, 64, 0.04),
    0 18px 40px -30px rgba(26, 57, 64, 0.3);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.ab-card:hover {
  box-shadow:
    0 1px 2px rgba(26, 57, 64, 0.05),
    0 28px 52px -30px rgba(26, 57, 64, 0.4);
}

/* About — each section its own background; cards contrast with their section */
.ab-sec2 {
  padding-block: clamp(72px, 7.4vw, 112px);
}
.ab-sec2--ivory {
  background: var(--ivory);
}
.ab-sec2--white {
  background: var(--white);
}
.ab-sec2--sand {
  background: var(--sand-200);
}
.ab-sec2--white .ab-card {
  background: var(--ivory);
}
.ab-sec2 .ab-block .ab-head {
  margin-bottom: clamp(22px, 2.4vw, 32px);
}
