:root{--m-scallop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='99.20,50.00 99.10,50.86 98.80,51.70 98.31,52.53 97.67,53.33 96.92,54.10 96.08,54.84 95.22,55.55 94.37,56.24 93.58,56.90 92.89,57.56 92.33,58.23 91.93,58.91 91.70,59.63 91.65,60.38 91.76,61.19 92.01,62.04 92.37,62.95 92.81,63.91 93.28,64.90 93.75,65.92 94.16,66.95 94.48,67.97 94.66,68.96 94.69,69.90 94.55,70.77 94.21,71.56 93.70,72.27 93.01,72.87 92.18,73.38 91.22,73.80 90.19,74.15 89.10,74.44 88.02,74.69 86.97,74.94 86.00,75.20 85.12,75.52 84.37,75.90 83.75,76.37 83.28,76.95 82.93,77.64 82.71,78.44 82.59,79.35 82.54,80.35 82.53,81.42 82.53,82.53 82.49,83.65 82.40,84.74 82.21,85.78 81.92,86.72 81.50,87.54 80.95,88.22 80.27,88.75 79.47,89.11 78.56,89.31 77.56,89.37 76.51,89.30 75.42,89.14 74.32,88.92 73.24,88.67 72.20,88.45 71.22,88.29 70.32,88.22 69.50,88.27 68.77,88.48 68.11,88.83 67.52,89.35 66.99,90.02 66.49,90.82 66.02,91.73 65.54,92.70 65.05,93.70 64.52,94.69 63.94,95.61 63.31,96.43 62.62,97.11 61.87,97.62 61.07,97.94 60.21,98.06 59.33,97.98 58.41,97.72 57.49,97.29 56.57,96.74 55.66,96.10 54.77,95.42 53.91,94.73 53.08,94.10 52.28,93.56 51.51,93.15 50.75,92.89 50.00,92.80 49.25,92.89 48.49,93.15 47.72,93.56 46.92,94.10 46.09,94.73 45.23,95.42 44.34,96.10 43.43,96.74 42.51,97.29 41.59,97.72 40.67,97.98 39.79,98.06 38.93,97.94 38.13,97.62 37.38,97.11 36.69,96.43 36.06,95.61 35.48,94.69 34.95,93.70 34.46,92.70 33.98,91.73 33.51,90.82 33.01,90.02 32.48,89.35 31.89,88.83 31.23,88.48 30.50,88.27 29.68,88.22 28.78,88.29 27.80,88.45 26.76,88.67 25.68,88.92 24.58,89.14 23.49,89.30 22.44,89.37 21.44,89.31 20.53,89.11 19.73,88.75 19.05,88.22 18.50,87.54 18.08,86.72 17.79,85.78 17.60,84.74 17.51,83.65 17.47,82.53 17.47,81.42 17.46,80.35 17.41,79.35 17.29,78.44 17.07,77.64 16.72,76.95 16.25,76.37 15.63,75.90 14.88,75.52 14.00,75.20 13.03,74.94 11.98,74.69 10.90,74.44 9.81,74.15 8.78,73.80 7.82,73.38 6.99,72.87 6.30,72.27 5.79,71.56 5.45,70.77 5.31,69.90 5.34,68.96 5.52,67.97 5.84,66.95 6.25,65.92 6.72,64.90 7.19,63.91 7.63,62.95 7.99,62.04 8.24,61.19 8.35,60.38 8.30,59.63 8.07,58.91 7.67,58.23 7.11,57.56 6.42,56.90 5.63,56.24 4.78,55.55 3.92,54.84 3.08,54.10 2.33,53.33 1.69,52.53 1.20,51.70 0.90,50.86 0.80,50.00 0.90,49.14 1.20,48.30 1.69,47.47 2.33,46.67 3.08,45.90 3.92,45.16 4.78,44.45 5.63,43.76 6.42,43.10 7.11,42.44 7.67,41.77 8.07,41.09 8.30,40.37 8.35,39.62 8.24,38.81 7.99,37.96 7.63,37.05 7.19,36.09 6.72,35.10 6.25,34.08 5.84,33.05 5.52,32.03 5.34,31.04 5.31,30.10 5.45,29.23 5.79,28.44 6.30,27.73 6.99,27.13 7.82,26.62 8.78,26.20 9.81,25.85 10.90,25.56 11.98,25.31 13.03,25.06 14.00,24.80 14.88,24.48 15.63,24.10 16.25,23.63 16.72,23.05 17.07,22.36 17.29,21.56 17.41,20.65 17.46,19.65 17.47,18.58 17.47,17.47 17.51,16.35 17.60,15.26 17.79,14.22 18.08,13.28 18.50,12.46 19.05,11.78 19.73,11.25 20.53,10.89 21.44,10.69 22.44,10.63 23.49,10.70 24.58,10.86 25.68,11.08 26.76,11.33 27.80,11.55 28.78,11.71 29.68,11.78 30.50,11.73 31.23,11.52 31.89,11.17 32.48,10.65 33.01,9.98 33.51,9.18 33.98,8.27 34.46,7.30 34.95,6.30 35.48,5.31 36.06,4.39 36.69,3.57 37.38,2.89 38.13,2.38 38.93,2.06 39.79,1.94 40.67,2.02 41.59,2.28 42.51,2.71 43.43,3.26 44.34,3.90 45.23,4.58 46.09,5.27 46.92,5.90 47.72,6.44 48.49,6.85 49.25,7.11 50.00,7.20 50.75,7.11 51.51,6.85 52.28,6.44 53.08,5.90 53.91,5.27 54.77,4.58 55.66,3.90 56.57,3.26 57.49,2.71 58.41,2.28 59.33,2.02 60.21,1.94 61.07,2.06 61.87,2.38 62.62,2.89 63.31,3.57 63.94,4.39 64.52,5.31 65.05,6.30 65.54,7.30 66.02,8.27 66.49,9.18 66.99,9.98 67.52,10.65 68.11,11.17 68.77,11.52 69.50,11.73 70.32,11.78 71.22,11.71 72.20,11.55 73.24,11.33 74.32,11.08 75.42,10.86 76.51,10.70 77.56,10.63 78.56,10.69 79.47,10.89 80.27,11.25 80.95,11.78 81.50,12.46 81.92,13.28 82.21,14.22 82.40,15.26 82.49,16.35 82.53,17.47 82.53,18.58 82.54,19.65 82.59,20.65 82.71,21.56 82.93,22.36 83.28,23.05 83.75,23.63 84.37,24.10 85.12,24.48 86.00,24.80 86.97,25.06 88.02,25.31 89.10,25.56 90.19,25.85 91.22,26.20 92.18,26.62 93.01,27.13 93.70,27.73 94.21,28.44 94.55,29.23 94.69,30.10 94.66,31.04 94.48,32.03 94.16,33.05 93.75,34.08 93.28,35.10 92.81,36.09 92.37,37.05 92.01,37.96 91.76,38.81 91.65,39.62 91.70,40.37 91.93,41.09 92.33,41.77 92.89,42.44 93.58,43.10 94.37,43.76 95.22,44.45 96.08,45.16 96.92,45.90 97.67,46.67 98.31,47.47 98.80,48.30 99.10,49.14 99.20,50.00'/%3E%3C/svg%3E");--m-wavyrect:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='0.00,1.60 1.00,2.54 2.00,3.12 3.00,3.12 4.00,2.54 5.00,1.60 6.00,0.66 7.00,0.08 8.00,0.08 9.00,0.66 10.00,1.60 11.00,2.54 12.00,3.12 13.00,3.12 14.00,2.54 15.00,1.60 16.00,0.66 17.00,0.08 18.00,0.08 19.00,0.66 20.00,1.60 21.00,2.54 22.00,3.12 23.00,3.12 24.00,2.54 25.00,1.60 26.00,0.66 27.00,0.08 28.00,0.08 29.00,0.66 30.00,1.60 31.00,2.54 32.00,3.12 33.00,3.12 34.00,2.54 35.00,1.60 36.00,0.66 37.00,0.08 38.00,0.08 39.00,0.66 40.00,1.60 41.00,2.54 42.00,3.12 43.00,3.12 44.00,2.54 45.00,1.60 46.00,0.66 47.00,0.08 48.00,0.08 49.00,0.66 50.00,1.60 51.00,2.54 52.00,3.12 53.00,3.12 54.00,2.54 55.00,1.60 56.00,0.66 57.00,0.08 58.00,0.08 59.00,0.66 60.00,1.60 61.00,2.54 62.00,3.12 63.00,3.12 64.00,2.54 65.00,1.60 66.00,0.66 67.00,0.08 68.00,0.08 69.00,0.66 70.00,1.60 71.00,2.54 72.00,3.12 73.00,3.12 74.00,2.54 75.00,1.60 76.00,0.66 77.00,0.08 78.00,0.08 79.00,0.66 80.00,1.60 81.00,2.54 82.00,3.12 83.00,3.12 84.00,2.54 85.00,1.60 86.00,0.66 87.00,0.08 88.00,0.08 89.00,0.66 90.00,1.60 91.00,2.54 92.00,3.12 93.00,3.12 94.00,2.54 95.00,1.60 96.00,0.66 97.00,0.08 98.00,0.08 99.00,0.66 100.00,1.60 98.40,0.00 97.72,1.00 97.17,2.00 96.85,3.00 96.83,4.00 97.11,5.00 97.63,6.00 98.30,7.00 98.99,8.00 99.57,9.00 99.92,10.00 99.99,11.00 99.75,12.00 99.26,13.00 98.60,14.00 97.91,15.00 97.30,16.00 96.91,17.00 96.80,18.00 97.00,19.00 97.46,20.00 98.10,21.00 98.80,22.00 99.42,23.00 99.85,24.00 100.00,25.00 99.85,26.00 99.42,27.00 98.80,28.00 98.10,29.00 97.46,30.00 97.00,31.00 96.80,32.00 96.91,33.00 97.30,34.00 97.91,35.00 98.60,36.00 99.26,37.00 99.75,38.00 99.99,39.00 99.92,40.00 99.57,41.00 98.99,42.00 98.30,43.00 97.63,44.00 97.11,45.00 96.83,46.00 96.85,47.00 97.17,48.00 97.72,49.00 98.40,50.00 99.08,51.00 99.63,52.00 99.95,53.00 99.97,54.00 99.69,55.00 99.17,56.00 98.50,57.00 97.81,58.00 97.23,59.00 96.88,60.00 96.81,61.00 97.05,62.00 97.54,63.00 98.20,64.00 98.89,65.00 99.50,66.00 99.89,67.00 100.00,68.00 99.80,69.00 99.34,70.00 98.70,71.00 98.00,72.00 97.38,73.00 96.95,74.00 96.80,75.00 96.95,76.00 97.38,77.00 98.00,78.00 98.70,79.00 99.34,80.00 99.80,81.00 100.00,82.00 99.89,83.00 99.50,84.00 98.89,85.00 98.20,86.00 97.54,87.00 97.05,88.00 96.81,89.00 96.88,90.00 97.23,91.00 97.81,92.00 98.50,93.00 99.17,94.00 99.69,95.00 99.97,96.00 99.95,97.00 99.63,98.00 99.08,99.00 98.40,100.00 100.00,98.40 99.00,99.34 98.00,99.92 97.00,99.92 96.00,99.34 95.00,98.40 94.00,97.46 93.00,96.88 92.00,96.88 91.00,97.46 90.00,98.40 89.00,99.34 88.00,99.92 87.00,99.92 86.00,99.34 85.00,98.40 84.00,97.46 83.00,96.88 82.00,96.88 81.00,97.46 80.00,98.40 79.00,99.34 78.00,99.92 77.00,99.92 76.00,99.34 75.00,98.40 74.00,97.46 73.00,96.88 72.00,96.88 71.00,97.46 70.00,98.40 69.00,99.34 68.00,99.92 67.00,99.92 66.00,99.34 65.00,98.40 64.00,97.46 63.00,96.88 62.00,96.88 61.00,97.46 60.00,98.40 59.00,99.34 58.00,99.92 57.00,99.92 56.00,99.34 55.00,98.40 54.00,97.46 53.00,96.88 52.00,96.88 51.00,97.46 50.00,98.40 49.00,99.34 48.00,99.92 47.00,99.92 46.00,99.34 45.00,98.40 44.00,97.46 43.00,96.88 42.00,96.88 41.00,97.46 40.00,98.40 39.00,99.34 38.00,99.92 37.00,99.92 36.00,99.34 35.00,98.40 34.00,97.46 33.00,96.88 32.00,96.88 31.00,97.46 30.00,98.40 29.00,99.34 28.00,99.92 27.00,99.92 26.00,99.34 25.00,98.40 24.00,97.46 23.00,96.88 22.00,96.88 21.00,97.46 20.00,98.40 19.00,99.34 18.00,99.92 17.00,99.92 16.00,99.34 15.00,98.40 14.00,97.46 13.00,96.88 12.00,96.88 11.00,97.46 10.00,98.40 9.00,99.34 8.00,99.92 7.00,99.92 6.00,99.34 5.00,98.40 4.00,97.46 3.00,96.88 2.00,96.88 1.00,97.46 0.00,98.40 1.60,100.00 0.92,99.00 0.37,98.00 0.05,97.00 0.03,96.00 0.31,95.00 0.83,94.00 1.50,93.00 2.19,92.00 2.77,91.00 3.12,90.00 3.19,89.00 2.95,88.00 2.46,87.00 1.80,86.00 1.11,85.00 0.50,84.00 0.11,83.00 0.00,82.00 0.20,81.00 0.66,80.00 1.30,79.00 2.00,78.00 2.62,77.00 3.05,76.00 3.20,75.00 3.05,74.00 2.62,73.00 2.00,72.00 1.30,71.00 0.66,70.00 0.20,69.00 0.00,68.00 0.11,67.00 0.50,66.00 1.11,65.00 1.80,64.00 2.46,63.00 2.95,62.00 3.19,61.00 3.12,60.00 2.77,59.00 2.19,58.00 1.50,57.00 0.83,56.00 0.31,55.00 0.03,54.00 0.05,53.00 0.37,52.00 0.92,51.00 1.60,50.00 2.28,49.00 2.83,48.00 3.15,47.00 3.17,46.00 2.89,45.00 2.37,44.00 1.70,43.00 1.01,42.00 0.43,41.00 0.08,40.00 0.01,39.00 0.25,38.00 0.74,37.00 1.40,36.00 2.09,35.00 2.70,34.00 3.09,33.00 3.20,32.00 3.00,31.00 2.54,30.00 1.90,29.00 1.20,28.00 0.58,27.00 0.15,26.00 0.00,25.00 0.15,24.00 0.58,23.00 1.20,22.00 1.90,21.00 2.54,20.00 3.00,19.00 3.20,18.00 3.09,17.00 2.70,16.00 2.09,15.00 1.40,14.00 0.74,13.00 0.25,12.00 0.01,11.00 0.08,10.00 0.43,9.00 1.01,8.00 1.70,7.00 2.37,6.00 2.89,5.00 3.17,4.00 3.15,3.00 2.83,2.00 2.28,1.00 1.60,0.00'/%3E%3C/svg%3E");--m-wavebottom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='0.00,0.00 100.00,0.00 100.00,93.00 99.00,92.34 98.00,91.71 97.00,91.12 96.00,90.60 95.00,90.17 94.00,89.83 93.00,89.61 92.00,89.51 91.00,89.53 90.00,89.67 89.00,89.93 88.00,90.30 87.00,90.77 86.00,91.31 85.00,91.92 84.00,92.56 83.00,93.22 82.00,93.87 81.00,94.49 80.00,95.06 79.00,95.55 78.00,95.96 77.00,96.25 76.00,96.44 75.00,96.50 74.00,96.44 73.00,96.25 72.00,95.96 71.00,95.55 70.00,95.06 69.00,94.49 68.00,93.87 67.00,93.22 66.00,92.56 65.00,91.92 64.00,91.31 63.00,90.77 62.00,90.30 61.00,89.93 60.00,89.67 59.00,89.53 58.00,89.51 57.00,89.61 56.00,89.83 55.00,90.17 54.00,90.60 53.00,91.12 52.00,91.71 51.00,92.34 50.00,93.00 49.00,93.66 48.00,94.29 47.00,94.88 46.00,95.40 45.00,95.83 44.00,96.17 43.00,96.39 42.00,96.49 41.00,96.47 40.00,96.33 39.00,96.07 38.00,95.70 37.00,95.23 36.00,94.69 35.00,94.08 34.00,93.44 33.00,92.78 32.00,92.13 31.00,91.51 30.00,90.94 29.00,90.45 28.00,90.04 27.00,89.75 26.00,89.56 25.00,89.50 24.00,89.56 23.00,89.75 22.00,90.04 21.00,90.45 20.00,90.94 19.00,91.51 18.00,92.13 17.00,92.78 16.00,93.44 15.00,94.08 14.00,94.69 13.00,95.23 12.00,95.70 11.00,96.07 10.00,96.33 9.00,96.47 8.00,96.49 7.00,96.39 6.00,96.17 5.00,95.83 4.00,95.40 3.00,94.88 2.00,94.29 1.00,93.66 0.00,93.00'/%3E%3C/svg%3E");--wave-paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C120 6 240 6 360 20s240 30 360 14 240-30 360-16 240 30 360 6V40z' fill='%23f6f4ef'/%3E%3C/svg%3E");--wave-alt:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C120 6 240 6 360 20s240 30 360 14 240-30 360-16 240 30 360 6V40z' fill='%23e9eef1'/%3E%3C/svg%3E");--wave-ink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C120 6 240 6 360 20s240 30 360 14 240-30 360-16 240 30 360 6V40z' fill='%230d1d45'/%3E%3C/svg%3E");--squig:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M2 6c8-6 12-6 20 0s12 6 20 0 12-6 20 0 12 6 20 0 12-6 20 0 12 6 16 2' fill='none' stroke='%23e8590c' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
/* ==========================================================================
   Cess Water Solutions · Editorial design system (preview 2026-11-11)
   Ink-and-paper neutrals + ONE signal color (brand orange) for tappables only.
   Loaded after styles.css on every page. Decorative only: no content changes.
   ========================================================================== */
:root{
  --paper:#f6f4ef;--paper-2:#e9eef1;--card:#ffffff;
  --ink:#0d1d45;--navy:#13285b;--navy-2:#0a1736;--muted:#5b6478;--line:#dcdfe3;
  --signal:#e8590c;--signal-2:#c94a06;--signal-text:#bf4705;
  /* neutralize old orange/blue accents on non-tappable things */
  --orange:#13285b;--orange-2:#0d1d45;--blue:#13285b;--sky:#5f7397;--yellow:#13285b;
  --bg:#f6f4ef;--bg-alt:#e9eef1;
  --radius:22px;--shadow:0 1px 0 rgba(13,29,69,.04),0 24px 48px -32px rgba(13,29,69,.35);
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
}
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);font-size:16px}
::selection{background:#13285b;color:#fff}

/* ---------- Type: extreme scale (huge display, small support, no middle) ---------- */
h1,h2,h3,h4{color:var(--ink)}
h1{font-size:clamp(2.7rem,7.2vw,6.4rem)!important;line-height:.95!important;letter-spacing:-.045em!important;font-weight:800}
h2{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.1;letter-spacing:-.025em;font-weight:800}
.section-head h2,.section>.container>h2,#contact .container>div:first-child>h2:not(.form-title),.split>div>h2,.hero-copy>h2,.lp-hero h1{font-size:clamp(2.35rem,5.6vw,4.9rem)!important;line-height:.98!important;letter-spacing:-.04em!important}
.cart-wrap h2{font-size:clamp(1.25rem,1.8vw,1.5rem)!important;line-height:1.2!important;letter-spacing:-.02em!important}
h3{font-size:1.05rem;letter-spacing:-.005em;font-weight:700}
.form-card h2,.form-card .form-title,.combined-water-flow h2,.choice h2,#install-photos,.signs-card h3,.wp-promise h3,.newhome h3{font-size:clamp(1.3rem,2.2vw,1.6rem)!important;line-height:1.15;letter-spacing:-.02em}
.accent,h1 .accent,h2 .accent,.hero.water-hero h1 .accent,.lp-hero.bd h1 .accent,.lp-hero.bd h1 span{color:inherit!important;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em}
.eyebrow,.eyebrow.light,.biz-card .eyebrow,.addr-label{color:var(--muted)!important;font-size:.75rem!important;letter-spacing:.2em!important;font-weight:600}
.eyebrow::before{content:"";display:inline-block;width:22px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px;opacity:.7}
.sub,.section-head p,.lead{font-size:clamp(.95rem,1.1vw,1.05rem);color:var(--muted)}
.section-head{text-align:left!important;max-width:none!important;margin:0 0 52px!important;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);column-gap:56px;align-items:end}
.section-head .eyebrow{grid-column:1/-1}
.section-head h2{margin:0}
.section-head p:not(.eyebrow){margin:0 0 .5em;max-width:38ch}
@media(max-width:860px){.section-head{grid-template-columns:1fr}.section-head p:not(.eyebrow){margin-top:18px}}

/* ---------- Signal color: tappables only ---------- */
a{color:var(--signal-text);text-underline-offset:3px}
.btn{background:var(--signal)!important;border-color:var(--signal)!important;color:#fff!important;box-shadow:0 14px 28px -16px rgba(232,89,12,.75)!important;font-weight:700;letter-spacing:.005em}
.btn:hover{background:var(--signal-2)!important;border-color:var(--signal-2)!important}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.btn.btn-ghost,.hero.water-hero .btn-ghost,.lp-hero.bd .btn-ghost{background:transparent!important;color:var(--ink)!important;border:1.5px solid var(--ink)!important;box-shadow:none!important}
.btn.btn-ghost:hover{border-color:var(--signal)!important;color:var(--signal-text)!important}
.svc-link,.usp-card.trial a,.nav-menu a[aria-current=page],.nav-menu a:not(.btn):hover,.nav-drop-btn:hover,.lp-call:hover{color:var(--signal-text)!important}
.faq summary::after{color:var(--signal)!important}
input,select,textarea{accent-color:var(--signal)}
.pkg:has(input:checked),.plan:has(input:checked){border-color:var(--signal)!important}
.mb-quote{background:var(--signal)!important}

/* ---------- Header (paper glass) + SMS contact button ---------- */
.site-header{background:rgba(246,244,239,.82)!important;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:none!important;border-bottom:1px solid rgba(13,29,69,.08)!important}
.site-header .nav-menu a:not(.btn),.site-header .nav-drop-btn{color:var(--ink)}
.hdr-call{background:var(--signal)!important;color:#fff!important;border-radius:999px;box-shadow:0 10px 22px -14px rgba(232,89,12,.8)}
@media(min-width:1101px){.site-header .nav{width:min(1360px,100% - 40px)}.site-header .nav-menu{gap:12px!important}.site-header .nav-menu a,.site-header .nav-drop-btn{font-size:.8rem!important}.site-header .nav-menu a.btn{padding:.55em .9em!important}.site-header .brand img{height:40px!important}}
.offer-bar{background:var(--navy-2)!important;color:#dfe5f2!important;font-size:.88rem}
.offer-bar strong{color:#fff!important;font-weight:600}
.offer-bar a{color:#ffb489!important;text-decoration:underline}
.fin-bar{background:var(--ink)!important;color:#dfe5f2!important;border-top:1px solid rgba(255,255,255,.08)}
.fin-bar strong{font-weight:600!important}
.fin-bar a{background:var(--signal)!important;color:#fff!important}

/* ---------- Scene background (water) + frosted glass ---------- */
.hero.water-hero,.lp-hero.bd,.lp-hero,.hero{position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(1100px 520px at 78% -10%,rgba(255,255,255,.95),transparent 60%),
             linear-gradient(180deg,#eef4f6 0%,#dceaf0 55%,#cfe2ea 100%)!important;color:var(--ink)}
.hero.water-hero::before,.lp-hero::before,.hero::before{content:"";position:absolute;inset:-20%;z-index:-2;pointer-events:none;
  background:
   radial-gradient(38% 30% at 20% 30%,rgba(120,190,220,.55),transparent 70%),
   radial-gradient(30% 26% at 75% 65%,rgba(150,205,228,.55),transparent 70%),
   radial-gradient(26% 22% at 55% 20%,rgba(255,255,255,.8),transparent 70%),
   radial-gradient(34% 28% at 35% 85%,rgba(98,168,204,.38),transparent 70%);
  filter:blur(18px);animation:ed-drift 22s ease-in-out infinite alternate}
.hero.water-hero::after,.lp-hero::after,.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;z-index:-1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 50C180 20 360 20 540 46s360 30 540 2 270-28 360-10V90H0z' fill='%23ffffff' fill-opacity='.35'/%3E%3Cpath d='M0 66c200-24 380-22 560 2s380 22 560-4 240-14 320-6V90H0z' fill='%23f6f4ef'/%3E%3C/svg%3E") 0 100%/200% 100% repeat-x;
  animation:ed-wave 18s linear infinite}
@keyframes ed-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3%,-2%,0) scale(1.06)}100%{transform:translate3d(-3%,2%,0) scale(1.02)}}
@keyframes ed-wave{to{background-position:-100% 100%}}
.hero.water-hero .hero-copy,.lp-hero.bd .hero-copy{color:var(--ink)!important}
.hero.water-hero h1,.lp-hero.bd h1{color:var(--ink)!important;text-shadow:none!important}
.hero.water-hero .eyebrow,.lp-hero.bd .eyebrow{color:var(--muted)!important}
.hero.water-hero .lead,.hero.water-hero .fin-note,.lp-hero.bd .hero-copy p,.lp-hero.bd .hero-copy li{color:var(--ink)!important;text-shadow:none!important}
.hero.water-hero .hero-copy a:not(.btn),.lp-hero.bd .hero-copy a:not(.btn){color:var(--signal-text)!important}
.hero .hero-badges li{background:rgba(255,255,255,.55)!important;backdrop-filter:blur(12px);border-color:rgba(255,255,255,.7)!important;color:var(--ink)!important}
/* giant background word for any hero (pseudo, decorative, not in DOM text) */
.lp-hero>.container,.hero>.container{position:relative}
.glass,.ed-glass,.lp-hero .form-card,.hero .form-card{background:rgba(255,255,255,.58)!important;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(255,255,255,.75)!important;box-shadow:0 30px 60px -36px rgba(13,29,69,.45)!important}

/* ---------- Generic hero (non-home pages): big word via pseudo + editorial type ---------- */
.hero:not(.ed-hero) .hero-copy,.lp-hero:not(.ed-hero) .hero-copy{position:relative}
.hero.water-hero:not(.ed-hero){min-height:0}
.hero.water-hero:not(.ed-hero) .hero-grid{max-width:1160px!important}
.hero.water-hero:not(.ed-hero) .hero-copy{text-align:left!important}
.hero.water-hero:not(.ed-hero) .hero-ctas{justify-content:flex-start!important}
.hero.wt-banner{min-height:0!important;padding:84px 0 110px}
.hero.wt-banner .hero-copy{max-width:900px}
.ed-bgword{position:absolute;z-index:-1;pointer-events:none;user-select:none;font-weight:800;letter-spacing:-.06em;line-height:.8;color:rgba(13,29,69,.07);white-space:nowrap}
.hero.wt-banner .container::after,.lp-hero.fn-hero .container::after{content:"PURE";position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-weight:800;font-size:clamp(9rem,26vw,24rem);letter-spacing:-.07em;line-height:.8;color:rgba(13,29,69,.06);z-index:-1;pointer-events:none}

/* ---------- Home hero: three planes ---------- */
.ed-hero{padding:0!important;min-height:min(880px,calc(100svh - 40px))}
.ed-hero .ed-word{position:absolute;inset:auto 0 auto 0;top:4%;z-index:0;text-align:center;pointer-events:none;user-select:none;
  font-weight:800;font-size:clamp(9rem,34vw,34rem);line-height:.78;letter-spacing:-.08em;color:transparent;
  background:linear-gradient(180deg,rgba(13,29,69,.13),rgba(13,29,69,.03));-webkit-background-clip:text;background-clip:text}
.ed-hero .ed-grid{position:relative;z-index:1;max-width:none!important;width:min(1280px,100% - 48px);display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-template-rows:auto auto 1fr;column-gap:24px;row-gap:0;padding:72px 0 120px;align-items:start}
.ed-hero .hero-copy{display:contents;text-align:left!important}
.ed-hero .eyebrow{grid-column:1/9;grid-row:1;margin-bottom:22px}
.ed-hero h1{grid-column:1/10;grid-row:2;position:relative;z-index:1;margin:0 0 28px!important;max-width:11.5ch;font-size:clamp(2.9rem,6.4vw,6.2rem)!important}
.ed-hero h1 .accent{display:inline}
.ed-hero .ed-subject{grid-column:6/13;grid-row:1/4;position:relative;z-index:2;margin:-30px -20px 0 -70px;align-self:end;justify-self:end;width:calc(100% + 90px);max-width:660px;pointer-events:none}
.ed-hero .ed-subject img{width:100%;height:auto;filter:drop-shadow(0 40px 40px rgba(13,29,69,.28)) drop-shadow(0 8px 10px rgba(13,29,69,.18));animation:ed-float 9s ease-in-out infinite}
@keyframes ed-float{50%{transform:translateY(-10px)}}
.ed-hero .ed-glass{grid-column:1/7;grid-row:3;position:relative;z-index:3;border-radius:28px;padding:28px 30px 22px;margin-right:-40px}
.ed-hero .ed-glass .lead{color:var(--ink)!important;font-size:.98rem!important;line-height:1.65;margin:0 0 6px}
.ed-hero .hero-ctas{justify-content:flex-start!important;margin:20px 0 14px!important;gap:10px}
.ed-hero .hero-ctas .btn{padding:.8em 1.25em;font-size:.92rem}
.ed-hero .hero-ctas .btn:not(.btn-ghost){position:relative}
.ed-hero .hero-ctas .btn:not(.btn-ghost)::after{content:"";position:absolute;left:18%;right:18%;bottom:-13px;height:9px;background:var(--squig) center/auto 100% repeat-x;opacity:.9}
.ed-hero .fin-note{font-size:.85rem!important;color:var(--muted)!important;margin:0}
/* curved arch badge */
.ed-arch{position:absolute;left:-4%;top:27%;width:clamp(112px,12vw,150px);aspect-ratio:1;z-index:3}
.ed-arch svg{width:100%;height:100%;overflow:visible;animation:ed-spin 28s linear infinite}
.ed-arch .ed-arch-core{position:absolute;inset:26%;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.ed-arch .ed-arch-core svg{width:44%;height:44%;animation:none}
@keyframes ed-spin{to{transform:rotate(360deg)}}
@media(max-width:860px){
  .ed-hero{min-height:0}
  .ed-hero .ed-word{top:330px;font-size:clamp(8rem,46vw,15rem)}
  .ed-hero .ed-grid{display:flex!important;flex-direction:column;width:calc(100% - 36px);padding:40px 0 96px}
  .ed-hero .hero-copy{display:contents}
  .ed-hero .eyebrow{margin-bottom:14px}
  .ed-hero h1{max-width:none;font-size:clamp(2.6rem,11.6vw,4.2rem)!important;margin-bottom:0!important}
  .ed-hero .ed-subject{order:3;align-self:center;width:88%;max-width:420px;margin:-6px 0 0}
  .ed-hero .ed-glass{order:4;margin:-110px 0 0;padding:22px 18px 18px;border-radius:24px}
  .ed-hero .hero-ctas .btn{flex:1 1 100%}
  .ed-arch{left:-4%;top:2%;width:104px}
}

/* ---------- Sections, wave dividers ---------- */
.section{position:relative;background:var(--paper)}
.section.alt{background:var(--paper-2)!important}
.section.alt::before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:var(--wave-alt) 0 0/100% 100% no-repeat;pointer-events:none}
.section.alt+.section:not(.alt)::before,.section.alt+style+.section:not(.alt)::before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:var(--wave-paper) 0 0/100% 100% no-repeat;pointer-events:none}
.site-footer{background:var(--navy-2)!important;position:relative}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:var(--wave-ink) 0 0/100% 100% no-repeat}
.site-footer a{color:#c9d3e8}
.site-footer a:hover{color:#ffb489!important}

/* ---------- Cards: paper editorial ---------- */
.svc-card,.steps li,.rv-card,.ir-card,.faq details,.signs-card,.wp-card,.pkg,.card,.usp-card,.aud-card,.plan,.form-card{background:var(--card);border:1px solid var(--line)!important;box-shadow:var(--shadow)!important}
.svc-icon{color:var(--ink)!important;background:var(--paper-2)!important}
.svc-points li::before,.area-list li::before{background:var(--ink)!important}
.checks li::before{background-color:var(--ink)!important}
.rv-check{background:var(--paper-2)!important;color:var(--ink)!important}
.pkg-flag{background:var(--ink)!important}
.pkg.pop{border-color:var(--ink)!important}
.pkg-promo{color:var(--ink)!important;font-family:var(--serif);font-style:italic;font-size:1rem!important;font-weight:400!important}
.pkg-price{font-size:clamp(1.8rem,3vw,2.6rem)!important;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.pkg-price.q{font-size:1.05rem!important}
.deposit-box,.callout,.svc-badge,.hero-badges li.badge-trial,.value-stack li.trial{background:#fff!important;border-color:var(--line)!important;color:var(--ink)}
.signs li span{background:var(--ink)!important;color:#fff!important}
.ir-stars{color:var(--ink)!important}

/* extreme scale numerals */
.steps .num{background:none!important;width:auto!important;height:auto!important;display:block!important;color:var(--ink)!important;font-family:var(--serif);font-style:italic;font-weight:400!important;font-size:clamp(4.5rem,8vw,7rem)!important;line-height:.8!important;margin-bottom:18px!important;letter-spacing:-.04em}
.steps li{padding:30px 28px 28px!important}

/* ---------- Custom shapes ---------- */
.hw-cons figure img{-webkit-mask:var(--m-scallop) center/100% 100% no-repeat;mask:var(--m-scallop) center/100% 100% no-repeat;aspect-ratio:1/1!important;object-fit:cover;border-radius:0!important}
.wp-photo img{-webkit-mask:var(--m-wavebottom) center/100% 100% no-repeat;mask:var(--m-wavebottom) center/100% 100% no-repeat;border-radius:18px 18px 0 0}
#home-packages .pkg-grid .pkg-img,.pkg-studio img,.pkg .pkg-img{border-radius:999px 999px 18px 18px!important}
.ir-big,.ir-av,.rv-av{background:var(--ink)!important}
.ir-big{-webkit-mask:var(--m-scallop) center/100% 100% no-repeat;mask:var(--m-scallop) center/100% 100% no-repeat;width:76px!important;height:76px!important;border-radius:0!important}
.wt-art img{-webkit-mask:var(--m-scallop) center/100% 100% no-repeat;mask:var(--m-scallop) center/100% 100% no-repeat}
.newhome{background:var(--ink)!important;color:#dfe5f2;border-radius:28px!important}
.newhome h3{color:#fff!important}.newhome p{color:#c9d3e8!important}
.wp-promise{background:var(--ink)!important;border-radius:28px!important;color:#c9d3e8!important}.wp-promise h3{color:#fff!important}.wp-promise p{color:#c9d3e8!important}
.wp-card{border-top:1px solid var(--line)!important}

/* ---------- Accessibility & motion ---------- */
body,p,li{font-size:max(14px,1em)}
@media (prefers-reduced-motion:reduce){
  .hero::before,.hero::after,.lp-hero::before,.lp-hero::after,.ed-hero .ed-subject img,.ed-arch svg{animation:none!important}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ed-glass,.lp-hero .form-card{background:rgba(255,255,255,.92)!important}}
/* packages + financing panels → neutrals; financing pills are links → signal */
.plan .pkg-price{font-size:clamp(1.25rem,1.8vw,1.6rem)!important;line-height:1.1}
.fin-banner{background:var(--paper-2)!important;border-bottom:1px solid var(--line)!important;color:var(--ink)!important}
.fin-banner a{color:var(--signal-text)!important}
a.fin-pkg{background:transparent!important;border:1px solid var(--signal)!important;color:var(--signal-text)!important}
span.fin-pkg{background:var(--paper-2)!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.sb-panel,.fin-panel{background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)}
.sb-photo img{border:0!important;-webkit-mask:var(--m-wavyrect) center/100% 100% no-repeat;mask:var(--m-wavyrect) center/100% 100% no-repeat}

.lp-top{background:var(--navy-2)!important}
.lp-call,.lp-btn{background:var(--signal)!important;color:#fff!important;border-radius:999px!important}
@media(min-width:1101px) and (max-width:1300px){.site-header .nav-menu{gap:8px!important}.site-header .nav-menu a,.site-header .nav-drop-btn{font-size:.76rem!important}.hdr-call span{font-size:.8rem}}

/* ===== v2 (John 11/11): keep the people photo as hero background on home + booking page ===== */
.hero.water-hero{background:linear-gradient(90deg,rgba(10,23,54,.88) 0%,rgba(10,23,54,.66) 40%,rgba(10,23,54,.18) 72%,rgba(10,23,54,.08) 100%),image-set(url(/assets/img/water-backdrop-family.webp) type("image/webp"),url(/assets/img/water-backdrop-family.jpg) type("image/jpeg")) center 30%/cover no-repeat!important}
.hero.water-hero::before{display:none!important}
.hero.wt-banner .container::after{content:none!important}
.hero.water-hero h1,.hero.water-hero h1 .accent{color:#fff!important;text-shadow:0 2px 24px rgba(0,0,0,.25)!important}
.hero.water-hero .eyebrow{color:#dfe5f2!important}
.hero.water-hero .hero-copy>.lead{color:#eef2fa!important;text-shadow:0 1px 8px rgba(0,0,0,.3)!important}
.hero.water-hero .ed-glass .lead,.hero.water-hero .ed-glass .fin-note{color:var(--ink)!important;text-shadow:none!important}
.hero.water-hero .ed-glass .fin-note{color:var(--muted)!important}
.hero.water-hero .ed-glass{background:rgba(255,255,255,.74)!important}
.ed-hero{min-height:min(820px,calc(100svh - 40px))}
.ed-hero .ed-grid{grid-template-rows:auto auto auto!important;padding:96px 0 130px}
.ed-hero h1{grid-column:1/9!important;max-width:12ch}
.ed-hero .ed-glass{grid-column:1/7!important;margin-right:0!important}
.ed-hero>.ed-grid>.ed-arch{position:relative;left:auto;top:auto;grid-column:11/13;grid-row:2;justify-self:end;align-self:start;width:150px}
.hero.wt-banner{padding:110px 0 150px!important}
@media(max-width:860px){
  .hero.water-hero{background:linear-gradient(180deg,rgba(10,23,54,.62) 0%,rgba(10,23,54,.55) 45%,rgba(10,23,54,.78) 100%),image-set(url(/assets/img/water-backdrop-couple-mobile-close.webp) type("image/webp"),url(/assets/img/water-backdrop-couple-mobile-close.jpg) type("image/jpeg")) center 20%/cover no-repeat!important}
  .ed-hero .ed-grid{padding:36px 0 96px}
  .ed-hero>.ed-grid>.ed-arch{order:2;align-self:flex-end;width:96px;margin:-18px -4px -40px 0;z-index:4}
  .ed-hero .ed-glass{order:4;margin:24px 0 0!important}
  .hero.wt-banner{padding:56px 0 110px!important}
}
.nav-menu a.btn[aria-current=page],.nav-menu a.btn:hover{color:#fff!important}
