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.

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

Powered by TurnKey Linux.