/* Fonts: served from this site (latin subset of the same Archivo and Public Sans the site always used) */
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; src: url(/uploads/companies/f6916106-653b-4c88-ba9e-8359c4e860cf/fonts/archivo-latin.woff2) format("woff2"); }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/uploads/companies/f6916106-653b-4c88-ba9e-8359c4e860cf/fonts/publicsans-latin.woff2) format("woff2"); }
@font-face { font-family: "Public Sans"; font-style: italic; font-weight: 100 900; font-display: swap; src: url(/uploads/companies/f6916106-653b-4c88-ba9e-8359c4e860cf/fonts/publicsans-italic-latin.woff2) format("woff2"); }
/* ASAP Crawlspace of Mountain Home: shared theme.
   Direction: the guarantee certificate. White security paper, bond navy fields, engraving-blue
   guilloche hairlines, one red seal. Archivo (wide) for display, Public Sans for reading.
   Flat stacked panels: no gradients, no drop shadows. Every page links this file. */

:root {
  --red: #C21C19;
  --red-press: #9E1512;
  --navy: #13284C;
  --navy-raise: #1C3561;
  --navy-deep: #0E1F3B;
  --blue: #2F5597;
  --pale: #AFC3E3;
  --paper: #FFFFFF;
  --tint: #F2F5F9;
  --tint-2: #E6ECF4;
  --ink: #152038;
  --slate: #4E5A72;
  --rule: #D5DCE8;

  --display: "Archivo", "Public Sans", system-ui, sans-serif;
  --body: "Public Sans", system-ui, sans-serif;

  --wrap: 1240px;
  --gutter: clamp(1.25rem, 4vw, 2.5rem);
  --section: clamp(4.25rem, 8vw, 7.5rem);
  --radius: 4px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --t: 180ms;
  --header-h: 76px;

  --guilloche-h: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24' viewBox='0 0 120 24'%3E%3Cg fill='none' stroke='%232F5597' stroke-width='.7'%3E%3Cpath d='M0 12L2 13.7L4 15.3L6 16.7L8 17.9L10 18.9L12 19.6L14 20L16 20L18 19.6L20 18.9L22 17.9L24 16.7L26 15.3L28 13.7L30 12L32 10.3L34 8.7L36 7.3L38 6.1L40 5.1L42 4.4L44 4L46 4L48 4.4L50 5.1L52 6.1L54 7.3L56 8.7L58 10.3L60 12L62 13.7L64 15.3L66 16.7L68 17.9L70 18.9L72 19.6L74 20L76 20L78 19.6L80 18.9L82 17.9L84 16.7L86 15.3L88 13.7L90 12L92 10.3L94 8.7L96 7.3L98 6.1L100 5.1L102 4.4L104 4L106 4L108 4.4L110 5.1L112 6.1L114 7.3L116 8.7L118 10.3L120 12'/%3E%3Cpath d='M0 12L2 10.3L4 8.7L6 7.3L8 6.1L10 5.1L12 4.4L14 4L16 4L18 4.4L20 5.1L22 6.1L24 7.3L26 8.7L28 10.3L30 12L32 13.7L34 15.3L36 16.7L38 17.9L40 18.9L42 19.6L44 20L46 20L48 19.6L50 18.9L52 17.9L54 16.7L56 15.3L58 13.7L60 12L62 10.3L64 8.7L66 7.3L68 6.1L70 5.1L72 4.4L74 4L76 4L78 4.4L80 5.1L82 6.1L84 7.3L86 8.7L88 10.3L90 12L92 13.7L94 15.3L96 16.7L98 17.9L100 18.9L102 19.6L104 20L106 20L108 19.6L110 18.9L112 17.9L114 16.7L116 15.3L118 13.7L120 12'/%3E%3Cpath d='M0 20L2 19.8L4 19.3L6 18.5L8 17.4L10 16L12 14.5L14 12.8L16 11.2L18 9.5L20 8L22 6.6L24 5.5L26 4.7L28 4.2L30 4L32 4.2L34 4.7L36 5.5L38 6.6L40 8L42 9.5L44 11.2L46 12.8L48 14.5L50 16L52 17.4L54 18.5L56 19.3L58 19.8L60 20L62 19.8L64 19.3L66 18.5L68 17.4L70 16L72 14.5L74 12.8L76 11.2L78 9.5L80 8L82 6.6L84 5.5L86 4.7L88 4.2L90 4L92 4.2L94 4.7L96 5.5L98 6.6L100 8L102 9.5L104 11.2L106 12.8L108 14.5L110 16L112 17.4L114 18.5L116 19.3L118 19.8L120 20'/%3E%3Cpath d='M0 4L2 4.2L4 4.7L6 5.5L8 6.6L10 8L12 9.5L14 11.2L16 12.8L18 14.5L20 16L22 17.4L24 18.5L26 19.3L28 19.8L30 20L32 19.8L34 19.3L36 18.5L38 17.4L40 16L42 14.5L44 12.8L46 11.2L48 9.5L50 8L52 6.6L54 5.5L56 4.7L58 4.2L60 4L62 4.2L64 4.7L66 5.5L68 6.6L70 8L72 9.5L74 11.2L76 12.8L78 14.5L80 16L82 17.4L84 18.5L86 19.3L88 19.8L90 20L92 19.8L94 19.3L96 18.5L98 17.4L100 16L102 14.5L104 12.8L106 11.2L108 9.5L110 8L112 6.6L114 5.5L116 4.7L118 4.2L120 4'/%3E%3Cpath d='M0 12L2 13.2L4 14.4L6 15.2L8 15.8L10 16L12 15.8L14 15.2L16 14.4L18 13.2L20 12L22 10.8L24 9.6L26 8.8L28 8.2L30 8L32 8.2L34 8.8L36 9.6L38 10.8L40 12L42 13.2L44 14.4L46 15.2L48 15.8L50 16L52 15.8L54 15.2L56 14.4L58 13.2L60 12L62 10.8L64 9.6L66 8.8L68 8.2L70 8L72 8.2L74 8.8L76 9.6L78 10.8L80 12L82 13.2L84 14.4L86 15.2L88 15.8L90 16L92 15.8L94 15.2L96 14.4L98 13.2L100 12L102 10.8L104 9.6L106 8.8L108 8.2L110 8L112 8.2L114 8.8L116 9.6L118 10.8L120 12'/%3E%3Cpath d='M0 12L2 10.8L4 9.6L6 8.8L8 8.2L10 8L12 8.2L14 8.8L16 9.6L18 10.8L20 12L22 13.2L24 14.4L26 15.2L28 15.8L30 16L32 15.8L34 15.2L36 14.4L38 13.2L40 12L42 10.8L44 9.6L46 8.8L48 8.2L50 8L52 8.2L54 8.8L56 9.6L58 10.8L60 12L62 13.2L64 14.4L66 15.2L68 15.8L70 16L72 15.8L74 15.2L76 14.4L78 13.2L80 12L82 10.8L84 9.6L86 8.8L88 8.2L90 8L92 8.2L94 8.8L96 9.6L98 10.8L100 12L102 13.2L104 14.4L106 15.2L108 15.8L110 16L112 15.8L114 15.2L116 14.4L118 13.2L120 12'/%3E%3C/g%3E%3C/svg%3E");
  --guilloche-v: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='120' viewBox='0 0 24 120'%3E%3Cg fill='none' stroke='%232F5597' stroke-width='.7'%3E%3Cpath d='M12 0L13.7 2L15.3 4L16.7 6L17.9 8L18.9 10L19.6 12L20 14L20 16L19.6 18L18.9 20L17.9 22L16.7 24L15.3 26L13.7 28L12 30L10.3 32L8.7 34L7.3 36L6.1 38L5.1 40L4.4 42L4 44L4 46L4.4 48L5.1 50L6.1 52L7.3 54L8.7 56L10.3 58L12 60L13.7 62L15.3 64L16.7 66L17.9 68L18.9 70L19.6 72L20 74L20 76L19.6 78L18.9 80L17.9 82L16.7 84L15.3 86L13.7 88L12 90L10.3 92L8.7 94L7.3 96L6.1 98L5.1 100L4.4 102L4 104L4 106L4.4 108L5.1 110L6.1 112L7.3 114L8.7 116L10.3 118L12 120'/%3E%3Cpath d='M12 0L10.3 2L8.7 4L7.3 6L6.1 8L5.1 10L4.4 12L4 14L4 16L4.4 18L5.1 20L6.1 22L7.3 24L8.7 26L10.3 28L12 30L13.7 32L15.3 34L16.7 36L17.9 38L18.9 40L19.6 42L20 44L20 46L19.6 48L18.9 50L17.9 52L16.7 54L15.3 56L13.7 58L12 60L10.3 62L8.7 64L7.3 66L6.1 68L5.1 70L4.4 72L4 74L4 76L4.4 78L5.1 80L6.1 82L7.3 84L8.7 86L10.3 88L12 90L13.7 92L15.3 94L16.7 96L17.9 98L18.9 100L19.6 102L20 104L20 106L19.6 108L18.9 110L17.9 112L16.7 114L15.3 116L13.7 118L12 120'/%3E%3Cpath d='M20 0L19.8 2L19.3 4L18.5 6L17.4 8L16 10L14.5 12L12.8 14L11.2 16L9.5 18L8 20L6.6 22L5.5 24L4.7 26L4.2 28L4 30L4.2 32L4.7 34L5.5 36L6.6 38L8 40L9.5 42L11.2 44L12.8 46L14.5 48L16 50L17.4 52L18.5 54L19.3 56L19.8 58L20 60L19.8 62L19.3 64L18.5 66L17.4 68L16 70L14.5 72L12.8 74L11.2 76L9.5 78L8 80L6.6 82L5.5 84L4.7 86L4.2 88L4 90L4.2 92L4.7 94L5.5 96L6.6 98L8 100L9.5 102L11.2 104L12.8 106L14.5 108L16 110L17.4 112L18.5 114L19.3 116L19.8 118L20 120'/%3E%3Cpath d='M4 0L4.2 2L4.7 4L5.5 6L6.6 8L8 10L9.5 12L11.2 14L12.8 16L14.5 18L16 20L17.4 22L18.5 24L19.3 26L19.8 28L20 30L19.8 32L19.3 34L18.5 36L17.4 38L16 40L14.5 42L12.8 44L11.2 46L9.5 48L8 50L6.6 52L5.5 54L4.7 56L4.2 58L4 60L4.2 62L4.7 64L5.5 66L6.6 68L8 70L9.5 72L11.2 74L12.8 76L14.5 78L16 80L17.4 82L18.5 84L19.3 86L19.8 88L20 90L19.8 92L19.3 94L18.5 96L17.4 98L16 100L14.5 102L12.8 104L11.2 106L9.5 108L8 110L6.6 112L5.5 114L4.7 116L4.2 118L4 120'/%3E%3Cpath d='M12 0L13.2 2L14.4 4L15.2 6L15.8 8L16 10L15.8 12L15.2 14L14.4 16L13.2 18L12 20L10.8 22L9.6 24L8.8 26L8.2 28L8 30L8.2 32L8.8 34L9.6 36L10.8 38L12 40L13.2 42L14.4 44L15.2 46L15.8 48L16 50L15.8 52L15.2 54L14.4 56L13.2 58L12 60L10.8 62L9.6 64L8.8 66L8.2 68L8 70L8.2 72L8.8 74L9.6 76L10.8 78L12 80L13.2 82L14.4 84L15.2 86L15.8 88L16 90L15.8 92L15.2 94L14.4 96L13.2 98L12 100L10.8 102L9.6 104L8.8 106L8.2 108L8 110L8.2 112L8.8 114L9.6 116L10.8 118L12 120'/%3E%3Cpath d='M12 0L10.8 2L9.6 4L8.8 6L8.2 8L8 10L8.2 12L8.8 14L9.6 16L10.8 18L12 20L13.2 22L14.4 24L15.2 26L15.8 28L16 30L15.8 32L15.2 34L14.4 36L13.2 38L12 40L10.8 42L9.6 44L8.8 46L8.2 48L8 50L8.2 52L8.8 54L9.6 56L10.8 58L12 60L13.2 62L14.4 64L15.2 66L15.8 68L16 70L15.8 72L15.2 74L14.4 76L13.2 78L12 80L10.8 82L9.6 84L8.8 86L8.2 88L8 90L8.2 92L8.8 94L9.6 96L10.8 98L12 100L13.2 102L14.4 104L15.2 106L15.8 108L16 110L15.8 112L15.2 114L14.4 116L13.2 118L12 120'/%3E%3C/g%3E%3C/svg%3E");
  --guilloche-h-pale: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24' viewBox='0 0 120 24'%3E%3Cg fill='none' stroke='%23AFC3E3' stroke-width='.7'%3E%3Cpath d='M0 12L2 13.7L4 15.3L6 16.7L8 17.9L10 18.9L12 19.6L14 20L16 20L18 19.6L20 18.9L22 17.9L24 16.7L26 15.3L28 13.7L30 12L32 10.3L34 8.7L36 7.3L38 6.1L40 5.1L42 4.4L44 4L46 4L48 4.4L50 5.1L52 6.1L54 7.3L56 8.7L58 10.3L60 12L62 13.7L64 15.3L66 16.7L68 17.9L70 18.9L72 19.6L74 20L76 20L78 19.6L80 18.9L82 17.9L84 16.7L86 15.3L88 13.7L90 12L92 10.3L94 8.7L96 7.3L98 6.1L100 5.1L102 4.4L104 4L106 4L108 4.4L110 5.1L112 6.1L114 7.3L116 8.7L118 10.3L120 12'/%3E%3Cpath d='M0 12L2 10.3L4 8.7L6 7.3L8 6.1L10 5.1L12 4.4L14 4L16 4L18 4.4L20 5.1L22 6.1L24 7.3L26 8.7L28 10.3L30 12L32 13.7L34 15.3L36 16.7L38 17.9L40 18.9L42 19.6L44 20L46 20L48 19.6L50 18.9L52 17.9L54 16.7L56 15.3L58 13.7L60 12L62 10.3L64 8.7L66 7.3L68 6.1L70 5.1L72 4.4L74 4L76 4L78 4.4L80 5.1L82 6.1L84 7.3L86 8.7L88 10.3L90 12L92 13.7L94 15.3L96 16.7L98 17.9L100 18.9L102 19.6L104 20L106 20L108 19.6L110 18.9L112 17.9L114 16.7L116 15.3L118 13.7L120 12'/%3E%3Cpath d='M0 20L2 19.8L4 19.3L6 18.5L8 17.4L10 16L12 14.5L14 12.8L16 11.2L18 9.5L20 8L22 6.6L24 5.5L26 4.7L28 4.2L30 4L32 4.2L34 4.7L36 5.5L38 6.6L40 8L42 9.5L44 11.2L46 12.8L48 14.5L50 16L52 17.4L54 18.5L56 19.3L58 19.8L60 20L62 19.8L64 19.3L66 18.5L68 17.4L70 16L72 14.5L74 12.8L76 11.2L78 9.5L80 8L82 6.6L84 5.5L86 4.7L88 4.2L90 4L92 4.2L94 4.7L96 5.5L98 6.6L100 8L102 9.5L104 11.2L106 12.8L108 14.5L110 16L112 17.4L114 18.5L116 19.3L118 19.8L120 20'/%3E%3Cpath d='M0 4L2 4.2L4 4.7L6 5.5L8 6.6L10 8L12 9.5L14 11.2L16 12.8L18 14.5L20 16L22 17.4L24 18.5L26 19.3L28 19.8L30 20L32 19.8L34 19.3L36 18.5L38 17.4L40 16L42 14.5L44 12.8L46 11.2L48 9.5L50 8L52 6.6L54 5.5L56 4.7L58 4.2L60 4L62 4.2L64 4.7L66 5.5L68 6.6L70 8L72 9.5L74 11.2L76 12.8L78 14.5L80 16L82 17.4L84 18.5L86 19.3L88 19.8L90 20L92 19.8L94 19.3L96 18.5L98 17.4L100 16L102 14.5L104 12.8L106 11.2L108 9.5L110 8L112 6.6L114 5.5L116 4.7L118 4.2L120 4'/%3E%3Cpath d='M0 12L2 13.2L4 14.4L6 15.2L8 15.8L10 16L12 15.8L14 15.2L16 14.4L18 13.2L20 12L22 10.8L24 9.6L26 8.8L28 8.2L30 8L32 8.2L34 8.8L36 9.6L38 10.8L40 12L42 13.2L44 14.4L46 15.2L48 15.8L50 16L52 15.8L54 15.2L56 14.4L58 13.2L60 12L62 10.8L64 9.6L66 8.8L68 8.2L70 8L72 8.2L74 8.8L76 9.6L78 10.8L80 12L82 13.2L84 14.4L86 15.2L88 15.8L90 16L92 15.8L94 15.2L96 14.4L98 13.2L100 12L102 10.8L104 9.6L106 8.8L108 8.2L110 8L112 8.2L114 8.8L116 9.6L118 10.8L120 12'/%3E%3Cpath d='M0 12L2 10.8L4 9.6L6 8.8L8 8.2L10 8L12 8.2L14 8.8L16 9.6L18 10.8L20 12L22 13.2L24 14.4L26 15.2L28 15.8L30 16L32 15.8L34 15.2L36 14.4L38 13.2L40 12L42 10.8L44 9.6L46 8.8L48 8.2L50 8L52 8.2L54 8.8L56 9.6L58 10.8L60 12L62 13.2L64 14.4L66 15.2L68 15.8L70 16L72 15.8L74 15.2L76 14.4L78 13.2L80 12L82 10.8L84 9.6L86 8.8L88 8.2L90 8L92 8.2L94 8.8L96 9.6L98 10.8L100 12L102 13.2L104 14.4L106 15.2L108 15.8L110 16L112 15.8L114 15.2L116 14.4L118 13.2L120 12'/%3E%3C/g%3E%3C/svg%3E");
  --rosette: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='1' stroke-width='.8'%3E%3Cpath d='M350 200L373 209L383 219L375 228L354 233L328 234L312 236L311 243L324 255L343 273L355 290L354 300L338 300L314 292L293 283L282 282L283 293L292 314L300 338L300 354L290 355L273 343L255 324L243 311L236 312L234 328L233 354L228 375L219 383L209 373L200 350L193 327L188 316L181 321L170 340L157 361L144 373L135 369L133 350L137 324L140 304L136 298L124 305L103 319L83 330L70 330L70 317L81 297L95 276L102 264L96 260L76 263L50 267L31 265L27 256L39 243L60 230L79 219L84 212L73 207L50 200L27 191L17 181L25 172L46 167L72 166L88 164L89 157L76 145L57 127L45 110L46 100L62 100L86 108L107 117L118 118L117 107L108 86L100 62L100 46L110 45L127 57L145 76L157 89L164 88L166 72L167 46L172 25L181 17L191 27L200 50L207 73L212 84L219 79L230 60L243 39L256 27L265 31L267 50L263 76L260 96L264 102L276 95L297 81L317 70L330 70L330 83L319 103L305 124L298 136L304 140L324 137L350 133L369 135L373 144L361 157L340 170L321 181L316 188L327 193L350 200Z'/%3E%3Cpath d='M367 200L382 210L380 219L362 226L336 229L316 231L311 236L321 247L340 262L356 280L359 292L347 295L324 290L301 282L287 278L285 285L293 304L303 327L306 346L299 353L284 345L265 327L250 312L242 308L239 321L239 345L236 369L229 382L219 377L208 357L200 333L194 318L188 318L179 334L167 357L154 373L143 374L139 359L140 334L143 311L142 300L132 305L114 318L93 332L77 336L73 327L81 307L94 286L104 270L101 264L85 267L60 271L38 272L28 266L36 253L55 239L76 226L85 218L78 213L57 207L33 200L18 190L20 181L38 174L64 171L84 169L89 164L79 153L60 138L44 120L41 108L53 105L76 110L99 118L113 122L115 115L107 96L97 73L94 54L101 47L116 55L135 73L150 88L158 92L161 79L161 55L164 31L171 18L181 23L192 43L200 67L206 82L212 82L221 66L233 43L246 27L257 26L261 41L260 66L257 89L258 100L268 95L286 82L307 68L323 64L327 73L319 93L306 114L296 130L299 136L315 134L340 129L362 128L372 134L364 147L345 161L324 174L315 182L322 187L343 193L367 200Z'/%3E%3Cpath d='M379 200L383 210L369 218L345 223L322 226L312 230L319 239L337 252L355 269L363 283L355 290L335 287L310 280L292 275L287 279L294 294L305 317L312 338L308 349L294 345L275 330L258 313L247 306L244 314L244 336L243 361L238 378L228 379L217 363L207 339L200 321L194 317L186 329L176 352L164 371L152 378L146 367L145 343L147 319L147 304L140 304L124 317L104 333L86 341L78 336L82 318L94 296L105 277L106 268L93 269L70 275L46 278L32 275L34 264L51 249L72 234L85 224L83 219L65 214L40 208L21 200L17 190L31 182L55 177L78 174L88 170L81 161L63 148L45 131L37 117L45 110L65 113L90 120L108 125L113 121L106 106L95 83L88 62L92 51L106 55L125 70L142 87L153 94L156 86L156 64L157 39L162 22L172 21L183 37L193 61L200 79L206 83L214 71L224 48L236 29L248 22L254 33L255 57L253 81L253 96L260 96L276 83L296 67L314 59L322 64L318 82L306 104L295 123L294 132L307 131L330 125L354 122L368 125L366 136L349 151L328 166L315 176L317 181L335 186L360 192L379 200Z'/%3E%3Cpath d='M384 200L375 209L353 216L328 220L314 224L316 231L333 243L353 259L365 274L362 283L345 284L320 278L299 272L290 273L295 285L306 306L316 328L316 343L304 344L286 332L267 315L253 305L248 309L249 327L250 353L246 373L238 379L227 368L215 346L207 325L200 316L193 325L185 346L173 368L162 379L154 373L150 353L151 327L152 309L147 305L134 315L114 332L96 344L84 343L84 328L94 306L105 285L110 273L101 272L80 278L55 284L38 283L35 274L47 259L67 243L84 231L86 224L72 220L47 216L25 209L16 200L25 191L47 184L72 180L86 176L84 169L67 157L47 141L35 126L38 117L55 117L80 122L101 128L110 127L105 115L94 94L84 72L84 57L96 56L114 68L133 85L147 95L152 91L151 73L150 47L154 27L162 21L173 32L185 54L193 75L200 84L207 75L215 54L227 32L238 21L246 27L250 47L249 73L248 91L253 95L266 85L286 68L304 56L316 57L316 72L306 94L295 115L290 127L299 128L320 122L345 117L362 117L365 126L353 141L333 157L316 169L314 176L328 180L353 184L375 191L384 200Z'/%3E%3Cpath d='M379 200L360 208L335 214L317 219L315 224L328 234L349 249L366 264L368 275L354 278L330 275L307 269L294 268L295 277L306 296L318 318L322 336L314 341L296 333L276 317L260 304L253 304L253 319L255 343L254 367L248 378L236 371L224 352L214 329L206 317L200 321L193 339L183 363L172 379L162 378L157 361L156 336L156 314L153 306L142 313L125 330L106 345L92 349L88 338L95 317L106 294L113 279L108 275L90 280L65 287L45 290L37 283L45 269L63 252L81 239L88 230L78 226L55 223L31 218L17 210L21 200L40 192L65 186L83 181L85 176L72 166L51 151L34 136L32 125L46 122L70 125L93 131L106 132L105 123L94 104L82 82L78 64L86 59L104 67L124 83L140 96L147 96L147 81L145 57L146 33L152 22L164 29L176 48L186 71L194 83L200 79L207 61L217 37L228 21L238 22L243 39L244 64L244 86L247 94L258 87L275 70L294 55L308 51L312 62L305 83L294 106L287 121L292 125L310 120L335 113L355 110L363 117L355 131L337 148L319 161L312 170L322 174L345 177L369 182L383 190L379 200Z'/%3E%3Cpath d='M367 200L343 207L322 213L315 218L324 226L345 239L364 253L372 266L362 272L340 271L315 267L299 264L296 270L306 286L319 307L327 327L323 336L307 332L286 318L268 305L258 300L257 311L260 334L261 359L257 374L246 373L233 357L221 334L212 318L206 318L200 333L192 357L181 377L171 382L164 369L161 345L161 321L158 308L150 312L135 327L117 345L101 353L94 346L97 327L107 304L115 285L113 278L99 282L76 290L53 295L41 292L44 280L60 262L79 247L89 236L84 231L64 229L38 226L20 219L18 210L33 200L57 193L78 187L85 182L76 174L55 161L36 147L28 134L38 128L60 129L85 134L101 136L104 130L94 114L81 93L73 73L77 64L93 68L114 82L132 95L142 100L143 89L140 66L139 41L143 26L154 27L167 43L179 66L188 82L194 82L200 67L208 43L219 23L229 18L236 31L239 55L239 79L242 92L250 88L265 73L284 55L299 47L306 54L303 73L293 96L285 115L287 122L301 118L324 110L347 105L359 108L356 120L340 138L321 153L311 164L316 169L336 171L362 174L380 181L382 190L367 200Z'/%3E%3Cpath d='M296 200L307 206L314 212L317 218L313 224L303 228L291 230L279 230L270 231L266 234L267 238L271 246L278 256L283 267L286 277L283 283L277 286L267 283L256 278L246 271L238 267L234 266L231 270L230 279L230 291L228 303L224 313L218 317L212 314L206 307L200 296L196 285L192 277L188 273L184 275L178 282L170 291L162 300L153 305L146 305L142 300L142 290L144 278L147 266L149 257L148 252L143 251L134 253L122 256L110 258L100 258L95 254L95 247L100 238L109 230L118 222L125 216L127 212L123 208L115 204L104 200L93 194L86 188L83 182L87 176L97 172L109 170L121 170L130 169L134 166L133 162L129 154L122 144L117 133L114 123L117 117L123 114L133 117L144 122L154 129L162 133L166 134L169 130L170 121L170 109L172 97L176 87L182 83L188 86L194 93L200 104L204 115L208 123L212 127L216 125L222 118L230 109L238 100L247 95L254 95L258 100L258 110L256 122L253 134L251 143L252 148L257 149L266 147L278 144L290 142L300 142L305 146L305 153L300 162L291 170L282 178L275 184L273 188L277 192L285 196L296 200Z'/%3E%3Cpath d='M309 200L316 206L317 212L312 218L303 222L291 224L279 226L271 227L268 230L270 236L275 244L282 254L288 264L290 273L288 279L280 280L270 278L259 273L249 267L241 264L237 264L236 270L235 280L235 292L234 304L230 312L225 315L218 312L211 304L205 294L200 283L196 276L192 274L188 277L182 285L175 295L166 304L158 308L152 308L148 301L148 291L149 279L151 267L152 259L150 255L145 255L135 258L124 262L112 264L103 263L98 259L99 252L104 243L113 234L121 226L127 220L127 215L123 212L113 209L102 205L91 200L84 194L83 188L88 182L97 178L109 176L121 174L129 173L132 170L130 164L125 156L118 146L112 136L110 127L112 121L120 120L130 122L141 127L151 133L159 136L163 136L164 130L165 120L165 108L166 96L170 88L175 85L182 88L189 96L195 106L200 117L204 124L208 126L212 123L218 115L225 105L234 96L242 92L248 92L252 99L252 109L251 121L249 133L248 141L250 145L255 145L265 142L276 138L288 136L297 137L302 141L301 148L296 157L287 166L279 174L273 180L273 185L277 188L287 191L298 195L309 200Z'/%3E%3Cpath d='M317 200L317 206L312 212L302 216L289 219L279 221L271 223L270 227L273 232L279 240L287 250L293 260L295 269L291 274L283 275L273 273L261 268L251 263L244 261L241 262L240 269L240 279L241 292L240 303L236 311L230 314L223 310L216 302L210 291L204 281L200 275L196 274L192 279L186 288L179 298L171 307L164 311L158 310L154 303L153 292L154 279L156 268L156 261L153 258L147 259L137 263L125 267L114 270L105 269L101 264L103 256L108 247L116 237L124 229L129 223L128 219L122 217L112 214L100 211L89 206L83 200L83 194L88 188L98 184L111 181L121 179L129 177L130 173L127 168L121 160L113 150L107 140L105 131L109 126L117 125L127 127L139 132L149 137L156 139L159 138L160 131L160 121L159 108L160 97L164 89L170 86L177 90L184 98L190 109L196 119L200 125L204 126L208 121L214 112L221 102L229 93L236 89L242 90L246 97L247 108L246 121L244 132L244 139L247 142L253 141L263 137L275 133L286 130L295 131L299 136L297 144L292 153L284 163L276 171L271 177L272 181L278 183L288 186L300 189L311 194L317 200Z'/%3E%3Cpath d='M317 200L311 206L300 211L288 214L278 217L272 219L271 223L276 229L284 237L292 247L297 256L299 264L295 269L286 270L275 267L263 263L253 259L247 258L244 261L244 268L246 279L247 292L246 303L242 310L236 311L229 307L221 298L214 288L208 279L204 274L200 275L196 281L190 291L184 302L177 310L170 314L164 311L160 303L159 292L160 279L160 269L159 262L156 261L149 263L139 268L127 273L117 275L109 274L105 269L107 260L113 250L121 240L127 232L130 227L129 223L121 221L111 219L98 216L88 212L83 206L83 200L89 194L100 189L112 186L122 183L128 181L129 177L124 171L116 163L108 153L103 144L101 136L105 131L114 130L125 133L137 137L147 141L153 142L156 139L156 132L154 121L153 108L154 97L158 90L164 89L171 93L179 102L186 112L192 121L196 126L200 125L204 119L210 109L216 98L223 90L230 86L236 89L240 97L241 108L240 121L240 131L241 138L244 139L251 137L261 132L273 127L283 125L291 126L295 131L293 140L287 150L279 160L273 168L270 173L271 177L279 179L289 181L302 184L312 188L317 194L317 200Z'/%3E%3Cpath d='M309 200L298 205L287 209L277 212L273 215L273 220L279 226L287 234L296 243L301 252L302 259L297 263L288 264L276 262L265 258L255 255L250 255L248 259L249 267L251 279L252 291L252 301L248 308L242 308L234 304L225 295L218 285L212 277L208 274L204 276L200 283L195 294L189 304L182 312L175 315L170 312L166 304L165 292L165 280L164 270L163 264L159 264L151 267L141 273L130 278L120 280L112 279L110 273L112 264L118 254L125 244L130 236L132 230L129 227L121 226L109 224L97 222L88 218L83 212L84 206L91 200L102 195L113 191L123 188L127 185L127 180L121 174L113 166L104 157L99 148L98 141L103 137L112 136L124 138L135 142L145 145L150 145L152 141L151 133L149 121L148 109L148 99L152 92L158 92L166 96L175 105L182 115L188 123L192 126L196 124L200 117L205 106L211 96L218 88L225 85L230 88L234 96L235 108L235 120L236 130L237 136L241 136L249 133L259 127L270 122L280 120L288 121L290 127L288 136L282 146L275 156L270 164L268 170L271 173L279 174L291 176L303 178L312 182L317 188L316 194L309 200Z'/%3E%3Cpath d='M252 200L257 203L261 206L263 210L263 213L260 216L256 218L251 220L245 220L240 220L236 221L234 222L233 224L233 227L235 232L237 237L238 242L238 247L237 251L235 254L231 254L227 253L222 250L218 246L214 243L211 240L208 239L206 240L205 243L202 247L200 252L197 257L194 261L190 263L187 263L184 260L182 256L180 251L180 245L180 240L179 236L178 234L176 233L173 233L168 235L163 237L158 238L153 238L149 237L146 235L146 231L147 227L150 222L154 218L157 214L160 211L161 208L160 206L157 205L153 202L148 200L143 197L139 194L137 190L137 187L140 184L144 182L149 180L155 180L160 180L164 179L166 178L167 176L167 173L165 168L163 163L162 158L162 153L163 149L165 146L169 146L173 147L178 150L182 154L186 157L189 160L192 161L194 160L195 157L198 153L200 148L203 143L206 139L210 137L213 137L216 140L218 144L220 149L220 155L220 160L221 164L222 166L224 167L227 167L232 165L237 163L242 162L247 162L251 163L254 165L254 169L253 173L250 178L246 182L243 186L240 189L239 192L240 194L243 195L247 198L252 200Z'/%3E%3Cpath d='M260 200L263 203L264 207L262 210L258 212L253 214L248 215L242 216L238 217L236 218L235 220L236 223L238 227L240 232L242 238L243 243L242 247L240 250L237 251L232 250L228 248L223 245L218 242L215 239L212 238L210 239L209 242L207 246L205 251L203 256L200 260L197 263L193 264L190 262L188 258L186 253L185 248L184 242L183 238L182 236L180 235L177 236L173 238L168 240L162 242L157 243L153 242L150 240L149 237L150 232L152 228L155 223L158 218L161 215L162 212L161 210L158 209L154 207L149 205L144 203L140 200L137 197L136 193L138 190L142 188L147 186L152 185L158 184L162 183L164 182L165 180L164 177L162 173L160 168L158 162L157 157L158 153L160 150L163 149L168 150L172 152L177 155L182 158L185 161L188 162L190 161L191 158L193 154L195 149L197 144L200 140L203 137L207 136L210 138L212 142L214 147L215 152L216 158L217 162L218 164L220 165L223 164L227 162L232 160L238 158L243 157L247 158L250 160L251 163L250 168L248 172L245 177L242 182L239 185L238 188L239 190L242 191L246 193L251 195L256 197L260 200Z'/%3E%3Cpath d='M264 200L263 203L260 206L255 209L250 211L244 212L240 213L238 214L237 216L238 219L240 223L243 228L245 233L247 238L247 242L245 245L242 247L238 247L233 245L228 243L223 240L219 238L216 237L214 238L213 240L212 244L211 250L209 255L206 260L203 263L200 264L197 263L194 260L191 255L189 250L188 244L187 240L186 238L184 237L181 238L177 240L172 243L167 245L162 247L158 247L155 245L153 242L153 238L155 233L157 228L160 223L162 219L163 216L162 214L160 213L156 212L150 211L145 209L140 206L137 203L136 200L137 197L140 194L145 191L150 189L156 188L160 187L162 186L163 184L162 181L160 177L157 172L155 167L153 162L153 158L155 155L158 153L162 153L167 155L172 157L177 160L181 162L184 163L186 162L187 160L188 156L189 150L191 145L194 140L197 137L200 136L203 137L206 140L209 145L211 150L212 156L213 160L214 162L216 163L219 162L223 160L228 157L233 155L238 153L242 153L245 155L247 158L247 162L245 167L243 172L240 177L238 181L237 184L238 186L240 187L244 188L250 189L255 191L260 194L263 197L264 200Z'/%3E%3Cpath d='M260 200L256 203L251 205L246 207L242 209L239 210L238 212L239 215L242 218L245 223L248 228L250 232L251 237L250 240L247 242L243 243L238 242L232 240L227 238L223 236L220 235L218 236L217 238L216 242L215 248L214 253L212 258L210 262L207 264L203 263L200 260L197 256L195 251L193 246L191 242L190 239L188 238L185 239L182 242L177 245L172 248L168 250L163 251L160 250L158 247L157 243L158 238L160 232L162 227L164 223L165 220L164 218L162 217L158 216L152 215L147 214L142 212L138 210L136 207L137 203L140 200L144 197L149 195L154 193L158 191L161 190L162 188L161 185L158 182L155 177L152 172L150 168L149 163L150 160L153 158L157 157L162 158L168 160L173 162L177 164L180 165L182 164L183 162L184 158L185 152L186 147L188 142L190 138L193 136L197 137L200 140L203 144L205 149L207 154L209 158L210 161L212 162L215 161L218 158L223 155L228 152L232 150L237 149L240 150L242 153L243 157L242 162L240 168L238 173L236 177L235 180L236 182L238 183L242 184L248 185L253 186L258 188L262 190L264 193L263 197L260 200Z'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); scrollbar-color: var(--blue) var(--tint); scrollbar-width: thin; }
body { margin: 0; font-family: var(--body); font-size: 1.125rem; line-height: 1.6; color: var(--ink); background: var(--paper); caret-color: var(--red); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
::selection { background: var(--navy); color: #fff; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--tint); }
::-webkit-scrollbar-thumb { background: var(--blue); border: 3px solid var(--tint); border-radius: 8px; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: 0.22em; transition: color var(--t) var(--ease), text-decoration-color var(--t) var(--ease); }
a:hover { color: var(--navy); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 2px; }
.on-navy :focus-visible, .site-footer :focus-visible { outline-color: #fff; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; }
strong { font-weight: 700; }
.skip-link { position: absolute; left: 1rem; top: -4rem; z-index: 200; background: var(--navy); color: #fff; padding: 0.75rem 1rem; font-family: var(--display); font-weight: 700; text-decoration: none; transition: top var(--t) var(--ease); }
.skip-link:focus { top: 1rem; color: #fff; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Type ---------- */
h1, h2, h3, h4 { font-family: var(--display); font-stretch: 112%; font-weight: 800; line-height: 1.06; letter-spacing: -0.012em; color: var(--navy); margin: 0 0 0.5em; text-wrap: balance; }
h1 { font-size: clamp(2.15rem, 4.3vw, 3.6rem); }
h2 { font-size: clamp(1.85rem, 3.4vw, 2.75rem); }
h3 { font-size: 1.3rem; line-height: 1.15; }
.lede { font-size: clamp(1.15rem, 1.6vw, 1.3rem); line-height: 1.55; max-width: 62ch; }
.small, small { font-size: 0.9375rem; }
.label { font-family: var(--display); font-stretch: 112%; font-weight: 650; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.875rem; line-height: 1.3; }
.num { font-family: var(--display); font-stretch: 125%; font-weight: 900; font-variant-numeric: tabular-nums lining-nums; letter-spacing: -0.02em; }
.measure { max-width: 68ch; }
.on-navy { color: #fff; }
.on-navy h1, .on-navy h2, .on-navy h3 { color: #fff; }
.on-navy a:not(.btn) { color: #fff; }
.on-navy .muted { color: var(--pale); }
.muted { color: var(--slate); }

/* ---------- Layout ---------- */
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: var(--section) 0; position: relative; }
.bg-paper { background: var(--paper); }
.bg-tint { background: var(--tint); }
.bg-navy { background: var(--navy); color: #fff; }
.section-head { max-width: 760px; margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.section-head p { color: var(--slate); font-size: 1.15rem; }
.on-navy .section-head p { color: var(--pale); }
.rule-guilloche { height: 24px; background: var(--guilloche-h) repeat-x center / auto 24px; opacity: 0.55; }
.on-navy .rule-guilloche, .rule-guilloche--pale { background-image: var(--guilloche-h-pale); opacity: 0.4; }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: 52px; padding: 0.8rem 1.4rem; border: 2px solid transparent; border-radius: var(--radius); font-family: var(--display); font-stretch: 112%; font-weight: 700; font-size: 0.9375rem; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; line-height: 1.15; cursor: pointer; transition: background-color var(--t) var(--ease), color var(--t) var(--ease), border-color var(--t) var(--ease), transform var(--t) var(--ease); }
.btn svg { width: 20px; height: 20px; flex: none; }
.btn > span { white-space: nowrap; }
.btn:hover { transform: translateY(-2px); text-decoration: none; }
.btn:active { transform: translateY(0); }
.btn--call { background: var(--red); border-color: var(--red); color: #fff; }
.btn--call:hover, .btn--call:active { background: var(--red-press); border-color: var(--red-press); color: #fff; }
.on-navy .btn--call, .btn--call.btn--ring { border-color: #fff; }
.on-navy .btn--call:hover { border-color: #fff; }
.btn--call .btn-num { font-stretch: 112%; font-weight: 800; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; text-transform: none; font-size: 1.12em; }
.btn--big { min-height: 64px; padding: 1rem 1.8rem; font-size: 1rem; }
.btn--line { background: transparent; border-color: var(--navy); color: var(--navy); }
.btn--line:hover { background: var(--navy); color: #fff; }
.on-navy .btn--line { border-color: #fff; color: #fff; }
.on-navy .btn--line:hover { background: #fff; color: var(--navy); }
.link-arrow { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--display); font-stretch: 112%; font-weight: 700; text-decoration: none; color: var(--blue); }
.link-arrow svg { width: 18px; height: 18px; transition: transform var(--t) var(--ease); }
.link-arrow:hover { color: var(--navy); }
.link-arrow:hover svg { transform: translateX(4px); }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 100; background: var(--paper); border-bottom: 1px solid var(--rule); }
.site-header .wrap { display: flex; align-items: center; gap: 1.5rem; min-height: var(--header-h); }
.brand { display: block; flex: none; line-height: 0; transition: opacity var(--t) var(--ease); }
.brand:hover { opacity: 0.85; }
.brand img { height: 56px; width: auto; }
.site-nav { margin-left: auto; }
.site-nav ul { list-style: none; display: flex; gap: 0.25rem; }
.site-nav a { display: block; padding: 0.6rem 0.8rem; font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 0.875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--navy); text-decoration: none; white-space: nowrap; position: relative; transition: color var(--t) var(--ease); }
.site-nav a::after { content: ""; position: absolute; left: 0.8rem; right: 0.8rem; bottom: 4px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left center; transition: transform var(--t) var(--ease); }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--navy); }
.header-call { display: flex; flex-direction: column; align-items: flex-end; text-decoration: none; color: var(--navy); line-height: 1.1; padding: 0.35rem 0 0.35rem 1.25rem; border-left: 1px solid var(--rule); }
.header-call .hc-num { font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.125rem; font-variant-numeric: tabular-nums; transition: color var(--t) var(--ease); }
.header-call .hc-note { font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--slate); margin-top: 0.2rem; }
.header-call:hover { color: var(--red); }
.header-call:hover .hc-num { color: var(--red); }
.nav-toggle { display: none; margin-left: auto; width: 48px; height: 48px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--paper); color: var(--navy); cursor: pointer; align-items: center; justify-content: center; transition: background-color var(--t) var(--ease), border-color var(--t) var(--ease); }
.nav-toggle:hover { background: var(--tint); border-color: var(--navy); }
.nav-toggle svg { width: 24px; height: 24px; }
.nav-toggle .i-close { display: none; }
.nav-open .nav-toggle .i-close { display: block; }
.nav-open .nav-toggle .i-menu { display: none; }

/* ---------- Call bar (phones) ---------- */
.call-bar { display: none; }

/* ---------- Footer ---------- */
.site-footer { background: var(--navy); color: #fff; padding: clamp(3.5rem, 6vw, 5rem) 0 2rem; position: relative; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 24px; background: var(--guilloche-h-pale) repeat-x center / auto 24px; opacity: 0.35; }
.footer-grid > * { min-width: 0; }
.footer-nap a { overflow-wrap: anywhere; }
.footer-grid { display: grid; grid-template-columns: 1.15fr 0.7fr 0.7fr 1.35fr; gap: clamp(2rem, 4vw, 3.5rem); }
.footer-brand img { height: 64px; width: auto; margin-bottom: 1.25rem; }
.footer-nap { font-style: normal; color: var(--pale); line-height: 1.7; }
.footer-nap strong { color: #fff; display: block; font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.05rem; margin-bottom: 0.2rem; }
.footer-phone { display: inline-block; margin-top: 0.6rem; font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.45rem; color: #fff; text-decoration: none; font-variant-numeric: tabular-nums; }
.site-footer a { color: #fff; text-decoration-color: rgba(175, 195, 227, 0.5); }
.site-footer a:hover { color: #fff; text-decoration-color: #fff; }
.footer-phone:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.footer-col h2 { font-size: 0.875rem; font-weight: 650; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pale); margin-bottom: 1rem; }
.footer-col ul { list-style: none; display: grid; gap: 0.55rem; }
.footer-col a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.25em; }
.footer-col a:hover { text-decoration-color: #fff; }
.footer-map iframe { display: block; width: 100%; aspect-ratio: 4 / 3; border: 1px solid rgba(175, 195, 227, 0.45); border-radius: var(--radius); filter: saturate(0.85); }
.footer-map p { color: var(--pale); font-size: 0.9375rem; margin: 0.6rem 0 0; }
.footer-base { margin-top: clamp(2.5rem, 5vw, 3.5rem); padding-top: 1.25rem; border-top: 1px solid rgba(175, 195, 227, 0.25); display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; justify-content: space-between; color: var(--pale); font-size: 0.9375rem; }
.footer-base ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; }

/* ---------- Hero: the certificate on a navy field ---------- */
.hero { position: relative; overflow: hidden; background: var(--navy); color: #fff; padding: clamp(3rem, 6vw, 5.25rem) 0 0; }
.hero::before { content: ""; position: absolute; width: min(980px, 120vw); aspect-ratio: 1; right: -18%; top: 50%; transform: translateY(-52%); background: var(--pale); opacity: 0.13; -webkit-mask: var(--rosette) center / contain no-repeat; mask: var(--rosette) center / contain no-repeat; pointer-events: none; animation: rosette-turn 140s linear infinite; }
@keyframes rosette-turn { to { transform: translateY(-52%) rotate(360deg); } }
.hero .wrap { position: relative; }
.hero-grid > * { min-width: 0; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.hero h1 { color: #fff; margin-bottom: 0.55em; max-width: 15.5em; }
.hero-promise { font-size: clamp(1.15rem, 1.55vw, 1.3rem); line-height: 1.55; color: #fff; max-width: 34em; margin-bottom: 0.7em; }
.hero-promise + p { color: var(--pale); max-width: 34em; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.75rem; }
.hero-note { display: flex; align-items: center; gap: 0.55rem; color: #fff; font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 0.9375rem; letter-spacing: 0.06em; text-transform: uppercase; }
.hero-note svg { width: 20px; height: 20px; color: var(--pale); }
.hero-sub { display: inline-block; margin-top: 1.1rem; color: var(--pale); }
.hero-sub:hover { color: #fff; }
.trust-row { margin-top: clamp(2.75rem, 5vw, 4rem); border-top: 1px solid rgba(175, 195, 227, 0.28); }
.trust-row ul { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-row li { padding: 1.1rem 1rem 1.25rem 0; color: var(--pale); font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 0.8125rem; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.35; }
.trust-row li + li { padding-left: 1.25rem; border-left: 1px solid rgba(175, 195, 227, 0.28); }
.trust-row li { text-transform: none; letter-spacing: 0; font-family: var(--body); font-stretch: 100%; font-weight: 400; font-size: 0.9375rem; }
.trust-row strong { display: block; font-family: var(--display); font-stretch: 112%; text-transform: uppercase; color: #fff; font-size: 0.9375rem; font-weight: 750; letter-spacing: 0.05em; margin-bottom: 0.15rem; }

/* The certificate card (hero, closing call) */
.cert { position: relative; background: var(--paper); color: var(--ink); padding: 30px; border-radius: 2px; }
.cert::before { content: ""; position: absolute; inset: 10px; border: 1px solid var(--blue); background: var(--guilloche-h) repeat-x top left / auto 18px, var(--guilloche-h) repeat-x bottom left / auto 18px, var(--guilloche-v) repeat-y top left / 18px auto, var(--guilloche-v) repeat-y top right / 18px auto; opacity: 0.75; pointer-events: none; }
.cert::after { content: ""; position: absolute; inset: 31px; border: 1px solid var(--rule); pointer-events: none; }
.cert-body { position: relative; padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.35rem, 3vw, 2.25rem) clamp(1.75rem, 3vw, 2.25rem); }
.cert-body::before { content: ""; position: absolute; width: 78%; aspect-ratio: 1; right: -6%; top: 2%; background: var(--blue); opacity: 0.09; -webkit-mask: var(--rosette) center / contain no-repeat; mask: var(--rosette) center / contain no-repeat; pointer-events: none; }
.cert-title { position: relative; color: var(--blue); margin: 0 0 0.75rem; }
.cert-figure { position: relative; display: flex; align-items: flex-end; gap: 0.9rem; margin-bottom: 0.4rem; }
.cert-figure .num { font-size: clamp(5.5rem, 9vw, 8.25rem); line-height: 0.82; color: var(--navy); }
.cert-figure .cert-unit { padding-bottom: 0.35rem; }
.cert-figure .cert-unit .label { display: block; font-size: 1.05rem; color: var(--navy); font-weight: 800; letter-spacing: 0.1em; }
.cert-figure .cert-unit span:last-child { display: block; color: var(--slate); font-size: 0.9375rem; line-height: 1.35; max-width: 15em; margin-top: 0.2rem; }
.cert-lines { position: relative; list-style: none; margin: 1.15rem 0 1.25rem; border-top: 1px solid var(--rule); }
.cert-lines li { display: flex; gap: 0.7rem; align-items: baseline; padding: 0.7rem 0; border-bottom: 1px solid var(--rule); font-size: 1rem; line-height: 1.4; color: var(--ink); }
.cert-lines li::before { content: ""; flex: none; width: 9px; height: 9px; transform: translateY(-1px) rotate(45deg); border: 2px solid var(--blue); }
.cert-sign { position: relative; padding-top: 0.2rem; color: var(--slate); font-size: 0.9375rem; padding-right: 7.5rem; }
.cert-sign strong { display: block; color: var(--navy); font-family: var(--display); font-stretch: 112%; font-size: 1.05rem; }

/* The seal: the one red mark, stamped once on load */
.seal { position: absolute; width: 168px; height: 168px; right: -26px; bottom: -34px; transform: rotate(-9deg); z-index: 2; }
.seal .seal-svg { width: 100%; height: 100%; }
.seal::after { content: ""; position: absolute; inset: 4%; border-radius: 50%; border: 3px solid var(--red); opacity: 0; pointer-events: none; }
.seal--stamp { animation: seal-stamp 820ms var(--ease) 520ms both; }
.seal--stamp::after { animation: seal-ink 700ms var(--ease) 900ms both; }
.cert--pressed { animation: cert-press 260ms var(--ease-in-out) 860ms both; }
@keyframes seal-stamp {
  0% { opacity: 0; transform: translate(-14px, -22px) scale(1.75) rotate(-28deg); }
  45% { opacity: 1; transform: translate(0, 0) scale(0.9) rotate(-7deg); }
  64% { transform: scale(1.04) rotate(-10deg); }
  100% { opacity: 1; transform: scale(1) rotate(-9deg); }
}
@keyframes seal-ink { 0% { opacity: 0.55; transform: scale(0.96); } 100% { opacity: 0; transform: scale(1.45); } }
@keyframes cert-press { 0% { transform: translateY(0); } 40% { transform: translateY(3px) rotate(0.25deg); } 100% { transform: translateY(0); } }
.hero-cert { position: relative; margin-bottom: clamp(1rem, 2vw, 1.5rem); }

/* ---------- Services: grouped schedule of links ---------- */
.svc-groups { border-top: 2px solid var(--navy); }
.svc-group { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 4rem); padding: clamp(2rem, 4vw, 3rem) 0; border-bottom: 1px solid var(--rule); }
.svc-group:last-child { border-bottom: 2px solid var(--navy); }
.svc-group-head { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-content: start; }
.svc-group-head .svc-icon { width: 44px; height: 44px; color: var(--blue); grid-row: span 2; margin-top: 0.1rem; }
.svc-group-head h3 { font-size: clamp(1.35rem, 2.1vw, 1.65rem); margin-bottom: 0.4rem; }
.svc-group-head p { color: var(--slate); margin: 0; grid-column: 2; }
.svc-group-head figure { grid-column: 1 / -1; margin: 1.5rem 0 0; }
.photo { position: relative; overflow: hidden; border-radius: var(--radius); background: var(--tint-2); }
.photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 600ms var(--ease); }
.photo:hover img { transform: scale(1.035); }
.photo figcaption, figure > figcaption { font-size: 0.9375rem; color: var(--slate); margin-top: 0.6rem; line-height: 1.45; }
.svc-list { list-style: none; border-top: 1px solid var(--rule); align-self: start; }
.svc-list-head { display: flex; justify-content: space-between; padding: 0 0 0.6rem; color: var(--slate); font-size: 0.75rem; }
.svc-row { display: grid; grid-template-columns: minmax(0, 1fr) auto 22px; align-items: baseline; gap: 1rem; padding: 0.95rem 0.6rem 0.95rem 0; border-bottom: 1px solid var(--rule); text-decoration: none; color: var(--navy); transition: background-color var(--t) var(--ease); }
.svc-row .svc-name { font-family: var(--display); font-stretch: 112%; font-weight: 750; font-size: 1.1rem; line-height: 1.25; }
.svc-row .svc-time { color: var(--slate); font-size: 0.9375rem; text-align: right; }
.svc-row svg { width: 20px; height: 20px; color: var(--blue); align-self: center; transition: transform var(--t) var(--ease); }
.svc-row .svc-name { transition: transform var(--t) var(--ease); }
.svc-row:hover { background: var(--tint); color: var(--navy); }
.svc-row:hover .svc-name { transform: translateX(6px); }
.svc-row:hover .svc-name { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
.svc-row:hover svg { transform: translateX(4px); color: var(--red); }
.svc-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 2rem; color: var(--slate); }
.svc-foot p { margin: 0; font-size: 0.9375rem; }

/* ---------- Guarantee band: ledger + reasons ---------- */
.guarantee-grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2.5rem, 6vw, 5.5rem); align-items: start; }
.ledger { background: var(--navy-raise); border: 1px solid rgba(175, 195, 227, 0.3); padding: clamp(1.5rem, 3vw, 2.25rem); position: relative; }
.ledger::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 20px; transform: translateY(-100%); background: var(--guilloche-h-pale) repeat-x center / auto 20px; opacity: 0.45; }
.ledger h3 { color: #fff; margin-bottom: 1.1rem; }
.ledger-rows { list-style: none; border-top: 1px solid rgba(175, 195, 227, 0.35); }
.ledger-row { display: grid; grid-template-columns: 6.4rem minmax(0, 1fr); gap: 1.1rem; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid rgba(175, 195, 227, 0.22); }
.ledger-row .num { font-size: clamp(2.6rem, 4vw, 3.4rem); line-height: 0.9; color: #fff; }
.ledger-row .num small { display: block; font-size: 0.8rem; font-family: var(--display); font-stretch: 112%; font-weight: 650; letter-spacing: 0.1em; text-transform: uppercase; color: var(--pale); margin-top: 0.4rem; }
.ledger-row p { margin: 0; color: #fff; line-height: 1.45; }
.ledger-note { margin: 1.1rem 0 0; color: var(--pale); font-size: 0.9375rem; }
.reasons { list-style: none; display: grid; gap: 0; border-top: 1px solid rgba(175, 195, 227, 0.35); }
.reasons li { padding: 1.4rem 0; border-bottom: 1px solid rgba(175, 195, 227, 0.22); }
.reasons h3 { font-size: 1.25rem; margin-bottom: 0.35rem; color: #fff; }
.reasons p { margin: 0; color: var(--pale); }
.reasons p strong { color: #fff; }

/* ---------- Price schedule ---------- */
.schedule { position: relative; background: var(--paper); border: 1px solid var(--rule); padding: clamp(1.75rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3rem); }
.schedule::before, .schedule::after { content: ""; position: absolute; left: 12px; right: 12px; height: 20px; background: var(--guilloche-h) repeat-x center / auto 20px; opacity: 0.5; pointer-events: none; }
.schedule::before { top: 10px; }
.schedule::after { bottom: 10px; }
.sched-cols { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(2rem, 5vw, 4.5rem); padding: 1rem 0; }
.sched-head { display: flex; justify-content: space-between; color: var(--slate); font-size: 0.8125rem; padding-bottom: 0.6rem; border-bottom: 2px solid var(--navy); }
.sched-list { list-style: none; }
.sched-row { position: relative; display: grid; grid-template-columns: auto minmax(1.5rem, 1fr) auto; align-items: baseline; gap: 0.6rem; padding: 0.85rem 0 0.8rem; border-bottom: 1px solid var(--rule); }
.sched-row a, .sched-row .sched-name { font-family: var(--display); font-stretch: 112%; font-weight: 700; font-size: 1.05rem; color: var(--navy); text-decoration: none; }
.sched-row a:hover { color: var(--blue); text-decoration: underline; text-decoration-thickness: 2px; }
.sched-lead { height: 1px; border-bottom: 2px dotted var(--pale); transform-origin: left center; align-self: end; margin-bottom: 0.4rem; }
.sched-fig { text-align: right; }
.sched-fig .num { font-size: 1.2rem; font-weight: 800; color: var(--navy); white-space: nowrap; letter-spacing: 0; font-stretch: 118%; }
.sched-fig small { display: block; color: var(--slate); font-size: 0.875rem; line-height: 1.35; margin-top: 0.15rem; }
.sched-row--free .num { color: var(--red); }
.sched-foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; margin-top: 1.5rem; padding-top: 1.25rem; }
.sched-foot p { margin: 0; color: var(--slate); max-width: 60ch; }

/* ---------- Steps: a strict sequence ---------- */
.steps { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); position: relative; counter-reset: step; }
.steps::before { content: ""; position: absolute; left: 0; right: 0; top: 2.05rem; height: 2px; background: var(--navy); transform-origin: left center; }
.step { position: relative; padding-top: 0; }
.step-num { position: relative; display: inline-grid; place-items: center; width: 4.1rem; height: 4.1rem; border-radius: 50%; background: var(--paper); border: 2px solid var(--navy); font-size: 1.85rem; color: var(--navy); margin-bottom: 1.15rem; transition: background-color var(--t) var(--ease), color var(--t) var(--ease); }
.step:hover .step-num { background: var(--navy); color: #fff; }
.step h3 { font-size: 1.2rem; margin-bottom: 0.45rem; }
.step p { margin: 0; color: var(--slate); font-size: 1rem; line-height: 1.55; }
.step--phase .step-num { background: var(--navy); color: #fff; }
.step--phase:hover .step-num { background: var(--blue); border-color: var(--blue); }
.steps-after { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; margin-top: clamp(2.5rem, 4vw, 3.25rem); padding: 1.4rem clamp(1.25rem, 3vw, 2rem); background: var(--tint); border: 1px solid var(--rule); }
.steps-after .seal-mini { width: 72px; height: 72px; transform: rotate(-9deg); }
.steps-after p { margin: 0; }
.steps-after strong { color: var(--navy); }

/* ---------- Local facts ---------- */
.facts-lead { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: end; margin-bottom: clamp(2rem, 4vw, 3rem); }
.facts-lead .photo img { aspect-ratio: 16 / 9; }
.facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(1.5rem, 3vw, 2.75rem); border-top: 2px solid var(--navy); }
.fact { padding: 1.75rem 0; border-bottom: 1px solid var(--rule); }
.fact .num { display: block; font-size: clamp(2.4rem, 3.6vw, 3.1rem); line-height: 0.95; color: var(--navy); margin-bottom: 0.25rem; }
.fact .num small { font-size: 1.1rem; font-weight: 800; letter-spacing: 0.02em; color: var(--blue); margin-left: 0.15em; }
.fact h3 { font-size: 1.1rem; margin: 0.55rem 0 0.5rem; }
.fact p { font-size: 1rem; line-height: 1.55; margin: 0 0 0.6rem; }
.fact .src { font-size: 0.875rem; color: var(--slate); margin: 0; }
.fact .src a { color: var(--slate); }
.fact .src a:hover { color: var(--blue); }
.fact--photo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2.25rem); align-items: start; }
.fact--photo .photo { margin: 0.4rem 0 0; }
.on-navy .cert h1, .on-navy .cert h2, .on-navy .cert h3 { color: var(--navy); }
.on-navy .cert a:not(.btn) { color: var(--blue); }
.on-navy .cert :focus-visible { outline-color: var(--blue); }
.on-navy .cert .btn--line { border-color: var(--navy); color: var(--navy); }
.on-navy .cert .btn--line:hover { background: var(--navy); color: #fff; }
.fact--photo .photo img { aspect-ratio: 3 / 2; }
.fact--wide { grid-column: span 2; }

/* ---------- Service area: map + A to Z ---------- */
.area-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.area-map { width: 100%; height: auto; overflow: visible; }
.map-ring { fill: none; stroke: var(--blue); stroke-width: 1.6; }
.map-ring--inner { stroke: var(--pale); stroke-dasharray: 3 5; stroke-width: 1.2; }
.map-state { stroke: var(--navy); stroke-width: 1.2; stroke-dasharray: 7 6; }
.map-state-label { font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 12px; letter-spacing: 0.16em; fill: var(--slate); }
.map-mile { font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 11px; letter-spacing: 0.12em; fill: var(--blue); }
.map-dots circle { fill: #9AABC8; }
.map-town circle { fill: var(--blue); stroke: var(--paper); stroke-width: 2; transition: fill var(--t) var(--ease), r var(--t) var(--ease); }
.map-town text { font-family: var(--body); font-size: 14px; font-weight: 600; fill: var(--navy); paint-order: stroke; stroke: var(--paper); stroke-width: 4px; stroke-linejoin: round; transition: fill var(--t) var(--ease); }
.map-town:hover circle, .map-town:focus-visible circle { fill: var(--red); r: 7.5; }
.map-town:hover text, .map-town:focus-visible text { fill: var(--red); text-decoration: underline; }
.map-town:focus-visible { outline: none; }
.map-home circle { fill: var(--red); }
.map-home .map-home-ring { fill: none; stroke: var(--red); stroke-width: 1.5; }
.map-home-label { font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 16px; fill: var(--navy); paint-order: stroke; stroke: var(--paper); stroke-width: 5px; stroke-linejoin: round; }
.area-copy .lede { color: var(--ink); }
.area-counties { color: var(--slate); font-size: 1rem; }
.town-az { margin-top: clamp(2.5rem, 5vw, 3.5rem); padding-top: 1.5rem; border-top: 2px solid var(--navy); }
.town-az h3 { margin-bottom: 1rem; }
.town-az ul { list-style: none; columns: 5 11rem; column-gap: 2rem; }
.town-az li { break-inside: avoid; padding: 0.3rem 0; font-size: 1rem; color: var(--slate); border-bottom: 1px solid var(--tint-2); }
.town-az li a { font-weight: 700; color: var(--navy); text-decoration: underline; text-decoration-color: var(--pale); text-decoration-thickness: 2px; }
.town-az li a:hover { color: var(--blue); text-decoration: underline; }
.town-az .st { font-size: 0.8125rem; letter-spacing: 0.06em; color: var(--slate); font-weight: 400; }

/* ---------- FAQ: open cards with a pill answer ---------- */
.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.faq-card { background: var(--paper); border: 1px solid var(--rule); border-radius: var(--radius); padding: clamp(1.35rem, 2.5vw, 1.85rem); transition: border-color var(--t) var(--ease), transform var(--t) var(--ease); }
.faq-card:hover { border-color: var(--blue); transform: translateY(-2px); }
.faq-card h3 { font-size: 1.15rem; line-height: 1.25; margin-bottom: 0.85rem; }
.faq-pill { display: inline-block; border-radius: 14px !important; background: var(--navy); color: #fff; font-family: var(--display); font-stretch: 112%; font-weight: 700; font-size: 0.9375rem; line-height: 1.35; padding: 0.35rem 0.85rem; border-radius: 999px; margin: 0 0 0.75rem; }
.faq-card p { margin: 0; font-size: 1.0625rem; line-height: 1.6; }

/* ---------- Closing call ---------- */
.cta-cert { max-width: 900px; margin: 0 auto; text-align: center; }
.cta-cert .cert-body { padding: clamp(2.5rem, 5vw, 3.75rem) clamp(1.25rem, 4vw, 3.5rem); }
.cta-cert .cert-body::before { right: 11%; width: 78%; top: -10%; }
.cta-cert h2 { position: relative; margin-bottom: 0.45em; }
.cta-cert p { position: relative; color: var(--ink); max-width: 46ch; margin-left: auto; margin-right: auto; }
.cta-actions { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 1.75rem; }
.cta-seal { width: 112px; height: 112px; margin: 0 auto 1.25rem; transform: rotate(-9deg); position: relative; }
.cta-alt { position: relative; margin-top: 1.25rem; font-size: 1rem; color: var(--slate); }

/* ---------- Inner pages (shared by every later page) ---------- */
.page-head { background: var(--navy); color: #fff; padding: clamp(2.75rem, 5vw, 4.25rem) 0 clamp(2.5rem, 4.5vw, 3.75rem); position: relative; overflow: hidden; }
.page-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 20px; background: var(--guilloche-h-pale) repeat-x center / auto 20px; opacity: 0.35; }
.page-head h1 { color: #fff; max-width: 20em; }
.page-head .lede { color: var(--pale); }
.breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.35rem 0.6rem; margin-bottom: 1.25rem; font-size: 0.9375rem; color: var(--pale); }
.breadcrumbs li + li::before { content: "/"; margin-right: 0.6rem; color: var(--pale); }
.breadcrumbs a { color: #fff; }
.prose { max-width: 70ch; }
.prose h2 { margin-top: 1.6em; }
.prose h3 { margin-top: 1.4em; }
.prose ul, .prose ol { padding-left: 1.3em; margin: 0 0 1.1em; }
.prose li { margin-bottom: 0.4em; }

/* ---------- Motion: reveals (hidden only once theme.js has run) ---------- */
html.js-rv .rv { opacity: 0; transform: translateY(26px); transition: opacity 760ms var(--ease), transform 900ms var(--ease); }
html.js-rv .rv.is-in { opacity: 1; transform: none; }
html.js-rv .rv-stagger > * { opacity: 0; transform: translateY(18px); transition: opacity 640ms var(--ease), transform 760ms var(--ease); transition-delay: calc(var(--i, 0) * 70ms); }
html.js-rv .rv-stagger.is-in > * { opacity: 1; transform: none; }
html.js-rv .rv-wipe { clip-path: inset(0 100% 0 0); transition: clip-path 1000ms var(--ease-in-out); }
html.js-rv .rv-wipe.is-in { clip-path: inset(0 0 0 0); }
html.js-rv .schedule .sched-row { opacity: 0; transform: translateY(10px); transition: opacity 520ms var(--ease), transform 620ms var(--ease); transition-delay: calc(var(--i, 0) * 45ms + 120ms); }
html.js-rv .schedule .sched-lead { transform: scaleX(0); transition: transform 700ms var(--ease); transition-delay: calc(var(--i, 0) * 45ms + 300ms); }
html.js-rv .schedule.is-in .sched-row { opacity: 1; transform: none; }
html.js-rv .schedule.is-in .sched-lead { transform: scaleX(1); }
html.js-rv .steps::before { transform: scaleX(0); transition: transform 1500ms var(--ease-in-out) 150ms; }
html.js-rv .steps.is-in::before { transform: scaleX(1); }
html.js-rv .steps .step { opacity: 0; transform: translateY(16px); transition: opacity 600ms var(--ease), transform 700ms var(--ease); transition-delay: calc(var(--i, 0) * 120ms + 100ms); }
html.js-rv .steps.is-in .step { opacity: 1; transform: none; }
html.js-rv .area-map .map-ring:not(.map-ring--inner) { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1800ms var(--ease-in-out); }
html.js-rv .area-map.is-in .map-ring:not(.map-ring--inner) { stroke-dashoffset: 0; }
html.js-rv .area-map .map-town, html.js-rv .area-map .map-dots { opacity: 0; transition: opacity 500ms var(--ease); transition-delay: calc(var(--i, 0) * 25ms + 120ms); }
html.js-rv .area-map.is-in .map-town, html.js-rv .area-map.is-in .map-dots { opacity: 1; }
html.js-rv .photo-rv img { transform: scale(1.08); transition: transform 1400ms var(--ease); }
html.js-rv .photo-rv.is-in img { transform: scale(1); }
html.js-rv .photo-rv.is-in:hover img { transform: scale(1.035); }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .site-nav a { padding: 0.6rem 0.55rem; letter-spacing: 0.06em; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
}
@media (max-width: 960px) {
  :root { --header-h: 68px; }
  .brand img { height: 44px; }
  .nav-toggle { display: inline-flex; }
  .header-call { display: none; }
  .site-nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--paper); border-bottom: 2px solid var(--navy); display: none; margin: 0; }
  .nav-open .site-nav { display: block; }
  .site-nav ul { flex-direction: column; padding: 0.5rem var(--gutter) 1.25rem; gap: 0; }
  .site-nav li + li { border-top: 1px solid var(--rule); }
  .site-nav a { padding: 1rem 0; font-size: 1rem; }
  .site-nav a::after { left: 0; right: auto; width: 3rem; bottom: 8px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-cert { max-width: 560px; }
  .trust-row ul { grid-template-columns: 1fr 1fr; }
  .trust-row li:nth-child(3) { padding-left: 0; border-left: 0; }
  .trust-row li:nth-child(n + 3) { border-top: 1px solid rgba(175, 195, 227, 0.28); }
  .svc-group { grid-template-columns: 1fr; }
  .guarantee-grid { grid-template-columns: 1fr; }
  .sched-cols { grid-template-columns: 1fr; }
  .sched-cols .sched-list + .sched-list, .sched-cols > div + div .sched-head { border-top: 0; }
  .sched-cols > div + div .sched-head { display: none; }
  .steps { grid-template-columns: 1fr; gap: 0; padding-left: 0; }
  .steps::before { left: 2.05rem; right: auto; top: 0; bottom: 0; width: 2px; height: auto; transform-origin: center top; }
  html.js-rv .steps::before { transform: scaleY(0); }
  html.js-rv .steps.is-in::before { transform: scaleY(1); }
  .step { display: grid; grid-template-columns: 4.1rem minmax(0, 1fr); column-gap: 1.25rem; padding-bottom: 1.75rem; }
  .step-num { grid-row: span 2; margin-bottom: 0; }
  .facts-lead { grid-template-columns: 1fr; }
  .facts { grid-template-columns: 1fr 1fr; }
  .fact--wide { grid-column: span 2; }
  .area-grid { grid-template-columns: 1fr; }
  .faq-grid { grid-template-columns: 1fr; }
  .call-bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: var(--red); color: #fff; text-decoration: none; align-items: center; justify-content: center; gap: 0.7rem; min-height: 60px; padding: 0.6rem 1rem calc(0.6rem + env(safe-area-inset-bottom)); border-top: 2px solid #fff; font-family: var(--display); font-stretch: 112%; font-weight: 800; letter-spacing: 0.04em; transition: background-color var(--t) var(--ease); }
  .call-bar:hover, .call-bar:active { background: var(--red-press); color: #fff; }
  .call-bar svg { width: 22px; height: 22px; }
  .call-bar .cb-label { text-transform: uppercase; font-size: 0.875rem; letter-spacing: 0.08em; font-weight: 700; }
  .call-bar .cb-num { font-size: 1.15rem; font-variant-numeric: tabular-nums; }
  body { padding-bottom: 60px; }
  .footer-map { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .section { padding: clamp(3.5rem, 12vw, 4.5rem) 0; }
  .hero { padding-top: 2.25rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .cert { padding: 22px; }
  .cert::before { inset: 7px; background-size: auto 14px, auto 14px, 14px auto, 14px auto; }
  .cert::after { inset: 22px; }
  .cert-body { padding: 1.4rem 1.1rem 1.6rem; }
  .seal { width: 120px; height: 120px; right: -10px; bottom: -26px; }
  .cert-sign { padding-right: 5.5rem; }
  .trust-row ul { grid-template-columns: 1fr; }
  .trust-row li, .trust-row li + li { padding: 0.9rem 0; border-left: 0; }
  .trust-row li + li { border-top: 1px solid rgba(175, 195, 227, 0.28); }
  .svc-row { grid-template-columns: minmax(0, 1fr) 20px; gap: 0.2rem 0.75rem; padding: 0.9rem 0; }
  .svc-row .svc-time { grid-column: 1; grid-row: 2; text-align: left; }
  .svc-row svg { grid-column: 2; grid-row: 1 / span 2; }
  .svc-list-head span:last-child { display: none; }
  .ledger-row { grid-template-columns: 4.6rem minmax(0, 1fr); }
  .btn--big { flex-wrap: wrap; row-gap: 0.1rem; column-gap: 0.6rem; }
  .cert-figure .num { font-size: 4.6rem; }
  .sched-row { grid-template-columns: minmax(0, 1fr); gap: 0.15rem; }
  .sched-fig { text-align: left; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 0.6rem; }
  .sched-fig small { margin-top: 0; }
  .sched-lead { display: none; }
  .sched-foot { grid-template-columns: 1fr; }
  .steps-after { grid-template-columns: 1fr; text-align: left; }
  .facts { grid-template-columns: 1fr; }
  .fact--wide { grid-column: auto; }
  .fact--photo { grid-template-columns: 1fr; }
  .map-label { display: none; }
  .town-az ul { columns: 2 9rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .cta-actions .btn { width: 100%; }
}
@media (max-width: 360px) {
  h1 { font-size: 1.95rem; }
  .cert-sign { padding-right: 4.5rem; }
  .btn--big { padding: 0.9rem 1rem; font-size: 0.875rem; }
  .call-bar .cb-label { display: none; }
}
@media print {
  .site-header, .call-bar, .site-footer iframe { display: none; }
  html.js-rv .rv, html.js-rv .rv-stagger > * { opacity: 1; transform: none; }
}

/* ---------- Photo hero (every page): navy copy field, photo to the right edge, the seal stamped on its corner ----------
   Markup: section.hero.hero--photo.on-navy > .hero-copy (h1, .hero-promise, .hero-actions)
           + .hero-media > .hero-frame > img[fetchpriority=high][width][height], then optional .seal.seal--stamp
   Optional strip after it: div.hero-strip.on-navy > .wrap.trust-row > ul > li > strong + text */
.hero--photo { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); padding: 0; min-height: clamp(540px, 74vh, 720px); }
.hero--photo::before { right: auto; left: -30%; width: min(900px, 110vw); opacity: 0.1; }
.hero--photo .hero-copy { position: relative; z-index: 1; align-self: center; padding: clamp(3rem, 6vw, 5.5rem) clamp(2rem, 4vw, 4.5rem) clamp(3rem, 6vw, 5.5rem) max(var(--gutter), calc((100vw - var(--wrap)) / 2 + var(--gutter))); }
.hero--photo h1 { max-width: 13.5em; }
.hero--photo .hero-promise { max-width: 31em; margin-bottom: 0; }
.hero-media { position: relative; z-index: 2; border-left: 2px solid var(--blue); }
.hero-media::before { content: ""; position: absolute; top: 0; bottom: 0; left: -9px; width: 1px; background: var(--pale); opacity: 0.45; }
.hero-frame { position: absolute; inset: 0; overflow: hidden; background: var(--navy-raise); }
.hero-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; animation: hero-settle 2200ms var(--ease) both; }
@keyframes hero-settle { from { transform: scale(1.07); } to { transform: scale(1); } }
.hero--photo .seal { width: 120px; height: 120px; right: auto; left: -46px; bottom: clamp(1.75rem, 6vh, 3.25rem); z-index: 3; }
.hero-strip { background: var(--navy-deep); color: #fff; border-top: 1px solid rgba(175, 195, 227, 0.28); }
.hero-strip .trust-row { margin-top: 0; border-top: 0; }
.trust-row ul { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
@media (max-width: 960px) {
  .hero--photo { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hero--photo .hero-copy { padding: 2.5rem var(--gutter) 2.25rem; }
  .hero-media { border-left: 0; border-top: 2px solid var(--blue); aspect-ratio: 16 / 10; }
  .hero-media::before { top: -9px; bottom: auto; left: 0; right: 0; width: auto; height: 1px; }
  .hero--photo .seal { width: 96px; height: 96px; left: 14px; bottom: 14px; }
  .trust-row li:nth-child(3) { padding-left: 1.25rem; border-left: 1px solid rgba(175, 195, 227, 0.28); }
  .trust-row li:nth-child(n + 3) { border-top: 0; }
}
@media (max-width: 640px) {
  .hero--photo .hero-copy { padding-top: 2.25rem; }
  .trust-row ul { grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); }
  .trust-row li, .trust-row li + li, .trust-row li:nth-child(3) { padding: 0.9rem 0; border-left: 0; }
  .trust-row li + li { border-top: 1px solid rgba(175, 195, 227, 0.28); }
}

/* ---------- Text pages (privacy, terms, accessibility): added 2026-11-02, appended only ---------- */
.page-head .updated { margin: 1.1rem 0 0; font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 0.9375rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pale); }
.prose--legal { padding-bottom: 1rem; }
.prose--legal .lede-first { font-size: 1.25rem; line-height: 1.55; color: var(--ink); }
.prose--legal h2 { font-size: clamp(1.45rem, 2.4vw, 1.85rem); margin: 2.4em 0 0.6em; padding-top: 1.1em; border-top: 1px solid var(--rule); }
.prose--legal h2:first-of-type { margin-top: 1.6em; }
.prose--legal h3 { font-size: 1.15rem; margin: 1.6em 0 0.4em; }
.prose--legal ul { list-style: none; padding-left: 0; }
.prose--legal ul li { position: relative; padding-left: 1.25em; }
.prose--legal ul li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 0.55em; height: 2px; background: var(--blue); }
.prose--legal a { font-weight: 600; overflow-wrap: anywhere; }


/* ---------- Contact page + site forms: added 2026-11-03, appended only (the .form__ names are the handler's) ---------- */
.contact-grid { display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr); gap: clamp(1.75rem, 4vw, 3.5rem); align-items: start; }
.contact-call { background: var(--navy); color: #fff; padding: clamp(1.75rem, 3.5vw, 2.75rem); border: 1px solid var(--blue); }
.contact-call h2 { color: #fff; font-size: clamp(1.6rem, 2.6vw, 2.1rem); margin-bottom: 0.6rem; }
.contact-call > p { color: var(--pale); margin-bottom: 1.5rem; }
.contact-call .btn { width: 100%; }
.contact-lines { margin: 1.75rem 0 0; padding: 0; }
.contact-lines > div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 0.25rem 1rem; padding: 0.85rem 0; border-top: 1px solid rgba(175, 195, 227, 0.28); }
.contact-lines dt { margin: 0; font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 0.8125rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pale); padding-top: 0.2rem; }
.contact-lines dd { margin: 0; overflow-wrap: anywhere; }
.contact-lines a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.contact-lines a:hover { text-decoration-thickness: 2px; }
.contact-form-wrap { background: var(--tint); border: 1px solid var(--rule); padding: clamp(1.5rem, 3.5vw, 2.5rem); }
.contact-form-wrap h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); margin-bottom: 0.6rem; }
.contact-form-wrap > p { color: var(--slate); }
.site-form { margin-top: 1.5rem; }
.form__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 1.25rem; }
.form__group { margin-bottom: 1.15rem; min-width: 0; }
.form__label { display: block; margin-bottom: 0.4rem; font-family: var(--display); font-stretch: 112%; font-weight: 650; font-size: 0.875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--navy); }
.form__required { color: var(--red-press); }
.form__optional { font-weight: 400; letter-spacing: 0.02em; text-transform: none; color: var(--slate); }
.form__input, .form__textarea { display: block; width: 100%; min-height: 52px; padding: 0.7rem 0.9rem; font: inherit; font-size: 1rem; color: var(--ink); background: #fff; border: 1px solid #6B7893; border-radius: var(--radius); transition: border-color var(--t) var(--ease), box-shadow var(--t) var(--ease); }
.form__textarea { min-height: 9rem; resize: vertical; line-height: 1.5; }
.form__input:hover, .form__textarea:hover { border-color: var(--navy); }
.form__input:focus-visible, .form__textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 1px; border-color: var(--navy); }
.form__error { display: block; margin-top: 0.3rem; font-size: 0.9rem; color: var(--red-press); }
.form__error[hidden] { display: none; }
.form__input--error { border-color: var(--red-press) !important; }
.form__submit { width: 100%; }
.form__submit[disabled] { opacity: 0.7; cursor: progress; transform: none; }
.form__submit-loading[hidden], .form__submit-text[hidden] { display: none; }
.form__status { margin-top: 1rem; padding: 1rem 1.25rem; border-radius: var(--radius); font-size: 1rem; }
.form__status[hidden] { display: none; }
.form__status--success { background: #fff; color: var(--navy); border: 2px solid var(--navy); }
.form__status--error { background: #fff; color: var(--red-press); border: 2px solid var(--red-press); }
.form-note { margin: 1rem 0 0; font-size: 0.9375rem; color: var(--slate); }
.contact-map iframe { display: block; width: 100%; aspect-ratio: 4 / 3; border: 1px solid var(--rule); border-radius: var(--radius); }
.contact-map p { margin: 0.6rem 0 0; color: var(--slate); font-size: 0.9375rem; }
@media (min-width: 961px) { .steps--three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 960px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .form__row { grid-template-columns: minmax(0, 1fr); } .contact-lines > div { grid-template-columns: minmax(0, 1fr); } }
.steps-after--plain { grid-template-columns: minmax(0, 1fr) auto; }
@media (max-width: 640px) { .steps-after--plain { grid-template-columns: minmax(0, 1fr); } }


/* ---------- Service pages (the mold): additions only, no existing rule changed ----------
   .sched-solo: a ruled schedule with just a few rows; .sub-list: a short ruled list under a section head;
   .other-services: the all-services list when it follows a section head. */
.sched-solo { padding: 1.1rem 0 0.25rem; }
.sub-list { margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.sub-list h3 { margin-bottom: 0.65rem; }
.town-az.other-services { margin-top: 0; }
.contact-form-wrap p { overflow-wrap: anywhere; }
.contact-lines > div { grid-template-columns: 5.25rem minmax(0, 1fr); }
@media (max-width: 640px) { .contact-lines > div { grid-template-columns: minmax(0, 1fr); } }
