You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1427 lines
24KB

  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(--gold);
  55. outline-offset: 4px;
  56. }
  57. .skip-link {
  58. position: fixed;
  59. z-index: 1000;
  60. top: 12px;
  61. left: 12px;
  62. padding: 10px 16px;
  63. border-radius: 8px;
  64. background: var(--white);
  65. color: var(--navy);
  66. font-weight: 700;
  67. transform: translateY(-150%);
  68. transition: transform 160ms ease;
  69. }
  70. .skip-link:focus {
  71. transform: translateY(0);
  72. }
  73. .shell {
  74. width: min(var(--shell), calc(100% - 40px));
  75. margin-inline: auto;
  76. }
  77. .site-header {
  78. position: sticky;
  79. z-index: 50;
  80. top: 0;
  81. border-bottom: 1px solid rgba(5, 47, 79, 0.1);
  82. background: rgba(255, 253, 248, 0.94);
  83. backdrop-filter: blur(14px);
  84. }
  85. .nav-shell {
  86. min-height: 82px;
  87. display: grid;
  88. grid-template-columns: minmax(180px, 235px) 1fr auto;
  89. align-items: center;
  90. gap: 30px;
  91. }
  92. .brand {
  93. display: block;
  94. width: 217px;
  95. }
  96. .brand img,
  97. .footer-brand img,
  98. .postcard-feature img {
  99. width: auto;
  100. max-width: none;
  101. height: auto;
  102. }
  103. .site-nav {
  104. display: flex;
  105. justify-content: center;
  106. gap: clamp(18px, 2.5vw, 34px);
  107. }
  108. .site-nav a,
  109. .site-footer nav a {
  110. position: relative;
  111. color: #334b5c;
  112. font-size: 0.9rem;
  113. font-weight: 700;
  114. text-decoration: none;
  115. }
  116. .site-nav a::after,
  117. .site-footer nav a::after {
  118. position: absolute;
  119. right: 0;
  120. bottom: -7px;
  121. left: 0;
  122. height: 2px;
  123. background: var(--gold-dark);
  124. content: "";
  125. transform: scaleX(0);
  126. transform-origin: left;
  127. transition: transform 180ms ease;
  128. }
  129. .site-nav a:hover::after,
  130. .site-footer nav a:hover::after {
  131. transform: scaleX(1);
  132. }
  133. .button {
  134. min-height: 52px;
  135. display: inline-flex;
  136. align-items: center;
  137. justify-content: center;
  138. gap: 10px;
  139. padding: 13px 22px;
  140. border: 1px solid transparent;
  141. border-radius: 999px;
  142. font-family: var(--font-display);
  143. font-size: 0.94rem;
  144. font-weight: 800;
  145. line-height: 1.2;
  146. text-align: center;
  147. text-decoration: none;
  148. transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
  149. }
  150. .button:hover {
  151. transform: translateY(-2px);
  152. }
  153. .button-small {
  154. min-height: 44px;
  155. padding: 10px 18px;
  156. font-size: 0.85rem;
  157. }
  158. .button-primary {
  159. background: var(--navy);
  160. box-shadow: 0 10px 25px rgba(5, 47, 79, 0.2);
  161. color: var(--white);
  162. }
  163. .button-primary:hover {
  164. background: #084368;
  165. box-shadow: 0 14px 30px rgba(5, 47, 79, 0.25);
  166. }
  167. .button-quiet {
  168. border-color: rgba(5, 47, 79, 0.18);
  169. background: rgba(255, 255, 255, 0.72);
  170. color: var(--navy);
  171. }
  172. .button-quiet:hover {
  173. border-color: rgba(5, 47, 79, 0.34);
  174. background: var(--white);
  175. }
  176. .button-gold {
  177. background: var(--gold);
  178. box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  179. color: var(--navy-deep);
  180. }
  181. .button-gold:hover {
  182. background: #ffd44a;
  183. }
  184. .hero {
  185. position: relative;
  186. isolation: isolate;
  187. min-height: 710px;
  188. overflow: hidden;
  189. background:
  190. linear-gradient(118deg, rgba(250, 246, 235, 0.84), rgba(255, 253, 248, 0.95)),
  191. radial-gradient(circle at 15% 20%, rgba(241, 191, 36, 0.17), transparent 34%);
  192. }
  193. .hero::before {
  194. position: absolute;
  195. z-index: -1;
  196. top: -35%;
  197. right: -13%;
  198. width: 55%;
  199. aspect-ratio: 1;
  200. border: 1px solid rgba(11, 93, 134, 0.08);
  201. border-radius: 50%;
  202. box-shadow: 0 0 0 80px rgba(11, 93, 134, 0.025), 0 0 0 160px rgba(11, 93, 134, 0.02);
  203. content: "";
  204. }
  205. .hero-grid {
  206. min-height: 710px;
  207. display: grid;
  208. grid-template-columns: minmax(0, 0.93fr) minmax(500px, 1.07fr);
  209. align-items: center;
  210. gap: clamp(38px, 6vw, 78px);
  211. padding-block: 74px 80px;
  212. }
  213. .hero-copy {
  214. position: relative;
  215. z-index: 2;
  216. }
  217. .eyebrow {
  218. margin: 0 0 20px;
  219. color: var(--blue);
  220. font-size: 0.76rem;
  221. font-weight: 800;
  222. letter-spacing: 0.14em;
  223. text-transform: uppercase;
  224. }
  225. .eyebrow span {
  226. width: 25px;
  227. height: 3px;
  228. display: inline-block;
  229. margin: 0 10px 3px 0;
  230. border-radius: 2px;
  231. background: var(--gold);
  232. }
  233. .hero h1,
  234. .section-heading h2,
  235. .value-copy h2,
  236. .offer-copy h2,
  237. .faq-intro h2,
  238. .cta-card h2 {
  239. margin: 0;
  240. color: var(--navy);
  241. font-family: var(--font-display);
  242. font-weight: 800;
  243. letter-spacing: -0.045em;
  244. line-height: 1.06;
  245. }
  246. .hero h1 {
  247. max-width: 700px;
  248. font-size: clamp(3rem, 5.6vw, 5.3rem);
  249. }
  250. .hero h1 em {
  251. color: var(--blue);
  252. font-style: normal;
  253. padding-inline: 0.03em;
  254. background: linear-gradient(transparent 83%, rgba(241, 191, 36, 0.58) 83% 94%, transparent 94%);
  255. -webkit-box-decoration-break: clone;
  256. box-decoration-break: clone;
  257. }
  258. .hero-lede {
  259. max-width: 640px;
  260. margin: 26px 0 0;
  261. color: #435967;
  262. font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  263. line-height: 1.75;
  264. }
  265. .hero-actions {
  266. display: flex;
  267. flex-wrap: wrap;
  268. gap: 13px;
  269. margin-top: 34px;
  270. }
  271. .hero-points {
  272. display: flex;
  273. flex-wrap: wrap;
  274. gap: 12px 22px;
  275. margin: 29px 0 0;
  276. padding: 0;
  277. color: #45606f;
  278. font-size: 0.84rem;
  279. font-weight: 700;
  280. list-style: none;
  281. }
  282. .hero-points span {
  283. width: 21px;
  284. height: 21px;
  285. display: inline-grid;
  286. place-items: center;
  287. margin-right: 6px;
  288. border-radius: 50%;
  289. background: var(--blue-light);
  290. color: var(--blue);
  291. font-size: 0.72rem;
  292. }
  293. .postcard-stage {
  294. position: relative;
  295. min-height: 520px;
  296. display: grid;
  297. place-items: center;
  298. perspective: 1200px;
  299. }
  300. .postcard-shadow {
  301. position: absolute;
  302. right: 3%;
  303. bottom: 7%;
  304. width: 80%;
  305. height: 19%;
  306. border-radius: 50%;
  307. background: rgba(6, 31, 50, 0.24);
  308. filter: blur(30px);
  309. transform: rotate(-4deg);
  310. }
  311. .postcard {
  312. position: relative;
  313. width: min(100%, 610px);
  314. aspect-ratio: 12 / 9;
  315. overflow: hidden;
  316. padding: clamp(15px, 2vw, 24px);
  317. border: 1px solid rgba(5, 47, 79, 0.12);
  318. border-radius: 18px;
  319. background: #fffef9;
  320. box-shadow: 0 34px 80px rgba(5, 47, 79, 0.22), 0 5px 15px rgba(5, 47, 79, 0.12);
  321. }
  322. .postcard::after {
  323. position: absolute;
  324. inset: 0;
  325. border-radius: inherit;
  326. background: linear-gradient(120deg, rgba(255, 255, 255, 0.35), transparent 25% 78%, rgba(5, 47, 79, 0.04));
  327. content: "";
  328. pointer-events: none;
  329. }
  330. .postcard-topline {
  331. display: flex;
  332. justify-content: space-between;
  333. margin-bottom: 10px;
  334. color: #60717d;
  335. font-size: clamp(0.52rem, 0.8vw, 0.68rem);
  336. font-weight: 800;
  337. letter-spacing: 0.14em;
  338. }
  339. .postcard-feature {
  340. min-height: 30%;
  341. display: grid;
  342. grid-template-columns: 187px 1fr;
  343. align-items: center;
  344. gap: 14px;
  345. padding: 10px 18px 13px;
  346. border-radius: 12px;
  347. background: linear-gradient(115deg, #f8edc8, #fff6d8 58%, #f8e8a7);
  348. }
  349. .postcard-feature strong {
  350. color: var(--navy);
  351. font-family: var(--font-display);
  352. font-size: clamp(0.8rem, 1.6vw, 1.3rem);
  353. line-height: 1.18;
  354. text-align: right;
  355. }
  356. .ad-grid {
  357. height: 49%;
  358. display: grid;
  359. grid-template-columns: repeat(3, 1fr);
  360. grid-template-rows: repeat(2, 1fr);
  361. gap: 8px;
  362. margin-top: 8px;
  363. }
  364. .ad-tile {
  365. min-width: 0;
  366. display: flex;
  367. flex-direction: column;
  368. justify-content: center;
  369. padding: clamp(8px, 1.4vw, 15px);
  370. border: 1px solid rgba(5, 47, 79, 0.11);
  371. border-radius: 9px;
  372. line-height: 1.18;
  373. }
  374. .ad-tile span {
  375. margin-bottom: 5px;
  376. font-size: clamp(0.42rem, 0.65vw, 0.59rem);
  377. font-weight: 800;
  378. letter-spacing: 0.1em;
  379. }
  380. .ad-tile strong {
  381. font-family: var(--font-display);
  382. font-size: clamp(0.64rem, 1vw, 0.9rem);
  383. }
  384. .tile-gold { background: #f5cf53; color: var(--navy-deep); }
  385. .tile-navy { background: var(--navy); color: var(--white); }
  386. .tile-cream { background: #f5f0df; color: var(--navy); }
  387. .tile-coral { background: #f38b73; color: #3c1b13; }
  388. .tile-blue { background: #d5edf3; color: var(--navy); }
  389. .tile-white { border: 2px dashed var(--gold-dark); background: var(--white); color: var(--navy); text-align: center; }
  390. .postcard-edge {
  391. margin-top: 8px;
  392. color: #6a7881;
  393. font-size: clamp(0.45rem, 0.75vw, 0.62rem);
  394. font-weight: 700;
  395. letter-spacing: 0.09em;
  396. text-align: center;
  397. text-transform: uppercase;
  398. }
  399. .stage-note {
  400. position: absolute;
  401. right: 0;
  402. bottom: 3px;
  403. max-width: 315px;
  404. display: flex;
  405. align-items: center;
  406. gap: 12px;
  407. padding: 13px 17px;
  408. border: 1px solid rgba(5, 47, 79, 0.1);
  409. border-radius: 13px;
  410. background: rgba(255, 255, 255, 0.95);
  411. box-shadow: 0 12px 34px rgba(5, 47, 79, 0.14);
  412. color: #3e5461;
  413. font-size: 0.77rem;
  414. font-weight: 700;
  415. line-height: 1.35;
  416. }
  417. .stage-note span {
  418. flex: 0 0 auto;
  419. width: 30px;
  420. height: 30px;
  421. display: grid;
  422. place-items: center;
  423. border-radius: 50%;
  424. background: var(--gold);
  425. color: var(--navy);
  426. font-size: 1rem;
  427. }
  428. .signal-strip {
  429. border-block: 1px solid rgba(5, 47, 79, 0.1);
  430. background: var(--white);
  431. }
  432. .signal-grid {
  433. display: grid;
  434. grid-template-columns: repeat(4, 1fr);
  435. padding-block: 28px;
  436. }
  437. .signal-grid div {
  438. min-width: 0;
  439. padding-inline: clamp(18px, 3vw, 36px);
  440. border-right: 1px solid var(--line);
  441. }
  442. .signal-grid div:first-child { padding-left: 0; }
  443. .signal-grid div:last-child { border-right: 0; }
  444. .signal-grid strong,
  445. .signal-grid span {
  446. display: block;
  447. }
  448. .signal-grid strong {
  449. color: var(--navy);
  450. font-family: var(--font-display);
  451. font-size: 1.16rem;
  452. font-weight: 800;
  453. }
  454. .signal-grid span {
  455. margin-top: 2px;
  456. color: var(--muted);
  457. font-size: 0.82rem;
  458. }
  459. .section {
  460. padding-block: clamp(82px, 10vw, 130px);
  461. }
  462. .section-light { background: var(--white); }
  463. .section-warm { background: var(--cream); }
  464. .section-heading {
  465. margin-bottom: 56px;
  466. }
  467. .section-heading h2,
  468. .value-copy h2,
  469. .offer-copy h2,
  470. .faq-intro h2,
  471. .cta-card h2 {
  472. font-size: clamp(2.25rem, 4.3vw, 4rem);
  473. }
  474. .section-heading > p:last-child,
  475. .heading-split > p,
  476. .value-copy > p,
  477. .offer-copy > p,
  478. .faq-intro > p {
  479. color: var(--muted);
  480. font-size: 1.05rem;
  481. }
  482. .heading-centered {
  483. max-width: 720px;
  484. margin-inline: auto;
  485. text-align: center;
  486. }
  487. .eyebrow-centered span {
  488. display: none;
  489. }
  490. .heading-centered > p:last-child {
  491. max-width: 620px;
  492. margin: 20px auto 0;
  493. }
  494. .steps {
  495. position: relative;
  496. display: grid;
  497. grid-template-columns: repeat(4, 1fr);
  498. gap: 18px;
  499. margin: 0;
  500. padding: 0;
  501. list-style: none;
  502. }
  503. .steps::before {
  504. position: absolute;
  505. top: 57px;
  506. right: 8%;
  507. left: 8%;
  508. height: 1px;
  509. background: repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 16px);
  510. content: "";
  511. }
  512. .steps li {
  513. position: relative;
  514. z-index: 1;
  515. padding: 28px;
  516. border: 1px solid var(--line);
  517. border-radius: var(--radius-md);
  518. background: var(--paper);
  519. transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
  520. }
  521. .steps li:hover {
  522. border-color: rgba(11, 93, 134, 0.35);
  523. box-shadow: 0 18px 45px rgba(5, 47, 79, 0.1);
  524. transform: translateY(-5px);
  525. }
  526. .step-number {
  527. position: absolute;
  528. top: 20px;
  529. right: 22px;
  530. color: #a1acb3;
  531. font-family: var(--font-display);
  532. font-size: 0.76rem;
  533. font-weight: 800;
  534. }
  535. .step-icon {
  536. width: 56px;
  537. height: 56px;
  538. display: grid;
  539. place-items: center;
  540. margin-bottom: 28px;
  541. border-radius: 16px;
  542. background: var(--blue-light);
  543. color: var(--blue);
  544. font-family: var(--font-display);
  545. font-size: 1.6rem;
  546. font-weight: 800;
  547. }
  548. .steps li:nth-child(even) .step-icon {
  549. background: #fff0bd;
  550. color: #886600;
  551. }
  552. .steps h3,
  553. .benefit-list h3,
  554. .fit-card h3 {
  555. margin: 0;
  556. color: var(--navy);
  557. font-family: var(--font-display);
  558. font-size: 1.15rem;
  559. font-weight: 800;
  560. }
  561. .steps p,
  562. .benefit-list p,
  563. .fit-card p {
  564. margin: 10px 0 0;
  565. color: var(--muted);
  566. font-size: 0.92rem;
  567. }
  568. .section-navy {
  569. position: relative;
  570. overflow: hidden;
  571. background: var(--navy-deep);
  572. color: var(--white);
  573. }
  574. .section-navy::before {
  575. position: absolute;
  576. top: -240px;
  577. left: -190px;
  578. width: 520px;
  579. height: 520px;
  580. border: 90px solid rgba(241, 191, 36, 0.055);
  581. border-radius: 50%;
  582. content: "";
  583. }
  584. .value-grid {
  585. position: relative;
  586. display: grid;
  587. grid-template-columns: minmax(0, 0.84fr) minmax(440px, 1.16fr);
  588. gap: clamp(60px, 9vw, 120px);
  589. }
  590. .eyebrow-on-dark { color: #f9d86e; }
  591. .value-copy h2,
  592. .cta-card h2 {
  593. color: var(--white);
  594. }
  595. .value-copy > p {
  596. margin: 25px 0 0;
  597. color: #c6d2d9;
  598. }
  599. .text-link {
  600. display: inline-flex;
  601. gap: 10px;
  602. margin-top: 32px;
  603. color: #f9d86e;
  604. font-weight: 800;
  605. text-decoration: none;
  606. }
  607. .text-link:hover span {
  608. transform: translateX(4px);
  609. }
  610. .text-link span {
  611. transition: transform 180ms ease;
  612. }
  613. .benefit-list {
  614. display: grid;
  615. gap: 0;
  616. }
  617. .benefit-list article {
  618. display: grid;
  619. grid-template-columns: 48px 1fr;
  620. gap: 22px;
  621. padding-block: 25px;
  622. border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  623. }
  624. .benefit-list article:first-child { padding-top: 0; }
  625. .benefit-list article:last-child { padding-bottom: 0; border-bottom: 0; }
  626. .benefit-mark {
  627. width: 42px;
  628. height: 42px;
  629. display: grid;
  630. place-items: center;
  631. border: 1px solid rgba(241, 191, 36, 0.42);
  632. border-radius: 50%;
  633. color: #f9d86e;
  634. font-family: var(--font-display);
  635. font-size: 0.75rem;
  636. font-weight: 800;
  637. }
  638. .benefit-list h3 { color: var(--white); }
  639. .benefit-list p { color: #b9c8d1; }
  640. .heading-split {
  641. display: grid;
  642. grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  643. align-items: end;
  644. gap: 70px;
  645. }
  646. .heading-split > p {
  647. margin: 0 0 8px;
  648. }
  649. .fit-grid {
  650. display: grid;
  651. grid-template-columns: repeat(4, 1fr);
  652. gap: 16px;
  653. }
  654. .fit-card {
  655. min-height: 270px;
  656. padding: 30px;
  657. border: 1px solid rgba(5, 47, 79, 0.1);
  658. border-radius: var(--radius-md);
  659. background: rgba(255, 255, 255, 0.7);
  660. transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
  661. }
  662. .fit-card:hover {
  663. background: var(--white);
  664. box-shadow: 0 20px 50px rgba(5, 47, 79, 0.1);
  665. transform: translateY(-5px);
  666. }
  667. .fit-icon {
  668. width: 64px;
  669. height: 64px;
  670. display: grid;
  671. place-items: center;
  672. margin-bottom: 40px;
  673. border-radius: 20px;
  674. background: var(--navy);
  675. color: var(--gold);
  676. font-size: 1.85rem;
  677. }
  678. .offer-section {
  679. background: var(--white);
  680. }
  681. .offer-grid {
  682. display: grid;
  683. grid-template-columns: minmax(350px, 0.85fr) minmax(0, 1.15fr);
  684. align-items: center;
  685. gap: clamp(60px, 9vw, 125px);
  686. }
  687. .offer-card {
  688. position: relative;
  689. max-width: 485px;
  690. min-height: 520px;
  691. overflow: hidden;
  692. padding: clamp(34px, 5vw, 58px);
  693. border-radius: 8px;
  694. background:
  695. linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
  696. linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
  697. var(--navy);
  698. background-size: 20px 20px;
  699. box-shadow: var(--shadow);
  700. color: var(--white);
  701. transform: rotate(-2.5deg);
  702. }
  703. .offer-card::after {
  704. position: absolute;
  705. right: -90px;
  706. bottom: -90px;
  707. width: 260px;
  708. height: 260px;
  709. border: 38px solid rgba(241, 191, 36, 0.16);
  710. border-radius: 50%;
  711. content: "";
  712. }
  713. .offer-stamp {
  714. position: absolute;
  715. top: 30px;
  716. right: 30px;
  717. width: 82px;
  718. height: 82px;
  719. display: grid;
  720. place-items: center;
  721. border: 2px dashed var(--gold);
  722. border-radius: 8px;
  723. color: var(--gold);
  724. font-family: var(--font-display);
  725. font-size: 0.7rem;
  726. font-weight: 800;
  727. letter-spacing: 0.1em;
  728. line-height: 1.2;
  729. text-align: center;
  730. }
  731. .offer-kicker {
  732. margin: 0 0 44px;
  733. color: #f9d86e;
  734. font-size: 0.72rem;
  735. font-weight: 800;
  736. letter-spacing: 0.16em;
  737. }
  738. .offer-headline {
  739. max-width: 330px;
  740. margin: 0;
  741. font-family: var(--font-display);
  742. font-size: clamp(2.2rem, 4vw, 3.5rem);
  743. font-weight: 800;
  744. letter-spacing: -0.045em;
  745. line-height: 1.02;
  746. }
  747. .offer-coupon {
  748. position: relative;
  749. z-index: 1;
  750. display: inline-flex;
  751. flex-direction: column;
  752. margin-top: 46px;
  753. padding: 16px 23px;
  754. border-radius: 12px;
  755. background: var(--gold);
  756. color: var(--navy-deep);
  757. transform: rotate(1.5deg);
  758. }
  759. .offer-coupon strong {
  760. font-family: var(--font-display);
  761. font-size: 1.75rem;
  762. line-height: 1;
  763. }
  764. .offer-coupon span {
  765. margin-top: 4px;
  766. font-size: 0.75rem;
  767. font-weight: 700;
  768. text-transform: uppercase;
  769. }
  770. .offer-url {
  771. position: absolute;
  772. right: 44px;
  773. bottom: 35px;
  774. left: 44px;
  775. padding-top: 15px;
  776. border-top: 1px solid rgba(255, 255, 255, 0.25);
  777. font-size: 0.72rem;
  778. font-weight: 800;
  779. letter-spacing: 0.12em;
  780. }
  781. .offer-copy > p {
  782. max-width: 600px;
  783. margin: 24px 0 0;
  784. }
  785. .check-list {
  786. display: grid;
  787. gap: 19px;
  788. margin: 34px 0 0;
  789. padding: 0;
  790. list-style: none;
  791. }
  792. .check-list li {
  793. display: grid;
  794. grid-template-columns: 38px 1fr;
  795. align-items: start;
  796. gap: 15px;
  797. }
  798. .check-list li > span {
  799. width: 34px;
  800. height: 34px;
  801. display: grid;
  802. place-items: center;
  803. border-radius: 50%;
  804. background: #e1f2ec;
  805. color: #19714e;
  806. font-weight: 800;
  807. }
  808. .check-list strong,
  809. .check-list small {
  810. display: block;
  811. }
  812. .check-list strong {
  813. color: var(--navy);
  814. font-family: var(--font-display);
  815. font-weight: 800;
  816. }
  817. .check-list small {
  818. margin-top: 2px;
  819. color: var(--muted);
  820. font-size: 0.89rem;
  821. }
  822. .faq-grid {
  823. display: grid;
  824. grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  825. gap: clamp(60px, 9vw, 125px);
  826. }
  827. .faq-intro {
  828. align-self: start;
  829. position: sticky;
  830. top: 125px;
  831. }
  832. .faq-intro > p {
  833. margin: 24px 0 0;
  834. }
  835. .faq-list {
  836. border-top: 1px solid var(--line);
  837. }
  838. .faq-list details {
  839. border-bottom: 1px solid var(--line);
  840. }
  841. .faq-list summary {
  842. display: grid;
  843. grid-template-columns: 1fr 32px;
  844. align-items: center;
  845. gap: 18px;
  846. padding-block: 24px;
  847. color: var(--navy);
  848. cursor: pointer;
  849. font-family: var(--font-display);
  850. font-size: 1.05rem;
  851. font-weight: 800;
  852. list-style: none;
  853. }
  854. .faq-list summary::-webkit-details-marker {
  855. display: none;
  856. }
  857. .faq-list summary span {
  858. width: 30px;
  859. height: 30px;
  860. display: grid;
  861. place-items: center;
  862. border: 1px solid var(--line);
  863. border-radius: 50%;
  864. color: var(--blue);
  865. font-size: 1.15rem;
  866. transition: transform 180ms ease, background-color 180ms ease;
  867. }
  868. .faq-list details[open] summary span {
  869. background: var(--blue-light);
  870. transform: rotate(45deg);
  871. }
  872. .faq-list details p {
  873. max-width: 680px;
  874. margin: -5px 55px 25px 0;
  875. color: var(--muted);
  876. }
  877. .cta-section {
  878. padding: 30px 0 110px;
  879. background: var(--white);
  880. }
  881. .cta-card {
  882. position: relative;
  883. isolation: isolate;
  884. min-height: 365px;
  885. display: grid;
  886. grid-template-columns: minmax(0, 1fr) auto;
  887. align-items: center;
  888. gap: 55px;
  889. overflow: hidden;
  890. padding: clamp(45px, 7vw, 85px);
  891. border-radius: var(--radius-lg);
  892. background: var(--navy);
  893. box-shadow: 0 30px 70px rgba(5, 47, 79, 0.24);
  894. color: var(--white);
  895. }
  896. .cta-card > div:not(.cta-rings) {
  897. position: relative;
  898. z-index: 1;
  899. }
  900. .cta-card h2 {
  901. max-width: 750px;
  902. }
  903. .cta-card p:not(.eyebrow) {
  904. max-width: 650px;
  905. margin: 20px 0 0;
  906. color: #c9d6dd;
  907. font-size: 1.03rem;
  908. }
  909. .cta-actions {
  910. min-width: 245px;
  911. display: grid;
  912. justify-items: center;
  913. gap: 13px;
  914. }
  915. .cta-actions span {
  916. color: #b7c8d1;
  917. font-size: 0.75rem;
  918. }
  919. .cta-rings {
  920. position: absolute;
  921. z-index: 0;
  922. top: -170px;
  923. right: -80px;
  924. width: 520px;
  925. height: 520px;
  926. border: 75px solid rgba(241, 191, 36, 0.08);
  927. border-radius: 50%;
  928. box-shadow: 0 0 0 75px rgba(241, 191, 36, 0.035);
  929. }
  930. .site-footer {
  931. padding-block: 42px;
  932. border-top: 1px solid var(--line);
  933. background: var(--paper);
  934. }
  935. .footer-grid {
  936. display: grid;
  937. grid-template-columns: 190px 1fr auto;
  938. align-items: center;
  939. gap: 28px;
  940. }
  941. .footer-brand {
  942. width: 187px;
  943. }
  944. .site-footer p {
  945. margin: 0;
  946. color: var(--muted);
  947. font-size: 0.88rem;
  948. }
  949. .site-footer nav {
  950. display: flex;
  951. gap: 25px;
  952. }
  953. .site-footer small {
  954. grid-column: 1 / -1;
  955. padding-top: 22px;
  956. border-top: 1px solid var(--line);
  957. color: #77838b;
  958. font-size: 0.73rem;
  959. }
  960. @media (max-width: 1080px) {
  961. .nav-shell {
  962. grid-template-columns: 217px 1fr auto;
  963. gap: 18px;
  964. }
  965. .site-nav {
  966. gap: 16px;
  967. }
  968. .site-nav a {
  969. font-size: 0.8rem;
  970. }
  971. .hero-grid {
  972. grid-template-columns: minmax(0, 0.92fr) minmax(410px, 1.08fr);
  973. gap: 30px;
  974. }
  975. .steps,
  976. .fit-grid {
  977. grid-template-columns: repeat(2, 1fr);
  978. }
  979. .steps::before {
  980. display: none;
  981. }
  982. .cta-card {
  983. grid-template-columns: 1fr;
  984. }
  985. .cta-actions {
  986. justify-items: start;
  987. }
  988. }
  989. @media (max-width: 840px) {
  990. .site-header {
  991. position: relative;
  992. }
  993. .nav-shell {
  994. min-height: auto;
  995. grid-template-columns: 1fr auto;
  996. padding-block: 15px;
  997. }
  998. .brand {
  999. width: 217px;
  1000. }
  1001. .site-nav {
  1002. grid-column: 1 / -1;
  1003. grid-row: 2;
  1004. justify-content: flex-start;
  1005. overflow-x: auto;
  1006. padding: 5px 0 2px;
  1007. scrollbar-width: none;
  1008. }
  1009. .site-nav::-webkit-scrollbar { display: none; }
  1010. .site-nav a { white-space: nowrap; }
  1011. .hero-grid {
  1012. grid-template-columns: 1fr;
  1013. padding-block: 65px 75px;
  1014. }
  1015. .postcard-stage {
  1016. min-height: 475px;
  1017. }
  1018. .postcard {
  1019. width: min(92%, 610px);
  1020. }
  1021. .stage-note {
  1022. right: 2%;
  1023. }
  1024. .signal-grid {
  1025. grid-template-columns: repeat(2, 1fr);
  1026. row-gap: 24px;
  1027. }
  1028. .signal-grid div:nth-child(2) { border-right: 0; }
  1029. .signal-grid div:nth-child(3) { padding-left: 0; }
  1030. .value-grid,
  1031. .offer-grid,
  1032. .faq-grid,
  1033. .heading-split {
  1034. grid-template-columns: 1fr;
  1035. }
  1036. .value-grid,
  1037. .offer-grid,
  1038. .faq-grid {
  1039. gap: 62px;
  1040. }
  1041. .heading-split {
  1042. gap: 22px;
  1043. }
  1044. .offer-card {
  1045. justify-self: center;
  1046. width: min(100%, 485px);
  1047. }
  1048. .faq-intro {
  1049. position: static;
  1050. }
  1051. .footer-grid {
  1052. grid-template-columns: 1fr auto;
  1053. }
  1054. .site-footer p {
  1055. display: none;
  1056. }
  1057. }
  1058. @media (max-width: 600px) {
  1059. .shell {
  1060. width: min(calc(100% - 28px), var(--shell));
  1061. }
  1062. .nav-shell > .button {
  1063. min-height: 40px;
  1064. padding: 9px 13px;
  1065. font-size: 0.75rem;
  1066. }
  1067. .hero {
  1068. min-height: auto;
  1069. }
  1070. .hero-grid {
  1071. min-height: auto;
  1072. padding-block: 55px 62px;
  1073. }
  1074. .hero h1 {
  1075. font-size: clamp(2.65rem, 13vw, 4rem);
  1076. }
  1077. .hero-actions {
  1078. display: grid;
  1079. }
  1080. .hero-actions .button {
  1081. width: 100%;
  1082. }
  1083. .hero-points {
  1084. display: grid;
  1085. }
  1086. .postcard-stage {
  1087. min-height: 365px;
  1088. }
  1089. .postcard {
  1090. width: 100%;
  1091. padding: 12px;
  1092. border-radius: 12px;
  1093. }
  1094. .postcard-feature {
  1095. grid-template-columns: 187px 1fr;
  1096. padding: 8px 10px;
  1097. }
  1098. .ad-grid {
  1099. gap: 5px;
  1100. margin-top: 5px;
  1101. }
  1102. .ad-tile {
  1103. padding: 6px;
  1104. border-radius: 5px;
  1105. }
  1106. .stage-note {
  1107. right: 8px;
  1108. bottom: -8px;
  1109. max-width: 260px;
  1110. padding: 10px 12px;
  1111. font-size: 0.68rem;
  1112. }
  1113. .stage-note span {
  1114. width: 25px;
  1115. height: 25px;
  1116. }
  1117. .signal-grid {
  1118. padding-block: 23px;
  1119. }
  1120. .signal-grid div {
  1121. padding-inline: 14px;
  1122. }
  1123. .signal-grid strong {
  1124. font-size: 1rem;
  1125. }
  1126. .signal-grid span {
  1127. font-size: 0.74rem;
  1128. }
  1129. .section {
  1130. padding-block: 76px;
  1131. }
  1132. .section-heading {
  1133. margin-bottom: 38px;
  1134. }
  1135. .section-heading h2,
  1136. .value-copy h2,
  1137. .offer-copy h2,
  1138. .faq-intro h2,
  1139. .cta-card h2 {
  1140. font-size: clamp(2.05rem, 10vw, 3rem);
  1141. }
  1142. .steps,
  1143. .fit-grid {
  1144. grid-template-columns: 1fr;
  1145. }
  1146. .steps li,
  1147. .fit-card {
  1148. min-height: auto;
  1149. padding: 25px;
  1150. }
  1151. .fit-icon {
  1152. margin-bottom: 26px;
  1153. }
  1154. .benefit-list article {
  1155. grid-template-columns: 40px 1fr;
  1156. gap: 15px;
  1157. }
  1158. .benefit-mark {
  1159. width: 36px;
  1160. height: 36px;
  1161. }
  1162. .offer-card {
  1163. min-height: 450px;
  1164. padding: 35px 28px;
  1165. }
  1166. .offer-stamp {
  1167. top: 22px;
  1168. right: 22px;
  1169. width: 70px;
  1170. height: 70px;
  1171. }
  1172. .offer-headline {
  1173. max-width: 260px;
  1174. }
  1175. .offer-url {
  1176. right: 28px;
  1177. left: 28px;
  1178. }
  1179. .faq-list summary {
  1180. font-size: 0.96rem;
  1181. }
  1182. .faq-list details p {
  1183. margin-right: 0;
  1184. }
  1185. .cta-section {
  1186. padding-bottom: 70px;
  1187. }
  1188. .cta-card {
  1189. min-height: auto;
  1190. gap: 35px;
  1191. padding: 42px 27px;
  1192. border-radius: 24px;
  1193. }
  1194. .cta-actions,
  1195. .cta-actions .button {
  1196. width: 100%;
  1197. }
  1198. .footer-grid {
  1199. grid-template-columns: 1fr;
  1200. }
  1201. .site-footer nav {
  1202. flex-wrap: wrap;
  1203. }
  1204. }
  1205. @media (max-width: 380px) {
  1206. .nav-shell > .button {
  1207. display: none;
  1208. }
  1209. }
  1210. @media (prefers-reduced-motion: reduce) {
  1211. html { scroll-behavior: auto; }
  1212. *,
  1213. *::before,
  1214. *::after {
  1215. scroll-behavior: auto !important;
  1216. transition-duration: 0.01ms !important;
  1217. }
  1218. }

Powered by TurnKey Linux.