Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

1938 lignes
33KB

  1. :root {
  2. --ink: #102637;
  3. --muted: #5d6c77;
  4. --navy: #052f4f;
  5. --navy-deep: #03243d;
  6. --blue: #0b5d86;
  7. --blue-light: #dff1f6;
  8. --gold: #f1bf24;
  9. --gold-dark: #c89500;
  10. --cream: #faf6eb;
  11. --paper: #fffdf8;
  12. --white: #ffffff;
  13. --coral: #ef7257;
  14. --line: #dfe4e6;
  15. --shadow: 0 24px 70px rgba(6, 47, 79, 0.14);
  16. --radius-sm: 12px;
  17. --radius-md: 22px;
  18. --radius-lg: 34px;
  19. --shell: 1180px;
  20. --font-display: "Manrope", "Segoe UI", sans-serif;
  21. --font-body: "DM Sans", "Segoe UI", sans-serif;
  22. }
  23. *,
  24. *::before,
  25. *::after {
  26. box-sizing: border-box;
  27. }
  28. html {
  29. scroll-behavior: smooth;
  30. }
  31. body {
  32. margin: 0;
  33. overflow-x: clip;
  34. background: var(--paper);
  35. color: var(--ink);
  36. font-family: var(--font-body);
  37. font-size: 16px;
  38. line-height: 1.65;
  39. -webkit-font-smoothing: antialiased;
  40. }
  41. img {
  42. display: block;
  43. max-width: 100%;
  44. }
  45. a {
  46. color: inherit;
  47. }
  48. button,
  49. a,
  50. summary {
  51. -webkit-tap-highlight-color: transparent;
  52. }
  53. :focus-visible {
  54. outline: 3px solid var(--navy);
  55. outline-offset: 4px;
  56. }
  57. .section-navy :focus-visible,
  58. .contact-card :focus-visible,
  59. .pricing-note :focus-visible {
  60. outline-color: var(--gold);
  61. }
  62. .skip-link {
  63. position: fixed;
  64. z-index: 1000;
  65. top: 12px;
  66. left: 12px;
  67. padding: 10px 16px;
  68. border-radius: 8px;
  69. background: var(--white);
  70. color: var(--navy);
  71. font-weight: 700;
  72. transform: translateY(-150%);
  73. transition: transform 160ms ease;
  74. }
  75. .skip-link:focus {
  76. transform: translateY(0);
  77. }
  78. .shell {
  79. width: min(var(--shell), calc(100% - 40px));
  80. margin-inline: auto;
  81. }
  82. .site-header {
  83. position: sticky;
  84. z-index: 50;
  85. top: 0;
  86. border-bottom: 1px solid rgba(5, 47, 79, 0.1);
  87. background: var(--white);
  88. }
  89. .nav-shell {
  90. min-height: 82px;
  91. display: grid;
  92. grid-template-columns: minmax(180px, 235px) 1fr auto;
  93. align-items: center;
  94. gap: 30px;
  95. }
  96. .brand {
  97. display: block;
  98. width: 217px;
  99. }
  100. .brand img,
  101. .footer-brand img,
  102. .postcard-feature img {
  103. width: auto;
  104. max-width: none;
  105. height: auto;
  106. }
  107. .site-nav {
  108. display: flex;
  109. justify-content: center;
  110. gap: clamp(18px, 2.5vw, 34px);
  111. }
  112. .site-nav a,
  113. .site-footer nav a {
  114. position: relative;
  115. color: #334b5c;
  116. font-size: 0.9rem;
  117. font-weight: 700;
  118. text-decoration: none;
  119. }
  120. .site-nav a::after,
  121. .site-footer nav a::after {
  122. position: absolute;
  123. right: 0;
  124. bottom: -7px;
  125. left: 0;
  126. height: 2px;
  127. background: var(--gold-dark);
  128. content: "";
  129. transform: scaleX(0);
  130. transform-origin: left;
  131. transition: transform 180ms ease;
  132. }
  133. .site-nav a:hover::after,
  134. .site-footer nav a:hover::after {
  135. transform: scaleX(1);
  136. }
  137. .button {
  138. min-height: 52px;
  139. display: inline-flex;
  140. align-items: center;
  141. justify-content: center;
  142. gap: 10px;
  143. padding: 13px 22px;
  144. border: 1px solid transparent;
  145. border-radius: 999px;
  146. font-family: var(--font-display);
  147. font-size: 0.94rem;
  148. font-weight: 800;
  149. line-height: 1.2;
  150. text-align: center;
  151. text-decoration: none;
  152. transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
  153. }
  154. .button:hover {
  155. transform: translateY(-2px);
  156. }
  157. .button-small {
  158. min-height: 44px;
  159. padding: 10px 18px;
  160. font-size: 0.85rem;
  161. }
  162. .button-primary {
  163. background: var(--navy);
  164. box-shadow: 0 10px 25px rgba(5, 47, 79, 0.2);
  165. color: var(--white);
  166. }
  167. .button-primary:hover {
  168. background: #084368;
  169. box-shadow: 0 14px 30px rgba(5, 47, 79, 0.25);
  170. }
  171. .button-quiet {
  172. border-color: rgba(5, 47, 79, 0.18);
  173. background: rgba(255, 255, 255, 0.72);
  174. color: var(--navy);
  175. }
  176. .button-quiet:hover {
  177. border-color: rgba(5, 47, 79, 0.34);
  178. background: var(--white);
  179. }
  180. .button-gold {
  181. background: var(--gold);
  182. box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  183. color: var(--navy-deep);
  184. }
  185. .button-gold:hover {
  186. background: #ffd44a;
  187. }
  188. .hero {
  189. position: relative;
  190. isolation: isolate;
  191. min-height: 710px;
  192. overflow: hidden;
  193. background:
  194. linear-gradient(118deg, rgba(250, 246, 235, 0.84), rgba(255, 253, 248, 0.95)),
  195. radial-gradient(circle at 15% 20%, rgba(241, 191, 36, 0.17), transparent 34%);
  196. }
  197. .hero::before {
  198. position: absolute;
  199. z-index: -1;
  200. top: -35%;
  201. right: -13%;
  202. width: 55%;
  203. aspect-ratio: 1;
  204. border: 1px solid rgba(11, 93, 134, 0.08);
  205. border-radius: 50%;
  206. box-shadow: 0 0 0 80px rgba(11, 93, 134, 0.025), 0 0 0 160px rgba(11, 93, 134, 0.02);
  207. content: "";
  208. }
  209. .hero-grid {
  210. min-height: 710px;
  211. display: grid;
  212. grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  213. align-items: center;
  214. gap: clamp(38px, 6vw, 78px);
  215. padding-block: 74px 80px;
  216. }
  217. .hero-copy {
  218. position: relative;
  219. z-index: 2;
  220. }
  221. .eyebrow {
  222. margin: 0 0 20px;
  223. color: var(--blue);
  224. font-size: 0.76rem;
  225. font-weight: 800;
  226. letter-spacing: 0.14em;
  227. text-transform: uppercase;
  228. }
  229. .eyebrow span {
  230. width: 25px;
  231. height: 3px;
  232. display: inline-block;
  233. margin: 0 10px 3px 0;
  234. border-radius: 2px;
  235. background: var(--gold);
  236. }
  237. .hero h1,
  238. .section-heading h2,
  239. .value-copy h2,
  240. .offer-copy h2,
  241. .faq-intro h2 {
  242. margin: 0;
  243. color: var(--navy);
  244. font-family: var(--font-display);
  245. font-weight: 800;
  246. letter-spacing: -0.045em;
  247. line-height: 1.06;
  248. }
  249. .hero h1 {
  250. max-width: 700px;
  251. font-size: clamp(3rem, 5.6vw, 5.3rem);
  252. }
  253. .hero h1 em {
  254. color: var(--blue);
  255. font-style: normal;
  256. padding-inline: 0.03em;
  257. background: linear-gradient(transparent 83%, rgba(241, 191, 36, 0.58) 83% 94%, transparent 94%);
  258. -webkit-box-decoration-break: clone;
  259. box-decoration-break: clone;
  260. }
  261. .hero-lede {
  262. max-width: 640px;
  263. margin: 26px 0 0;
  264. color: #435967;
  265. font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  266. line-height: 1.75;
  267. }
  268. .hero-actions {
  269. display: flex;
  270. flex-wrap: wrap;
  271. gap: 13px;
  272. margin-top: 34px;
  273. }
  274. .hero-points {
  275. display: flex;
  276. flex-wrap: wrap;
  277. gap: 12px 22px;
  278. margin: 29px 0 0;
  279. padding: 0;
  280. color: #45606f;
  281. font-size: 0.84rem;
  282. font-weight: 700;
  283. list-style: none;
  284. }
  285. .hero-points span {
  286. width: 21px;
  287. height: 21px;
  288. display: inline-grid;
  289. place-items: center;
  290. margin-right: 6px;
  291. border-radius: 50%;
  292. background: var(--blue-light);
  293. color: var(--blue);
  294. font-size: 0.72rem;
  295. }
  296. .postcard-stage {
  297. position: relative;
  298. min-height: 520px;
  299. display: grid;
  300. place-items: center;
  301. perspective: 1200px;
  302. }
  303. .postcard-shadow {
  304. position: absolute;
  305. right: 3%;
  306. bottom: 7%;
  307. width: 80%;
  308. height: 19%;
  309. border-radius: 50%;
  310. background: rgba(6, 31, 50, 0.24);
  311. filter: blur(30px);
  312. transform: rotate(-4deg);
  313. }
  314. .postcard {
  315. position: relative;
  316. width: 100%;
  317. max-width: 640px;
  318. aspect-ratio: 12 / 9;
  319. overflow: hidden;
  320. border: 1px solid rgba(5, 47, 79, 0.12);
  321. border-radius: 0;
  322. background: #fffef9;
  323. box-shadow: 0 34px 80px rgba(5, 47, 79, 0.22), 0 5px 15px rgba(5, 47, 79, 0.12);
  324. }
  325. .postcard picture {
  326. display: block;
  327. width: 100%;
  328. height: 100%;
  329. }
  330. .postcard-image {
  331. width: 100%;
  332. height: 100%;
  333. object-fit: cover;
  334. }
  335. .postcard::after {
  336. position: absolute;
  337. inset: 0;
  338. border-radius: inherit;
  339. background: linear-gradient(120deg, rgba(255, 255, 255, 0.35), transparent 25% 78%, rgba(5, 47, 79, 0.04));
  340. content: "";
  341. pointer-events: none;
  342. }
  343. .postcard-topline {
  344. display: flex;
  345. justify-content: space-between;
  346. margin-bottom: 10px;
  347. color: #60717d;
  348. font-size: clamp(0.52rem, 0.8vw, 0.68rem);
  349. font-weight: 800;
  350. letter-spacing: 0.14em;
  351. }
  352. .postcard-feature {
  353. min-height: 30%;
  354. display: grid;
  355. grid-template-columns: 187px 1fr;
  356. align-items: center;
  357. gap: 14px;
  358. padding: 10px 18px 13px;
  359. border-radius: 12px;
  360. background: linear-gradient(115deg, #f8edc8, #fff6d8 58%, #f8e8a7);
  361. }
  362. .postcard-feature strong {
  363. color: var(--navy);
  364. font-family: var(--font-display);
  365. font-size: clamp(0.8rem, 1.6vw, 1.3rem);
  366. line-height: 1.18;
  367. text-align: right;
  368. }
  369. .ad-grid {
  370. height: 49%;
  371. display: grid;
  372. grid-template-columns: repeat(3, 1fr);
  373. grid-template-rows: repeat(2, 1fr);
  374. gap: 8px;
  375. margin-top: 8px;
  376. }
  377. .ad-tile {
  378. min-width: 0;
  379. display: flex;
  380. flex-direction: column;
  381. justify-content: center;
  382. padding: clamp(8px, 1.4vw, 15px);
  383. border: 1px solid rgba(5, 47, 79, 0.11);
  384. border-radius: 9px;
  385. line-height: 1.18;
  386. }
  387. .ad-tile span {
  388. margin-bottom: 5px;
  389. font-size: clamp(0.42rem, 0.65vw, 0.59rem);
  390. font-weight: 800;
  391. letter-spacing: 0.1em;
  392. }
  393. .ad-tile strong {
  394. font-family: var(--font-display);
  395. font-size: clamp(0.64rem, 1vw, 0.9rem);
  396. }
  397. .tile-gold { background: #f5cf53; color: var(--navy-deep); }
  398. .tile-navy { background: var(--navy); color: var(--white); }
  399. .tile-cream { background: #f5f0df; color: var(--navy); }
  400. .tile-coral { background: #f38b73; color: #3c1b13; }
  401. .tile-blue { background: #d5edf3; color: var(--navy); }
  402. .tile-white { border: 2px dashed var(--gold-dark); background: var(--white); color: var(--navy); text-align: center; }
  403. .postcard-edge {
  404. margin-top: 8px;
  405. color: #6a7881;
  406. font-size: clamp(0.45rem, 0.75vw, 0.62rem);
  407. font-weight: 700;
  408. letter-spacing: 0.09em;
  409. text-align: center;
  410. text-transform: uppercase;
  411. }
  412. .stage-note {
  413. position: absolute;
  414. right: 0;
  415. bottom: 3px;
  416. max-width: 315px;
  417. display: flex;
  418. align-items: center;
  419. gap: 12px;
  420. padding: 13px 17px;
  421. border: 1px solid rgba(5, 47, 79, 0.1);
  422. border-radius: 13px;
  423. background: rgba(255, 255, 255, 0.95);
  424. box-shadow: 0 12px 34px rgba(5, 47, 79, 0.14);
  425. color: #3e5461;
  426. font-size: 0.77rem;
  427. font-weight: 700;
  428. line-height: 1.35;
  429. }
  430. .stage-note span {
  431. flex: 0 0 auto;
  432. width: 30px;
  433. height: 30px;
  434. display: grid;
  435. place-items: center;
  436. border-radius: 50%;
  437. background: var(--gold);
  438. color: var(--navy);
  439. font-size: 1rem;
  440. }
  441. .signal-strip {
  442. border-block: 1px solid rgba(5, 47, 79, 0.1);
  443. background: var(--white);
  444. }
  445. .signal-grid {
  446. display: grid;
  447. grid-template-columns: repeat(4, 1fr);
  448. padding-block: 28px;
  449. }
  450. .signal-grid div {
  451. min-width: 0;
  452. padding-inline: clamp(18px, 3vw, 36px);
  453. border-right: 1px solid var(--line);
  454. }
  455. .signal-grid div:first-child { padding-left: 0; }
  456. .signal-grid div:last-child { border-right: 0; }
  457. .signal-grid strong,
  458. .signal-grid span {
  459. display: block;
  460. }
  461. .signal-grid strong {
  462. color: var(--navy);
  463. font-family: var(--font-display);
  464. font-size: 1.16rem;
  465. font-weight: 800;
  466. }
  467. .signal-grid span {
  468. margin-top: 2px;
  469. color: var(--muted);
  470. font-size: 0.82rem;
  471. }
  472. .section {
  473. padding-block: clamp(82px, 10vw, 130px);
  474. }
  475. .section-light { background: var(--white); }
  476. .section-warm { background: var(--cream); }
  477. .section-heading {
  478. margin-bottom: 56px;
  479. }
  480. .section-heading h2,
  481. .value-copy h2,
  482. .offer-copy h2,
  483. .faq-intro h2 {
  484. font-size: clamp(2.25rem, 4.3vw, 4rem);
  485. }
  486. .section-heading > p:last-child,
  487. .heading-split > p,
  488. .value-copy > p,
  489. .offer-copy > p,
  490. .faq-intro > p {
  491. color: var(--muted);
  492. font-size: 1.05rem;
  493. }
  494. .heading-centered {
  495. max-width: 720px;
  496. margin-inline: auto;
  497. text-align: center;
  498. }
  499. .eyebrow-centered span {
  500. display: none;
  501. }
  502. .heading-centered > p:last-child {
  503. max-width: 620px;
  504. margin: 20px auto 0;
  505. }
  506. .steps {
  507. position: relative;
  508. display: grid;
  509. grid-template-columns: repeat(3, 1fr);
  510. gap: 18px;
  511. margin: 0;
  512. padding: 0;
  513. list-style: none;
  514. }
  515. .steps::before {
  516. position: absolute;
  517. top: 57px;
  518. right: 8%;
  519. left: 8%;
  520. height: 1px;
  521. background: repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 16px);
  522. content: "";
  523. }
  524. .steps li {
  525. position: relative;
  526. z-index: 1;
  527. padding: 28px;
  528. border: 1px solid var(--line);
  529. border-radius: var(--radius-md);
  530. background: var(--paper);
  531. transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
  532. }
  533. .steps li:hover {
  534. border-color: rgba(11, 93, 134, 0.35);
  535. box-shadow: 0 18px 45px rgba(5, 47, 79, 0.1);
  536. transform: translateY(-5px);
  537. }
  538. .step-number {
  539. position: absolute;
  540. top: 20px;
  541. right: 22px;
  542. color: var(--muted);
  543. font-family: var(--font-display);
  544. font-size: 0.76rem;
  545. font-weight: 800;
  546. }
  547. .step-icon {
  548. width: 56px;
  549. height: 56px;
  550. display: grid;
  551. place-items: center;
  552. margin-bottom: 28px;
  553. border-radius: 16px;
  554. background: var(--blue-light);
  555. color: var(--blue);
  556. font-family: var(--font-display);
  557. font-size: 1.6rem;
  558. font-weight: 800;
  559. }
  560. .steps li:nth-child(even) .step-icon {
  561. background: #fff0bd;
  562. color: #886600;
  563. }
  564. .steps h3,
  565. .benefit-list h3,
  566. .fit-card h3 {
  567. margin: 0;
  568. color: var(--navy);
  569. font-family: var(--font-display);
  570. font-size: 1.15rem;
  571. font-weight: 800;
  572. }
  573. .steps p,
  574. .benefit-list p,
  575. .fit-card p {
  576. margin: 10px 0 0;
  577. color: var(--muted);
  578. font-size: 0.92rem;
  579. }
  580. .section-navy {
  581. position: relative;
  582. overflow: hidden;
  583. background: var(--navy-deep);
  584. color: var(--white);
  585. }
  586. .section-navy::before {
  587. position: absolute;
  588. top: -240px;
  589. left: -190px;
  590. width: 520px;
  591. height: 520px;
  592. border: 90px solid rgba(241, 191, 36, 0.055);
  593. border-radius: 50%;
  594. content: "";
  595. }
  596. .value-grid {
  597. position: relative;
  598. display: grid;
  599. grid-template-columns: minmax(0, 0.84fr) minmax(440px, 1.16fr);
  600. gap: clamp(60px, 9vw, 120px);
  601. }
  602. .eyebrow-on-dark { color: #f9d86e; }
  603. .value-copy h2 {
  604. color: var(--white);
  605. }
  606. .value-copy > p {
  607. margin: 25px 0 0;
  608. color: #c6d2d9;
  609. }
  610. .text-link {
  611. display: inline-flex;
  612. gap: 10px;
  613. margin-top: 32px;
  614. color: #f9d86e;
  615. font-weight: 800;
  616. text-decoration: none;
  617. }
  618. .text-link:hover span {
  619. transform: translateX(4px);
  620. }
  621. .text-link span {
  622. transition: transform 180ms ease;
  623. }
  624. .benefit-list {
  625. display: grid;
  626. gap: 0;
  627. }
  628. .benefit-list article {
  629. display: grid;
  630. grid-template-columns: 48px 1fr;
  631. gap: 22px;
  632. padding-block: 25px;
  633. border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  634. }
  635. .benefit-list article:first-child { padding-top: 0; }
  636. .benefit-list article:last-child { padding-bottom: 0; border-bottom: 0; }
  637. .benefit-mark {
  638. width: 42px;
  639. height: 42px;
  640. display: grid;
  641. place-items: center;
  642. border: 1px solid rgba(241, 191, 36, 0.42);
  643. border-radius: 50%;
  644. color: #f9d86e;
  645. font-family: var(--font-display);
  646. font-size: 0.75rem;
  647. font-weight: 800;
  648. }
  649. .benefit-list h3 { color: var(--white); }
  650. .benefit-list p { color: #b9c8d1; }
  651. .heading-split {
  652. display: grid;
  653. grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  654. align-items: end;
  655. gap: 70px;
  656. }
  657. .heading-split > p {
  658. margin: 0 0 8px;
  659. }
  660. .fit-grid {
  661. display: grid;
  662. grid-template-columns: repeat(4, 1fr);
  663. gap: 16px;
  664. }
  665. .fit-card {
  666. min-height: 270px;
  667. padding: 30px;
  668. border: 1px solid rgba(5, 47, 79, 0.1);
  669. border-radius: var(--radius-md);
  670. background: rgba(255, 255, 255, 0.7);
  671. transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
  672. }
  673. .fit-card:hover {
  674. background: var(--white);
  675. box-shadow: 0 20px 50px rgba(5, 47, 79, 0.1);
  676. transform: translateY(-5px);
  677. }
  678. .fit-icon {
  679. width: 64px;
  680. height: 64px;
  681. display: grid;
  682. place-items: center;
  683. margin-bottom: 40px;
  684. border-radius: 20px;
  685. background: var(--navy);
  686. color: var(--gold);
  687. font-size: 1.85rem;
  688. }
  689. .offer-section {
  690. background: var(--white);
  691. }
  692. .offer-grid {
  693. display: grid;
  694. grid-template-columns: minmax(350px, 0.85fr) minmax(0, 1.15fr);
  695. align-items: center;
  696. gap: clamp(60px, 9vw, 125px);
  697. }
  698. .offer-card {
  699. position: relative;
  700. max-width: 485px;
  701. min-height: 520px;
  702. overflow: hidden;
  703. padding: clamp(34px, 5vw, 58px);
  704. border-radius: 8px;
  705. background:
  706. linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
  707. linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
  708. var(--navy);
  709. background-size: 20px 20px;
  710. box-shadow: var(--shadow);
  711. color: var(--white);
  712. transform: rotate(-2.5deg);
  713. }
  714. .offer-card::after {
  715. position: absolute;
  716. right: -90px;
  717. bottom: -90px;
  718. width: 260px;
  719. height: 260px;
  720. border: 38px solid rgba(241, 191, 36, 0.16);
  721. border-radius: 50%;
  722. content: "";
  723. }
  724. .offer-stamp {
  725. position: absolute;
  726. top: 30px;
  727. right: 30px;
  728. width: 82px;
  729. height: 82px;
  730. display: grid;
  731. place-items: center;
  732. border: 2px dashed var(--gold);
  733. border-radius: 8px;
  734. color: var(--gold);
  735. font-family: var(--font-display);
  736. font-size: 0.7rem;
  737. font-weight: 800;
  738. letter-spacing: 0.1em;
  739. line-height: 1.2;
  740. text-align: center;
  741. }
  742. .offer-kicker {
  743. margin: 0 0 44px;
  744. color: #f9d86e;
  745. font-size: 0.72rem;
  746. font-weight: 800;
  747. letter-spacing: 0.16em;
  748. }
  749. .offer-headline {
  750. max-width: 330px;
  751. margin: 0;
  752. font-family: var(--font-display);
  753. font-size: clamp(2.2rem, 4vw, 3.5rem);
  754. font-weight: 800;
  755. letter-spacing: -0.045em;
  756. line-height: 1.02;
  757. }
  758. .offer-coupon {
  759. position: relative;
  760. z-index: 1;
  761. display: inline-flex;
  762. flex-direction: column;
  763. margin-top: 46px;
  764. padding: 16px 23px;
  765. border-radius: 12px;
  766. background: var(--gold);
  767. color: var(--navy-deep);
  768. transform: rotate(1.5deg);
  769. }
  770. .offer-coupon strong {
  771. font-family: var(--font-display);
  772. font-size: 1.75rem;
  773. line-height: 1;
  774. }
  775. .offer-coupon span {
  776. margin-top: 4px;
  777. font-size: 0.75rem;
  778. font-weight: 700;
  779. text-transform: uppercase;
  780. }
  781. .offer-url {
  782. position: absolute;
  783. right: 44px;
  784. bottom: 35px;
  785. left: 44px;
  786. padding-top: 15px;
  787. border-top: 1px solid rgba(255, 255, 255, 0.25);
  788. font-size: 0.72rem;
  789. font-weight: 800;
  790. letter-spacing: 0.12em;
  791. }
  792. .offer-copy > p {
  793. max-width: 600px;
  794. margin: 24px 0 0;
  795. }
  796. .check-list {
  797. display: grid;
  798. gap: 19px;
  799. margin: 34px 0 0;
  800. padding: 0;
  801. list-style: none;
  802. }
  803. .check-list li {
  804. display: grid;
  805. grid-template-columns: 38px 1fr;
  806. align-items: start;
  807. gap: 15px;
  808. }
  809. .check-list li > span {
  810. width: 34px;
  811. height: 34px;
  812. display: grid;
  813. place-items: center;
  814. border-radius: 50%;
  815. background: #e1f2ec;
  816. color: #19714e;
  817. font-weight: 800;
  818. }
  819. .check-list strong,
  820. .check-list small {
  821. display: block;
  822. }
  823. .check-list strong {
  824. color: var(--navy);
  825. font-family: var(--font-display);
  826. font-weight: 800;
  827. }
  828. .check-list small {
  829. margin-top: 2px;
  830. color: var(--muted);
  831. font-size: 0.89rem;
  832. }
  833. .faq-grid {
  834. display: grid;
  835. grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  836. gap: clamp(60px, 9vw, 125px);
  837. }
  838. .faq-intro {
  839. align-self: start;
  840. position: sticky;
  841. top: 125px;
  842. }
  843. .faq-intro > p {
  844. margin: 24px 0 0;
  845. }
  846. .faq-list {
  847. border-top: 1px solid var(--line);
  848. }
  849. .faq-list details {
  850. border-bottom: 1px solid var(--line);
  851. }
  852. .faq-list summary {
  853. display: grid;
  854. grid-template-columns: 1fr 32px;
  855. align-items: center;
  856. gap: 18px;
  857. padding-block: 24px;
  858. color: var(--navy);
  859. cursor: pointer;
  860. font-family: var(--font-display);
  861. font-size: 1.05rem;
  862. font-weight: 800;
  863. list-style: none;
  864. }
  865. .faq-list summary::-webkit-details-marker {
  866. display: none;
  867. }
  868. .faq-list summary span {
  869. width: 30px;
  870. height: 30px;
  871. display: grid;
  872. place-items: center;
  873. border: 1px solid var(--line);
  874. border-radius: 50%;
  875. color: var(--blue);
  876. font-size: 1.15rem;
  877. transition: transform 180ms ease, background-color 180ms ease;
  878. }
  879. .faq-list details[open] summary span {
  880. background: var(--blue-light);
  881. transform: rotate(45deg);
  882. }
  883. .faq-list details p {
  884. max-width: 680px;
  885. margin: -5px 55px 25px 0;
  886. color: var(--muted);
  887. }
  888. .faq-list details .button {
  889. margin: 0 0 25px;
  890. }
  891. .cta-rings {
  892. position: absolute;
  893. z-index: 0;
  894. top: -170px;
  895. right: -80px;
  896. width: 520px;
  897. height: 520px;
  898. border: 75px solid rgba(241, 191, 36, 0.08);
  899. border-radius: 50%;
  900. box-shadow: 0 0 0 75px rgba(241, 191, 36, 0.035);
  901. }
  902. .site-footer {
  903. padding-block: 42px;
  904. border-top: 1px solid var(--line);
  905. background: var(--white);
  906. }
  907. .footer-grid {
  908. display: grid;
  909. grid-template-columns: 190px 1fr auto;
  910. align-items: center;
  911. gap: 28px;
  912. }
  913. .footer-brand {
  914. width: 187px;
  915. }
  916. .site-footer p {
  917. margin: 0;
  918. color: var(--muted);
  919. font-size: 0.88rem;
  920. }
  921. .site-footer nav {
  922. display: flex;
  923. gap: 25px;
  924. }
  925. .site-footer small {
  926. grid-column: 1 / -1;
  927. padding-top: 22px;
  928. border-top: 1px solid var(--line);
  929. color: var(--muted);
  930. font-size: 0.73rem;
  931. }
  932. @media (max-width: 1080px) {
  933. .nav-shell {
  934. grid-template-columns: 217px 1fr auto;
  935. gap: 18px;
  936. }
  937. .site-nav {
  938. gap: 16px;
  939. }
  940. .site-nav a {
  941. font-size: 0.8rem;
  942. }
  943. .hero-grid {
  944. grid-template-columns: minmax(0, 0.92fr) minmax(410px, 1.08fr);
  945. gap: 30px;
  946. }
  947. .fit-grid {
  948. grid-template-columns: repeat(2, 1fr);
  949. }
  950. .steps::before {
  951. display: none;
  952. }
  953. }
  954. @media (max-width: 840px) {
  955. .nav-shell {
  956. min-height: auto;
  957. grid-template-columns: 1fr auto;
  958. padding-block: 15px;
  959. }
  960. .brand {
  961. width: 217px;
  962. }
  963. .site-nav {
  964. grid-column: 1 / -1;
  965. grid-row: 2;
  966. justify-content: flex-start;
  967. overflow-x: auto;
  968. padding: 5px 0 2px;
  969. scrollbar-width: none;
  970. }
  971. .site-nav::-webkit-scrollbar { display: none; }
  972. .site-nav a { white-space: nowrap; }
  973. .hero-grid {
  974. grid-template-columns: 1fr;
  975. padding-block: 65px 75px;
  976. }
  977. .postcard-stage {
  978. min-height: 475px;
  979. }
  980. .postcard {
  981. width: min(92%, 610px);
  982. }
  983. .stage-note {
  984. right: 2%;
  985. }
  986. .signal-grid {
  987. grid-template-columns: repeat(2, 1fr);
  988. row-gap: 24px;
  989. }
  990. .signal-grid div:nth-child(2) { border-right: 0; }
  991. .signal-grid div:nth-child(3) { padding-left: 0; }
  992. .value-grid,
  993. .offer-grid,
  994. .faq-grid,
  995. .heading-split {
  996. grid-template-columns: 1fr;
  997. }
  998. .value-grid,
  999. .offer-grid,
  1000. .faq-grid {
  1001. gap: 62px;
  1002. }
  1003. .heading-split {
  1004. gap: 22px;
  1005. }
  1006. .offer-card {
  1007. justify-self: center;
  1008. width: min(100%, 485px);
  1009. }
  1010. .faq-intro {
  1011. position: static;
  1012. }
  1013. .footer-grid {
  1014. grid-template-columns: 1fr auto;
  1015. }
  1016. .site-footer p {
  1017. display: none;
  1018. }
  1019. }
  1020. @media (max-width: 600px) {
  1021. .shell {
  1022. width: min(calc(100% - 28px), var(--shell));
  1023. }
  1024. .nav-shell > .button {
  1025. min-height: 40px;
  1026. padding: 9px 13px;
  1027. font-size: 0.75rem;
  1028. }
  1029. .hero {
  1030. min-height: auto;
  1031. }
  1032. .hero-grid {
  1033. min-height: auto;
  1034. padding-block: 55px 62px;
  1035. }
  1036. .hero h1 {
  1037. font-size: clamp(2.65rem, 13vw, 4rem);
  1038. }
  1039. .hero-actions {
  1040. display: grid;
  1041. }
  1042. .hero-actions .button {
  1043. width: 100%;
  1044. }
  1045. .hero-points {
  1046. display: grid;
  1047. }
  1048. .postcard-stage {
  1049. min-height: 365px;
  1050. }
  1051. .postcard {
  1052. width: 100%;
  1053. }
  1054. .postcard-feature {
  1055. grid-template-columns: 187px 1fr;
  1056. padding: 8px 10px;
  1057. }
  1058. .ad-grid {
  1059. gap: 5px;
  1060. margin-top: 5px;
  1061. }
  1062. .ad-tile {
  1063. padding: 6px;
  1064. border-radius: 5px;
  1065. }
  1066. .stage-note {
  1067. right: 8px;
  1068. bottom: -8px;
  1069. max-width: 260px;
  1070. padding: 10px 12px;
  1071. font-size: 0.68rem;
  1072. }
  1073. .stage-note span {
  1074. width: 25px;
  1075. height: 25px;
  1076. }
  1077. .signal-grid {
  1078. padding-block: 23px;
  1079. }
  1080. .signal-grid div {
  1081. padding-inline: 14px;
  1082. }
  1083. .signal-grid strong {
  1084. font-size: 1rem;
  1085. }
  1086. .signal-grid span {
  1087. font-size: 0.74rem;
  1088. }
  1089. .section {
  1090. padding-block: 76px;
  1091. }
  1092. .section-heading {
  1093. margin-bottom: 38px;
  1094. }
  1095. .section-heading h2,
  1096. .value-copy h2,
  1097. .offer-copy h2,
  1098. .faq-intro h2 {
  1099. font-size: clamp(2.05rem, 10vw, 3rem);
  1100. }
  1101. .steps,
  1102. .fit-grid {
  1103. grid-template-columns: 1fr;
  1104. }
  1105. .steps li,
  1106. .fit-card {
  1107. min-height: auto;
  1108. padding: 25px;
  1109. }
  1110. .fit-icon {
  1111. margin-bottom: 26px;
  1112. }
  1113. .benefit-list article {
  1114. grid-template-columns: 40px 1fr;
  1115. gap: 15px;
  1116. }
  1117. .benefit-mark {
  1118. width: 36px;
  1119. height: 36px;
  1120. }
  1121. .offer-card {
  1122. min-height: 450px;
  1123. padding: 35px 28px;
  1124. }
  1125. .offer-stamp {
  1126. top: 22px;
  1127. right: 22px;
  1128. width: 70px;
  1129. height: 70px;
  1130. }
  1131. .offer-headline {
  1132. max-width: 260px;
  1133. }
  1134. .offer-url {
  1135. right: 28px;
  1136. left: 28px;
  1137. }
  1138. .faq-list summary {
  1139. font-size: 0.96rem;
  1140. }
  1141. .faq-list details p {
  1142. margin-right: 0;
  1143. }
  1144. .footer-grid {
  1145. grid-template-columns: 1fr;
  1146. }
  1147. .site-footer nav {
  1148. flex-wrap: wrap;
  1149. }
  1150. }
  1151. @media (max-width: 380px) {
  1152. .nav-shell > .button {
  1153. display: none;
  1154. }
  1155. }
  1156. @media (prefers-reduced-motion: reduce) {
  1157. html { scroll-behavior: auto; }
  1158. *,
  1159. *::before,
  1160. *::after {
  1161. scroll-behavior: auto !important;
  1162. transition-duration: 0.01ms !important;
  1163. }
  1164. }
  1165. /* Contact section */
  1166. .contact-section {
  1167. padding: 30px 0 110px;
  1168. background: var(--white);
  1169. }
  1170. .contact-card {
  1171. position: relative;
  1172. isolation: isolate;
  1173. display: grid;
  1174. grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  1175. align-items: center;
  1176. gap: clamp(36px, 6vw, 80px);
  1177. overflow: hidden;
  1178. padding: clamp(36px, 6vw, 80px);
  1179. border-radius: var(--radius-lg);
  1180. background: var(--navy);
  1181. box-shadow: 0 30px 70px rgba(5, 47, 79, 0.24);
  1182. color: var(--white);
  1183. }
  1184. .contact-intro,
  1185. .contact-panel {
  1186. position: relative;
  1187. z-index: 1;
  1188. }
  1189. .contact-intro h2 {
  1190. margin: 0;
  1191. color: var(--white);
  1192. font-family: var(--font-display);
  1193. font-size: clamp(2rem, 3.6vw, 3.25rem);
  1194. font-weight: 800;
  1195. letter-spacing: -0.045em;
  1196. line-height: 1.06;
  1197. }
  1198. .contact-intro p:not(.eyebrow) {
  1199. margin: 20px 0 0;
  1200. color: #c9d6dd;
  1201. font-size: 1.03rem;
  1202. }
  1203. .contact-intro .contact-note {
  1204. color: #b7c8d1;
  1205. font-size: 0.82rem;
  1206. }
  1207. .contact-panel {
  1208. padding: clamp(22px, 3vw, 34px);
  1209. border: 1px solid rgba(255, 255, 255, 0.12);
  1210. border-radius: 18px;
  1211. background: rgba(255, 255, 255, 0.06);
  1212. }
  1213. .contact-form {
  1214. display: grid;
  1215. grid-template-columns: repeat(2, minmax(0, 1fr));
  1216. gap: 14px 16px;
  1217. }
  1218. .contact-form label {
  1219. display: grid;
  1220. gap: 6px;
  1221. font-size: 0.9rem;
  1222. font-weight: 600;
  1223. }
  1224. .contact-form input,
  1225. .contact-form textarea {
  1226. width: 100%;
  1227. padding: 11px 12px;
  1228. border: 1px solid rgba(255, 255, 255, 0.35);
  1229. border-radius: 8px;
  1230. background: var(--white);
  1231. color: var(--ink);
  1232. font: inherit;
  1233. }
  1234. .contact-wide,
  1235. .contact-errors,
  1236. .contact-form .button {
  1237. grid-column: 1 / -1;
  1238. }
  1239. .contact-form .button {
  1240. justify-self: start;
  1241. }
  1242. .contact-errors {
  1243. padding: 10px 14px;
  1244. border-radius: 8px;
  1245. background: #fde8e8;
  1246. color: #8a1c1c;
  1247. font-size: 0.92rem;
  1248. }
  1249. .contact-errors ul {
  1250. margin: 0;
  1251. padding-left: 18px;
  1252. }
  1253. .contact-success {
  1254. margin: 0;
  1255. color: var(--gold);
  1256. font-size: 1.1rem;
  1257. font-weight: 700;
  1258. }
  1259. .contact-trap {
  1260. position: absolute;
  1261. left: -9999px;
  1262. }
  1263. .hero-copy .hero-actions + .hero-points {
  1264. margin-top: 29px;
  1265. }
  1266. @media (max-width: 1080px) {
  1267. .contact-card {
  1268. grid-template-columns: 1fr;
  1269. }
  1270. }
  1271. @media (max-width: 600px) {
  1272. .contact-section {
  1273. padding-bottom: 70px;
  1274. }
  1275. .contact-card {
  1276. padding: 36px 20px;
  1277. border-radius: 24px;
  1278. }
  1279. .contact-form {
  1280. grid-template-columns: 1fr;
  1281. }
  1282. .contact-form .button {
  1283. width: 100%;
  1284. }
  1285. }
  1286. /* Ad sizes */
  1287. .size-scale {
  1288. margin: 0 0 48px;
  1289. text-align: center;
  1290. }
  1291. .size-scale-row {
  1292. --u: clamp(11px, 2.4vw, 20px);
  1293. display: flex;
  1294. align-items: flex-end;
  1295. justify-content: center;
  1296. gap: clamp(22px, 5vw, 56px);
  1297. }
  1298. .scale-item {
  1299. display: grid;
  1300. justify-items: center;
  1301. gap: 10px;
  1302. }
  1303. .scale-item figcaption {
  1304. color: var(--navy);
  1305. font-family: var(--font-display);
  1306. font-size: 0.82rem;
  1307. font-weight: 800;
  1308. }
  1309. .scale-shape {
  1310. display: block;
  1311. box-shadow: 0 10px 24px rgba(5, 47, 79, 0.14);
  1312. }
  1313. .scale-card {
  1314. width: calc(var(--u) * 12);
  1315. height: calc(var(--u) * 9);
  1316. border: 2px solid var(--navy);
  1317. background: var(--white);
  1318. }
  1319. .scale-large {
  1320. width: calc(var(--u) * 6);
  1321. height: calc(var(--u) * 4);
  1322. background: var(--navy);
  1323. }
  1324. .scale-small {
  1325. width: calc(var(--u) * 3);
  1326. height: calc(var(--u) * 4);
  1327. background: var(--gold);
  1328. }
  1329. .scale-caption {
  1330. margin: 16px 0 0;
  1331. color: var(--muted);
  1332. font-size: 0.82rem;
  1333. }
  1334. .size-grid {
  1335. max-width: 820px;
  1336. display: grid;
  1337. grid-template-columns: repeat(2, 1fr);
  1338. gap: 18px;
  1339. margin: 0 auto;
  1340. }
  1341. .size-card {
  1342. padding: 30px;
  1343. border: 1px solid rgba(5, 47, 79, 0.1);
  1344. background: var(--white);
  1345. }
  1346. .size-card-featured {
  1347. border-color: var(--navy);
  1348. box-shadow: 0 20px 50px rgba(5, 47, 79, 0.12);
  1349. }
  1350. .size-card h3 {
  1351. margin: 0;
  1352. color: var(--navy);
  1353. font-family: var(--font-display);
  1354. font-size: 1.4rem;
  1355. font-weight: 800;
  1356. }
  1357. .size-card p {
  1358. margin: 10px 0 0;
  1359. color: var(--muted);
  1360. font-size: 0.95rem;
  1361. }
  1362. .size-card ul {
  1363. margin: 18px 0 0;
  1364. padding: 0;
  1365. color: var(--ink);
  1366. font-size: 0.9rem;
  1367. font-weight: 600;
  1368. list-style: none;
  1369. }
  1370. .size-card li {
  1371. padding-block: 8px;
  1372. border-top: 1px solid var(--line);
  1373. }
  1374. .pricing-note {
  1375. max-width: 820px;
  1376. display: flex;
  1377. align-items: center;
  1378. justify-content: space-between;
  1379. gap: 28px;
  1380. margin: 18px auto 0;
  1381. padding: 28px 30px;
  1382. background: var(--navy);
  1383. color: var(--white);
  1384. }
  1385. .pricing-note h3 {
  1386. margin: 0;
  1387. font-family: var(--font-display);
  1388. font-size: 1.15rem;
  1389. font-weight: 800;
  1390. }
  1391. .pricing-note p {
  1392. margin: 8px 0 0;
  1393. color: #c9d6dd;
  1394. font-size: 0.92rem;
  1395. }
  1396. .pricing-note .button {
  1397. flex: 0 0 auto;
  1398. background: var(--gold);
  1399. color: var(--navy-deep);
  1400. }
  1401. .pricing-note .button:hover {
  1402. background: #ffd44a;
  1403. }
  1404. @media (max-width: 700px) {
  1405. .size-grid {
  1406. grid-template-columns: 1fr;
  1407. }
  1408. .pricing-note {
  1409. flex-direction: column;
  1410. align-items: stretch;
  1411. text-align: left;
  1412. }
  1413. }
  1414. /* Icons */
  1415. .icon {
  1416. width: 1em;
  1417. height: 1em;
  1418. flex: 0 0 auto;
  1419. fill: none;
  1420. stroke: currentColor;
  1421. stroke-width: 2;
  1422. stroke-linecap: square;
  1423. stroke-linejoin: miter;
  1424. }
  1425. .step-icon .icon { width: 28px; height: 28px; }
  1426. .fit-icon .icon { width: 32px; height: 32px; }
  1427. .hero-points .icon { width: 12px; height: 12px; stroke-width: 3; }
  1428. .stage-note .icon { width: 16px; height: 16px; }
  1429. .check-list .icon { width: 18px; height: 18px; stroke-width: 3; }
  1430. /* Form feedback and focus */
  1431. .contact-form input:focus-visible,
  1432. .contact-form textarea:focus-visible {
  1433. outline-offset: 2px;
  1434. }
  1435. .contact-errors:focus,
  1436. .contact-success:focus {
  1437. outline: 3px solid var(--gold);
  1438. outline-offset: 4px;
  1439. }
  1440. .contact-form input[aria-invalid="true"],
  1441. .contact-form textarea[aria-invalid="true"] {
  1442. border: 2px solid #e5533d;
  1443. }
  1444. .field-error {
  1445. margin: 0;
  1446. color: #ffd2c9;
  1447. font-size: 0.82rem;
  1448. font-weight: 600;
  1449. }
  1450. .contact-form {
  1451. align-items: start;
  1452. }
  1453. .contact-form label {
  1454. align-content: start;
  1455. }
  1456. /* Mobile navigation and sticky call to action */
  1457. .nav-toggle,
  1458. .sticky-cta {
  1459. display: none;
  1460. }
  1461. [id] {
  1462. scroll-margin-top: 90px;
  1463. }
  1464. @media (max-width: 840px) {
  1465. .has-js .nav-shell {
  1466. min-height: 72px;
  1467. grid-template-columns: 1fr auto auto;
  1468. padding-block: 8px;
  1469. }
  1470. .has-js .nav-toggle {
  1471. width: 48px;
  1472. height: 48px;
  1473. display: inline-grid;
  1474. place-items: center;
  1475. padding: 0;
  1476. border: 1px solid rgba(5, 47, 79, 0.18);
  1477. background: var(--white);
  1478. cursor: pointer;
  1479. }
  1480. .nav-toggle-bars,
  1481. .nav-toggle-bars::before,
  1482. .nav-toggle-bars::after {
  1483. width: 22px;
  1484. height: 2px;
  1485. display: block;
  1486. background: var(--navy);
  1487. content: "";
  1488. transition: transform 180ms ease, background-color 180ms ease;
  1489. }
  1490. .nav-toggle-bars {
  1491. position: relative;
  1492. }
  1493. .nav-toggle-bars::before,
  1494. .nav-toggle-bars::after {
  1495. position: absolute;
  1496. left: 0;
  1497. }
  1498. .nav-toggle-bars::before { top: -7px; }
  1499. .nav-toggle-bars::after { top: 7px; }
  1500. .nav-toggle[aria-expanded="true"] .nav-toggle-bars {
  1501. background: transparent;
  1502. }
  1503. .nav-toggle[aria-expanded="true"] .nav-toggle-bars::before {
  1504. transform: translateY(7px) rotate(45deg);
  1505. }
  1506. .nav-toggle[aria-expanded="true"] .nav-toggle-bars::after {
  1507. transform: translateY(-7px) rotate(-45deg);
  1508. }
  1509. .has-js .site-nav {
  1510. position: absolute;
  1511. top: 100%;
  1512. right: 0;
  1513. left: 0;
  1514. display: none;
  1515. flex-direction: column;
  1516. justify-content: flex-start;
  1517. gap: 0;
  1518. overflow: visible;
  1519. padding: 4px 20px 14px;
  1520. border-bottom: 1px solid rgba(5, 47, 79, 0.1);
  1521. background: var(--white);
  1522. box-shadow: 0 18px 30px rgba(5, 47, 79, 0.12);
  1523. }
  1524. .has-js .site-nav.is-open {
  1525. display: flex;
  1526. }
  1527. .has-js .site-nav a {
  1528. padding: 15px 0;
  1529. border-bottom: 1px solid var(--line);
  1530. font-size: 1rem;
  1531. }
  1532. .has-js .site-nav a:last-child {
  1533. border-bottom: 0;
  1534. }
  1535. .has-js .site-nav a::after {
  1536. display: none;
  1537. }
  1538. }
  1539. @media (max-width: 700px) {
  1540. .has-js .nav-shell > .button {
  1541. display: none;
  1542. }
  1543. .has-js .nav-shell {
  1544. grid-template-columns: 1fr auto;
  1545. }
  1546. body {
  1547. padding-bottom: 84px;
  1548. }
  1549. .has-js .sticky-cta {
  1550. position: fixed;
  1551. z-index: 40;
  1552. right: 0;
  1553. bottom: 0;
  1554. left: 0;
  1555. display: block;
  1556. padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  1557. border-top: 1px solid rgba(5, 47, 79, 0.12);
  1558. background: var(--white);
  1559. box-shadow: 0 -10px 30px rgba(5, 47, 79, 0.14);
  1560. transform: translateY(110%);
  1561. transition: transform 220ms ease;
  1562. }
  1563. .has-js .sticky-cta.is-visible {
  1564. transform: translateY(0);
  1565. }
  1566. .sticky-cta .button {
  1567. width: 100%;
  1568. }
  1569. }
  1570. /* Privacy note and legal pages */
  1571. .contact-privacy {
  1572. grid-column: 1 / -1;
  1573. margin: 0;
  1574. color: #c9d6dd;
  1575. font-size: 0.82rem;
  1576. }
  1577. .contact-privacy a {
  1578. color: #f9d86e;
  1579. }
  1580. .legal-page {
  1581. background: var(--white);
  1582. }
  1583. .legal-shell {
  1584. max-width: 760px;
  1585. }
  1586. .legal-shell h1 {
  1587. margin: 0;
  1588. color: var(--navy);
  1589. font-family: var(--font-display);
  1590. font-size: clamp(2.2rem, 5vw, 3.4rem);
  1591. font-weight: 800;
  1592. letter-spacing: -0.045em;
  1593. line-height: 1.08;
  1594. }
  1595. .legal-updated {
  1596. margin: 12px 0 0;
  1597. color: var(--muted);
  1598. font-size: 0.9rem;
  1599. }
  1600. .legal-lead {
  1601. margin: 28px 0 0;
  1602. padding: 20px 24px;
  1603. border-left: 4px solid var(--gold);
  1604. background: var(--cream);
  1605. color: var(--navy);
  1606. font-size: 1.1rem;
  1607. font-weight: 600;
  1608. }
  1609. .legal-shell h2 {
  1610. margin: 40px 0 0;
  1611. color: var(--navy);
  1612. font-family: var(--font-display);
  1613. font-size: 1.35rem;
  1614. font-weight: 800;
  1615. }
  1616. .legal-shell p,
  1617. .legal-shell li {
  1618. color: #334b5c;
  1619. }
  1620. .legal-shell p {
  1621. margin: 12px 0 0;
  1622. }
  1623. .legal-shell ul {
  1624. margin: 12px 0 0;
  1625. padding-left: 22px;
  1626. }
  1627. .legal-shell li + li {
  1628. margin-top: 6px;
  1629. }
  1630. .legal-shell a:not(.text-link) {
  1631. color: var(--blue);
  1632. font-weight: 600;
  1633. }
  1634. .legal-back {
  1635. margin-top: 48px;
  1636. }
  1637. .legal-back .text-link {
  1638. color: var(--blue);
  1639. }
  1640. .legal-shell .legal-lead {
  1641. margin-top: 28px;
  1642. color: var(--navy);
  1643. }
  1644. .legal-shell .legal-updated {
  1645. color: var(--muted);
  1646. }

Powered by TurnKey Linux.