/* Values below are transcribed from the Jerry Figma desktop (1440px) and mobile (375px) frames. */
:root { --ink:#292524; --heading:#18191b; --white:#ffffff; --soft:#f6f3f3; --accent:#fe5c2a; --muted:rgba(0,0,0,.5); --line:#e1e1e1; --badge:#ffd17a; --shadow:rgba(30,25,20,.12); --font:Geist, Arial, Helvetica, sans-serif; --desktop-gutter:clamp(24px,8.333vw,120px); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--white); color:var(--ink); font-family:var(--font); -webkit-font-smoothing:antialiased; } img { display:block; max-width:100%; } a { color:inherit; text-decoration:none; }
.site-header { position:sticky; top:0; z-index:100; height:124px; padding:32px var(--desktop-gutter); display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.75); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }.brand img { width:108px; height:35px; }.nav-download,.download-button { display:inline-flex; align-items:center; justify-content:center; font-weight:700; border-radius:16px; transition:transform .2s ease; }.nav-download { min-height:60px; padding:16px 20px; background:var(--soft); font-size:18px; }.download-button { gap:8px; min-height:60px; padding:16px; color:var(--white); background:var(--ink); font-size:18px; line-height:28px; }.store-icons { display:inline-flex; align-items:center; height:28px; }.store-icons img { width:24px; height:24px; }.store-icons b { font-weight:700; }.nav-download:hover,.download-button:hover { transform:translateY(-2px); }
.hero { text-align:center; }.hero__copy { height:348px; padding-top:40px; display:flex; flex-direction:column; align-items:center; gap:48px; }.hero h1 { margin:0; color:var(--ink); font-size:96px; font-weight:700; letter-spacing:-2.4px; line-height:96px; }.hero__media { padding:80px max(24px,13.889vw) 0; }.hero__media img { width:100%; max-width:1040px; aspect-ratio:1040 / 774; height:auto; margin:auto; border-radius:20px; object-fit:cover; }
.features { max-width:1440px; margin:auto; padding:80px max(24px,13.889vw) 48px; display:grid; grid-template-columns:repeat(4,1fr); gap:48px 40px; }.feature { height:164px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.feature>img { width:73px; height:73px; }.feature--bell>span { position:relative; width:72px; height:73px; }.feature h2 { margin:19px 0 0; font-size:30px; font-weight:700; letter-spacing:-.7px; line-height:36px; white-space:nowrap; }.feature--bell img:first-child { position:absolute; top:6.083px; left:9.396px; width:53.209px; height:47.146px; }.feature--bell img:last-child { position:absolute; top:57.792px; left:22.248px; width:27.504px; height:9.125px; }.coming-soon { position:absolute; top:0; left:calc(50% + 14px); z-index:1; padding:8px 12px; border:3px solid var(--white); border-radius:20px; background:var(--badge); color:var(--heading); font-size:10px; font-weight:700; line-height:10px; text-transform:uppercase; white-space:nowrap; }
.calendar { padding:180px 0 0; overflow:hidden; }.calendar__heading { display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center; }.calendar h2 { margin:0; color:var(--heading); font-size:50px; font-weight:700; letter-spacing:-1px; line-height:60px; }.calendar p { width:545px; max-width:calc(100vw - 48px); margin:0; color:var(--muted); font-size:20px; font-weight:400; letter-spacing:-.44px; line-height:30.8px; }.phone-carousel { margin-top:110px; overflow:hidden; }.phone-carousel__track { display:flex; justify-content:center; gap:8px; width:max-content; margin-left:50%; transform:translateX(-50%); }.phone-carousel img { width:330px; height:735px; object-fit:cover; filter:drop-shadow(0 12px 10px var(--shadow)); }
.faq { padding:150px 24px 82px; }.faq__header { display:flex; flex-direction:column; align-items:center; gap:12px; }.faq h2 { margin:0; color:var(--heading); font-size:96px; font-weight:700; letter-spacing:-2.4px; line-height:96px; }.faq__header p { margin:0; color:var(--muted); font-size:20px; line-height:28px; }.faq__list { width:640px; max-width:100%; margin:58px auto 0; }.faq__list details { padding:24px 0 32px; border-bottom:1px solid var(--line); }.faq__list details:last-child { border-bottom:0; }.faq__list summary { display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; font-size:24px; font-weight:700; line-height:32px; }.faq__list summary::-webkit-details-marker { display:none; }.faq__list summary::before { content:""; flex:0 0 24px; width:24px; height:24px; background:url("../assets/icons/faq-plus.svg") center / 24px 24px no-repeat; }.faq__list details[open] summary::before { background-image:url("../assets/icons/faq-minus.svg"); }.faq__answer { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .28s ease, opacity .2s ease; }.faq__answer>div { min-height:0; overflow:hidden; }.faq__list details[open] .faq__answer { grid-template-rows:1fr; opacity:1; }.faq__list details p { margin:12px 0 0 40px; font-size:24px; font-weight:400; line-height:normal; }.faq__list details p + p { margin-top:10px; }.faq__contact { margin-top:82px; text-align:center; }.faq__contact p { margin:0 0 12px; font-size:24px; line-height:32px; }.faq__contact a { color:var(--accent); font-size:20px; font-weight:500; letter-spacing:-.4px; line-height:28px; }
.bottom-banner { position:relative; width:1040px; max-width:calc(100% - 48px); height:548px; margin:0 auto; overflow:hidden; border-radius:20px; background:var(--soft); }.bottom-banner__copy { position:relative; z-index:1; padding:104px 0 0 96px; }.bottom-banner h2 { margin:0; color:var(--heading); font-size:64px; font-weight:700; letter-spacing:-1.8px; line-height:64px; }.bottom-banner .download-button { margin-top:32px; }.bottom-banner__phone { position:absolute; width:330px; right:110px; top:157px; filter:drop-shadow(0 10px 10px var(--shadow)); }
.site-footer { padding:100px 24px 0; text-align:center; }.site-footer p { margin:0; color:var(--heading); font-size:12px; font-weight:400; line-height:18px; }.site-footer nav { display:flex; justify-content:center; gap:18px; margin-top:14px; }.site-footer nav a { color:var(--accent); font-size:11px; line-height:16px; }.site-footer>img { width:min(1040px,100%); height:auto; margin:100px auto 0; }
.animate-in { animation:appear .7s ease both; }.hero__media { animation-delay:.12s; } @keyframes appear { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
.faq__answer { display:block; overflow:hidden; opacity:1; transition:none; }.faq__list details[open] .faq__answer { display:block; opacity:1; }.phone-carousel__track { --phone-scroll-distance:-2028px; margin-left:calc(50% - 1010px); transform:none; animation:phone-carousel-scroll 80.8s linear infinite; } @keyframes phone-carousel-scroll { to { transform:translateX(var(--phone-scroll-distance)); } }
@media (max-width:760px) { .site-header { height:88px; padding:20px 24px; }.brand img { width:75px; height:auto; }.nav-download { min-height:48px; padding:12px 16px; border-radius:12px; font-size:14px; }.hero__copy { height:270px; padding:36px 24px 0; gap:32px; }.hero h1 { font-size:48px; letter-spacing:-1.4px; line-height:52px; }.download-button { min-height:50px; padding:11px 16px; border-radius:12px; font-size:16px; line-height:24px; }.hero__media { height:333px; padding:40px 24px 0; }.hero__media img { width:327px; border-radius:10px; }.features { padding:80px 16px 44px; grid-template-columns:repeat(2,1fr); gap:48px 0; }.feature { height:164px; }.feature h2 { margin-top:12px; font-size:20px; letter-spacing:-.45px; line-height:24px; }.coming-soon { top:7px; left:calc(50% + 4px); padding:6px 9px; border-width:2px; font-size:7px; }.calendar { padding-top:100px; }.calendar__heading { align-items:flex-start; gap:16px; padding:0 32px; text-align:left; }.calendar h2 { font-size:32px; letter-spacing:-.65px; line-height:34px; }.calendar p { width:auto; max-width:none; font-size:14px; letter-spacing:-.25px; line-height:22px; }.phone-carousel { margin-top:60px; }.phone-carousel__track { gap:8px; margin-left:calc(50% - 33px); }.phone-carousel img { width:150px; height:334px; }.faq { padding:100px 24px 82px; }.faq h2 { font-size:60px; letter-spacing:-1.5px; line-height:60px; }.faq__header { gap:8px; }.faq__header p { font-size:14px; line-height:20px; }.faq__list { margin-top:58px; }.faq__list article { padding:24px 0 32px; }.faq__list h3,.faq__list p { font-size:16px; }.faq__list h3 { line-height:20px; }.faq__list p { line-height:20px; }.faq__contact { margin-top:82px; }.faq__contact p { font-size:16px; line-height:24px; }.faq__contact a { font-size:16px; line-height:24px; }.bottom-banner { width:327px; max-width:calc(100% - 48px); height:548px; }.bottom-banner__copy { padding:40px 0 0 40px; }.bottom-banner h2 { font-size:40px; letter-spacing:-1px; line-height:40px; }.bottom-banner .download-button { margin-top:28px; }.bottom-banner__phone { width:230px; right:22px; top:234px; }.site-footer { padding-top:100px; }.site-footer>img { width:327px; max-width:100%; margin-top:100px; } }
@media (max-width:760px) { .faq__list details { padding:24px 0 32px; }.faq__list summary,.faq__list details p { font-size:16px; line-height:20px; }.faq__list details p { margin-left:36px; }.faq__list summary::before { flex-basis:20px; width:20px; height:20px; background-size:20px 20px; }.phone-carousel__track { --phone-scroll-distance:-948px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.animate-in,.phone-carousel__track { animation:none; }.faq__answer { transition:none; } }
.faq__list summary::before { transition:transform .28s ease; }.faq__list details[open] summary::before { transform:rotate(180deg); }
.faq__list details.is-closing summary::before { background-image:url("../assets/icons/faq-plus.svg"); transform:rotate(0deg); }
@media (prefers-reduced-motion:reduce) { .faq__list summary::before { transition:none; } }
.faq__list details { padding-block:24px; }
.site-footer { padding:120px 24px 0; }.site-footer__credit { display:flex; flex-direction:column; align-items:center; gap:4px; letter-spacing:-.4px; }.site-footer__credit p { margin:0; font-size:20px; line-height:24px; }.site-footer__credit p:first-child { color:#000; font-weight:600; }.site-footer__credit p:last-child { color:#6a6a6c; font-weight:500; }.site-footer nav { flex-direction:column; gap:0; margin-top:32px; }.site-footer nav a { font-size:14px; font-weight:500; line-height:24px; }.site-footer>img { display:block; width:786.581px; max-width:100%; height:auto; margin:180px auto 0; }
@media (max-width:760px) { .site-footer { padding-top:100px; }.site-footer__credit p { font-size:16px; line-height:20px; }.site-footer nav { margin-top:24px; }.site-footer nav a { font-size:14px; line-height:24px; }.site-footer>img { width:327px; margin-top:100px; } }
.site-footer>img { width:786.581px; height:213.725px; object-fit:fill; }
@media (max-width:760px) { .site-footer>img { width:327px; height:88.887px; } }
.site-footer__logo { display:flex; justify-content:center; width:100%; height:194px; margin-top:180px; padding:22px 8px 0; overflow:hidden; }.site-footer__logo img { flex:none; width:786.581px; max-width:none; height:213.725px; object-fit:fill; }
@media (max-width:760px) { .site-footer__logo { height:112px; margin-top:100px; padding-top:12px; }.site-footer__logo img { width:327px; height:88.887px; } }
@media (min-width:761px) and (max-width:1439px) {
  .site-header { padding-inline:40px; }
  .hero__copy { height:auto; padding-top:40px; gap:48px; }
  .hero h1 { width:600px; max-width:calc(100% - 200px); font-size:96px; line-height:110px; }
  .hero__media { position:relative; height:854px; padding:0; overflow:hidden; }
  .hero__media img { position:absolute; top:80px; left:calc(50% - 519.84px); width:1039.68px; max-width:none; height:773.38px; margin:0; border-radius:0; object-fit:fill; }
  .features { padding:0 40px; grid-template-columns:repeat(3, 1fr); gap:48px 8px; }
  .feature h2 { margin-top:19px; font-size:24px; line-height:30px; }
  .calendar { padding-top:180px; }.calendar h2 { font-size:44px; line-height:50px; }.calendar p { font-size:20px; line-height:28px; }
  .faq { padding:100px 150px 0; }.faq__list { width:100%; }.faq__contact { margin-top:82px; }
  .bottom-banner { width:540px; max-width:calc(100% - 80px); height:745px; display:flex; flex-direction:column; align-items:center; gap:60px; padding:40px 16px 0; }
  .bottom-banner__copy { padding:0; display:flex; flex-direction:column; align-items:center; gap:24px; }.bottom-banner h2 { font-size:58px; line-height:58.57px; text-align:center; }.bottom-banner .download-button { margin-top:0; }
  .bottom-banner__phone { position:static; width:450px; height:770px; object-fit:cover; }
  .site-footer { padding-top:120px; }.site-footer__logo { height:186px; margin-top:160px; padding:22px 40px 0; }.site-footer__logo img { width:786.581px; height:213.725px; }
}
@media (max-width:760px) {
  .site-header { height:99px; padding:32px 4px; justify-content:center; }.site-header .nav-download { display:none; }
  .hero__copy { height:auto; padding:24px 16px 0; gap:32px; }.hero h1 { width:343px; max-width:100%; font-size:50px; letter-spacing:-2px; line-height:55px; }
  .hero__media { position:relative; height:410px; padding:0; overflow:hidden; }.hero__media img { position:absolute; top:60px; left:calc(22.4px - 20vw); width:470.6px; max-width:none; height:350.45px; margin:0; border-radius:0; object-fit:fill; }
  .features { padding:40px 16px 0; grid-template-columns:repeat(2, 1fr); gap:24px 0; }.feature { height:164px; }.feature h2 { margin-top:0; font-size:20px; line-height:24px; }
  .calendar { padding-top:100px; }.calendar__heading { gap:16px; padding:0 32px; }.calendar h2 { font-size:28px; line-height:34px; }.calendar p { font-size:16px; line-height:22px; }
  .faq { padding:100px 24px 0; }.faq h2 { font-size:56px; line-height:60px; }.faq__header { gap:8px; }.faq__list { margin-top:58px; }.faq__list details { margin:0; }.faq__list summary,.faq__list details p { font-size:20px; line-height:32px; }.faq__list details p { margin-left:32px; }.faq__contact { margin-top:82px; }.faq__contact p { font-size:20px; line-height:24px; }.faq__contact a { font-size:16px; line-height:24px; }
  .bottom-banner { width:327px; max-width:calc(100% - 48px); height:548px; display:flex; flex-direction:column; align-items:center; gap:40px; padding:40px 0 0; border-radius:41.836px; }.bottom-banner__copy { padding:0; display:flex; flex-direction:column; align-items:center; gap:32px; }.bottom-banner h2 { font-size:38px; line-height:48px; text-align:center; }.bottom-banner .download-button { margin-top:0; }.bottom-banner__phone { position:static; width:100%; height:auto; object-fit:cover; }
  .site-footer { padding-top:100px; }.site-footer__credit { gap:8px; }.site-footer__credit p { font-size:16px; line-height:20px; }.site-footer nav { gap:8px; margin-top:32px; }.site-footer__logo { height:101px; margin-top:120px; padding:22px 24px 0; }.site-footer__logo img { width:327px; height:88.887px; }
}
.bottom-banner { height:460px; border-radius:41.836px; }.bottom-banner__phone { width:450px; height:770px; right:24px; top:70px; object-fit:cover; }
@media (max-width:760px) { .bottom-banner { height:548px; border-radius:20px; }.bottom-banner__phone { width:230px; height:auto; right:22px; top:234px; } }

/* Tablet footer composition (Figma's 800px frame). */
@media (min-width:761px) and (max-width:1439px) {
  .bottom-banner {
    /* Keep the banner contents at their tablet size; let only the grey canvas
       grow with the viewport while preserving the 40px outer gutters. */
    width:calc(100% - 80px);
    max-width:none;
    height:745px;
    /* 40px section gap + 150px internal top space in the Figma footer section. */
    margin-top:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:60px;
    padding:40px 16px 0;
    border-radius:41.836px;
  }
  .bottom-banner__copy { padding:0; display:flex; flex-direction:column; align-items:center; gap:24px; }
  .bottom-banner h2 { font-size:58px; line-height:58.57px; text-align:center; }
  .bottom-banner .download-button { margin-top:0; }
  .bottom-banner__phone { position:static; width:450px; height:770px; right:auto; top:auto; object-fit:cover; }

  .site-footer__logo { height:186px; margin-top:160px; padding:22px 40px 0; }
  .site-footer__logo picture { display:block; flex:none; }
  .site-footer__logo img { width:720px; height:195.633px; }
}

@media (max-width:760px) { .site-footer__logo picture { display:block; flex:none; } }

/* Mobile 375px composition. */
@media (max-width:760px) {
  .brand img { width:108.256px; height:35px; }

  .hero__media {
    position:relative;
    width:min(343px, calc(100% - 32px));
    height:auto;
    aspect-ratio:250 / 255;
    margin:60px auto 0;
    padding:0;
    overflow:hidden;
  }

  .hero__media img {
    position:absolute;
    top:0;
    left:-20%;
    width:137.2%;
    height:100.13%;
    max-width:none;
    object-fit:fill;
  }

  .calendar__heading {
    align-items:center;
    text-align:center;
  }

  .bottom-banner { margin-top:100px; }

  .site-footer__logo { height:115px; padding-inline:16px; }
  .site-footer__logo img { width:343px; height:93.231px; }
}

/* Responsive guardrails: all common viewport sizes remain inside the canvas. */
html, body { overflow-x:clip; }
.hero h1, .feature h2, .calendar h2, .faq h2, .bottom-banner h2,
.faq__list summary, .faq__list p { overflow-wrap:anywhere; }

@media (max-width:480px) {
  .hero h1 { width:100%; font-size:clamp(40px, 13.333vw, 50px); line-height:1.1; }
  .download-button { max-width:calc(100vw - 32px); }
  .feature h2 { white-space:normal; }
  .calendar__heading { padding-inline:24px; }
  .calendar p { max-width:100%; }
  .faq { padding-inline:24px; }
  .faq h2 { font-size:clamp(44px, 14.933vw, 56px); line-height:1.07; }
  .faq__list summary { font-size:clamp(18px, 5.333vw, 20px); line-height:1.35; }
  .faq__list details p { font-size:clamp(18px, 5.333vw, 20px); line-height:1.45; }
  .bottom-banner { width:calc(100% - 48px); max-width:327px; }
  .site-footer { padding-inline:16px; }
  .site-footer__logo { height:auto; min-height:0; padding:22px 0 0; overflow:visible; }
  .site-footer__logo picture { display:block; width:100%; }
  .site-footer__logo img { width:100%; max-width:343px; height:auto; margin:auto; }
}

@media (min-width:761px) and (max-width:1024px) {
  .hero h1 { width:auto; max-width:calc(100% - 80px); font-size:clamp(64px, 12vw, 96px); line-height:1.1; }
  .faq { padding-inline:clamp(40px, 18.75vw, 150px); }
  .faq h2 { font-size:clamp(64px, 12vw, 96px); line-height:1; }
  .faq__list summary, .faq__list details p { font-size:clamp(20px, 3vw, 24px); }
  .bottom-banner { width:calc(100% - 80px); }
  .site-footer__logo img { max-width:100%; height:auto; }
}

@media (min-width:1025px) and (max-width:1439px) {
  .hero h1 { max-width:calc(100% - 120px); }
  .faq { padding-inline:clamp(80px, 10.417vw, 150px); }
}

/* Start within a complete set of six frames, so the viewport is filled before
   the first loop and the duplicate set joins it without a blank jump. */
@media (max-width:760px) {
  .phone-carousel__track { margin-left:calc(50% - 474px); }
}

/* Keep the translucent navigation visible while scrolling at every breakpoint. */
.site-header { position:sticky; top:0; width:100%; z-index:100; }
.hero__keep-together { white-space:nowrap; }
.faq__list summary { -webkit-tap-highlight-color:transparent; }
.faq__list summary:focus { outline:none; }
.faq__list summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:4px; }

/* Smaller layouts show the complete footer mark instead of the desktop crop. */
@media (max-width:1439px) {
  .site-footer__logo { height:auto; min-height:0; overflow:visible; }
  .site-footer__logo img { height:auto; }
}

/* ---------------------------------------------------------------------- */
/* Legal document pages (Privacy Policy / Terms & Conditions)             */
/* Reuses the site's type, colour, and spacing system for a consistent    */
/* look across marketing and legal pages.                                 */
/* ---------------------------------------------------------------------- */
.legal-hero { max-width:840px; margin:0 auto; padding:96px var(--desktop-gutter) 0; }
.legal-hero__label { margin:0 0 16px; color:var(--accent); font-size:13px; font-weight:700; letter-spacing:.08em; line-height:16px; text-transform:uppercase; }
.legal-hero h1 { margin:0 0 16px; color:var(--heading); font-size:clamp(40px,6vw,64px); font-weight:700; letter-spacing:-1.6px; line-height:1.05; }
.legal-hero__meta { margin:0; color:var(--muted); font-size:15px; font-weight:400; line-height:22px; }

.legal-tabs { display:flex; flex-wrap:wrap; gap:8px; max-width:840px; margin:40px auto 0; padding:0 var(--desktop-gutter); }
.legal-tabs a { padding:12px 22px; border-radius:100px; background:var(--soft); color:var(--muted); font-size:14px; font-weight:700; letter-spacing:.02em; line-height:20px; transition:background .2s ease, color .2s ease, transform .2s ease; }
.legal-tabs a:hover { color:var(--ink); transform:translateY(-1px); }
.legal-tabs a[aria-current="page"] { background:var(--ink); color:var(--white); }

.legal-content { max-width:840px; margin:0 auto; padding:24px var(--desktop-gutter) 140px; }
.legal-section { padding:40px 0; border-top:1px solid var(--line); }
.legal-section:first-child { padding-top:32px; border-top:0; }
.legal-section__index { display:block; margin-bottom:10px; color:var(--accent); font-size:13px; font-weight:700; letter-spacing:.08em; line-height:16px; text-transform:uppercase; }
.legal-section h2 { margin:0 0 16px; color:var(--heading); font-size:30px; font-weight:700; letter-spacing:-.6px; line-height:1.2; }
.legal-section h3 { margin:28px 0 8px; color:var(--heading); font-size:18px; font-weight:700; letter-spacing:-.2px; line-height:1.4; }
.legal-section p { margin:0 0 14px; color:var(--ink); font-size:16px; font-weight:400; line-height:1.7; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section ul { list-style:none; margin:8px 0 16px; padding:0; }
.legal-section li { position:relative; padding:12px 0 12px 28px; border-bottom:1px solid var(--line); color:var(--ink); font-size:16px; font-weight:400; line-height:1.55; }
.legal-section li:last-child { border-bottom:0; }
.legal-section li::before { content:"→"; position:absolute; top:12px; left:0; color:var(--accent); font-size:14px; font-weight:700; }
.legal-highlight { margin:16px 0; padding:20px 24px; border-radius:16px; border-left:3px solid var(--accent); background:var(--soft); color:var(--ink); font-size:15px; font-weight:400; line-height:1.6; }
.legal-contact { display:inline-flex; align-items:center; color:var(--accent); font-weight:700; font-size:16px; line-height:24px; border-bottom:1px solid rgba(254,92,42,.3); padding-bottom:1px; transition:border-color .2s ease; }
.legal-contact:hover { border-color:var(--accent); }

@media (max-width:760px) {
  .legal-hero { padding:64px 24px 0; }
  .legal-hero h1 { font-size:36px; letter-spacing:-1px; line-height:1.1; }
  .legal-tabs { margin-top:28px; padding:0 24px; }
  .legal-tabs a { padding:10px 18px; font-size:13px; }
  .legal-content { padding:16px 24px 100px; }
  .legal-section { padding:32px 0; }
  .legal-section h2 { font-size:24px; }
  .legal-section h3 { font-size:17px; }
  .legal-section p, .legal-section li { font-size:15px; }
}
