
      @font-face {
        font-family: 'Anton';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url("fonts/fd9301f2837c.ttf") format('truetype')
      }

      @font-face {
        font-family: 'DM Sans';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url("fonts/b0ae3e89a7d3.ttf") format('truetype');
      }

      @font-face {
        font-family: 'DM Sans';
        font-style: normal;
        font-weight: 500;
        font-display: swap;
        src: url("fonts/376427b53221.ttf") format('truetype');
      }

      @font-face {
        font-family: 'DM Sans';
        font-style: normal;
        font-weight: 600;
        font-display: swap;
        src: url("fonts/b79a2ea7a38f.ttf") format('truetype');
      }

      @font-face {
        font-family: 'DM Sans';
        font-style: normal;
        font-weight: 700;
        font-display: swap;
        src: url("fonts/2a8e7f713ee7.ttf") format('truetype');
      }

      @font-face {
        font-family: 'Lilita One';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url("fonts/26ad0d774041.ttf") format('truetype');
      }

      :root {
        --ink: #151c17;
        --gold: #947035;
        --paper: #f9f8f5;
        --muted: #52534e;
        --line: #e5e1d9
      }

      * {
        box-sizing: border-box
      }

      html {
        scroll-behavior: smooth
      }

      body {
        margin: 0;
        background: var(--paper);
        color: var(--ink);
        font-family: Arial, Helvetica, sans-serif;
        -webkit-font-smoothing: antialiased
      }

      button,
      a {
        -webkit-tap-highlight-color: transparent
      }

      button {
        font: inherit
      }

      a {
        color: inherit;
        text-decoration: none
      }

      button,
      a {
        touch-action: manipulation
      }

      button {
        cursor: pointer
      }

      button:focus-visible,
      a:focus-visible {
        outline: 2px solid var(--gold);
        outline-offset: 5px
      }

      .sprite {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden
      }

      .icon {
        width: 24px;
        height: 24px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round
      }

      .arrow {
        width: 16px;
        height: 16px
      }

      .header {
        height: 82px;
        max-width: 1254px;
        margin: auto;
        padding: 0 58px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 30px
      }

      .brand {
        display: flex;
        align-items: center;
        gap: 12px
      }

      .brand-mark {
        height: 36px;
        width: 34px;
        fill: var(--ink)
      }

      .brand-name {
        font-size: 19px;
        font-weight: 700;
        letter-spacing: 2px
      }

      .nav {
        display: flex;
        gap: 40px;
        align-items: center;
        font-size: 13px;
        font-weight: 600
      }

      .nav a {
        position: relative;
        padding: 14px 0
      }

      .nav a:hover {
        color: var(--gold)
      }

      .nav .active:after {
        content: "";
        position: absolute;
        bottom: 1px;
        height: 2px;
        background: var(--ink);
        left: 0;
        right: 0
      }

      .chevron {
        font-size: 11px;
        margin-left: 3px
      }

      .pill {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        gap: 16px;
        border-radius: 30px;
        min-height: 44px;
        padding: 0 25px;
        background: var(--ink);
        color: white;
        border: 2px solid var(--ink);
        font-size: 12px;
        font-weight: 600;
        transition: background .2s, transform .2s
      }

      .pill:hover {
        background: #344036;
        transform: translateY(-2px)
      }

      .header .pill {
        min-height: 40px;
        padding: 0 21px;
        white-space: nowrap
      }

      .menu-toggle {
        display: none;
        background: none;
        border: 2px solid var(--line);
        border-radius: 8px;
        padding: 8px
      }

      .hero {
        max-width: 1254px;
        margin: auto;
        min-height: 400px;
        position: relative;
        display: grid;
        grid-template-columns: 39.3% 60.7%;
        overflow: hidden
      }

      .hero-copy {
        position: relative;
        z-index: 2;
        padding: 33px 0 34px 65px
      }

      .eyebrow {
        font-size: 12px;
        letter-spacing: .65px;
        font-weight: 700;
        margin: 0 0 17px
      }

      .hero h1 {
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 55px;
        line-height: 1.055;
        letter-spacing: -1.8px;
        font-weight: 400;
        margin: 0 0 15px;
        color: #080b08;
        white-space: nowrap
      }

      .gold {
        color: var(--gold)
      }

      .hero-description {
        font-size: 13px;
        line-height: 1.8;
        color: var(--muted);
        max-width: 360px;
        margin: 0
      }

      .hero-actions {
        display: flex;
        align-items: center;
        gap: 22px;
        margin-top: 26px
      }

      .watch {
        display: flex;
        align-items: center;
        gap: 9px;
        font-size: 12px;
        font-weight: 600;
        background: none;
        border: 0;
        padding: 0;
        white-space: nowrap
      }

      .play-circle {
        display: grid;
        place-items: center;
        border: 2px solid #d5d0c6;
        border-radius: 50%;
        width: 43px;
        height: 43px
      }

      .play-circle svg {
        width: 13px;
        height: 13px;
        fill: var(--ink);
        margin-left: 2px
      }

      .watch:hover .play-circle {
        background: #eeeae1
      }

      .hero-media {
        position: relative;
        min-height: 400px;
        border-radius: 165px 0 0 165px / 235px 0 0 180px;
        overflow: hidden;
        background: #151c17
      }

      .hero-video-next {
        opacity: 0;
        pointer-events: none
      }

      .hero-video {
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
        object-fit: cover
      }

      .experience {
        position: absolute;
        right: 39px;
        bottom: 29px;
        width: 133px;
        height: 237px;
        padding: 27px 27px;
        background: rgba(20, 29, 23, .96);
        border: 2px solid #7a8072;
        border-radius: 23px;
        color: #fff;
        box-shadow: 0 6px 16px #0002
      }

      .experience .icon {
        color: #d6bf90;
        width: 38px;
        height: 38px;
        margin-bottom: 15px;
        stroke-width: 1.4
      }

      .experience strong {
        display: block;
        font-size: 46px;
        line-height: 1.1;
        font-weight: 500;
        letter-spacing: -1px;
        margin-bottom: 10px
      }

      .experience p {
        font-size: 14px;
        line-height: 1.5;
        margin: 0;
        white-space: nowrap
      }

      .experience:after {
        content: "";
        display: block;
        width: 46px;
        height: 2px;
        background: #b7c0aa;
        margin-top: 16px
      }

      .services {
        border-top: 2px solid #fff;
        background: #fdfcf9;
        padding: 25px 0 22px
      }

      .services-inner {
        max-width: 1120px;
        margin: auto
      }

      .section-heading {
        display: grid;
        grid-template-columns: 1fr 330px auto;
        gap: 38px;
        align-items: center;
        margin: 0 0 20px
      }

      .section-heading .eyebrow {
        font-size: 11px;
        margin-bottom: 7px
      }

      .section-heading h2 {
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 28px;
        line-height: 1.07;
        font-weight: 400;
        letter-spacing: -.5px;
        margin: 0
      }

      .section-heading p {
        font-size: 12px;
        line-height: 1.8;
        color: var(--muted);
        margin: 0
      }

      .outline {
        background: transparent;
        border-color: #d5d0c6;
        color: var(--ink);
        min-height: 38px;
        padding: 0 21px;
        font-size: 11px
      }

      .outline:hover {
        background: #efece5
      }

      .service-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 22px
      }

      .service-card {
        padding: 19px 24px 16px;
        min-height: 199px;
        border: 2px solid #f1efeb;
        box-shadow: 0 4px 12px #29231503;
        background: #fefdfa
      }

      .service-icon {
        display: grid;
        place-items: center;
        width: 55px;
        height: 55px;
        border-radius: 50%;
        background: #f7eadb;
        margin-bottom: 17px;
        color: #252b20
      }

      .service-icon .icon {
        width: 29px;
        height: 29px
      }

      .service-card:nth-child(2) .service-icon {
        background: #edf2e1
      }

      .service-card:nth-child(3) .service-icon {
        background: #f7f0e5
      }

      .service-card:nth-child(4) .service-icon {
        background: #fff0df;
        color: #c37b36
      }

      .service-card:nth-child(5) .service-icon {
        background: #fbecec;
        color: #ba6a78
      }

      .service-card h3 {
        font-size: 14px;
        letter-spacing: -.2px;
        margin: 0 0 9px;
        white-space: nowrap
      }

      .service-card p {
        font-size: 12px;
        line-height: 1.7;
        color: var(--muted);
        margin: 0 0 13px;
        min-height: 40px
      }

      .learn {
        display: flex;
        align-items: center;
        gap: 14px;
        background: none;
        border: 0;
        padding: 0;
        color: #6b5c44;
        font-size: 11px;
        font-weight: 600
      }

      .learn:hover {
        color: var(--ink)
      }

      .learn .arrow {
        width: 14px
      }

      dialog {
        border: 2px solid var(--line);
        border-radius: 20px;
        padding: 34px;
        max-width: 540px;
        width: calc(100% - 32px);
        background: var(--paper);
        color: var(--ink);
        box-shadow: 0 20px 100px #0003
      }

      dialog::backdrop {
        background: #111a13a8;
        backdrop-filter: blur(5px)
      }

      dialog h2 {
        font-family: Georgia, serif;
        font-size: 32px;
        font-weight: 400;
        margin: 0 32px 18px 0
      }

      dialog p {
        font-size: 15px;
        line-height: 1.7;
        color: var(--muted)
      }

      .close {
        position: absolute;
        right: 16px;
        top: 12px;
        font-size: 28px;
        border: 0;
        background: none;
        padding: 4px 8px
      }

      .video-dialog {
        max-width: 1000px;
        padding: 42px 16px 16px
      }

      .video-dialog video {
        display: block;
        width: 100%;
        max-height: 75vh;
        border-radius: 9px
      }

      .dialog-label {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1px;
        color: var(--gold)
      }

      @media(min-width:1400px) {
        .header {
          max-width: 1400px
        }

        .hero {
          max-width: 1400px;
          grid-template-columns: 40% 60%;
          min-height: 460px
        }

        .hero-copy {
          padding-top: 55px
        }

        .hero-media {
          min-height: 460px
        }

        .hero h1 {
          font-size: 61px
        }

        .services-inner {
          max-width: 1270px
        }

        .services {
          padding-top: 34px
        }

        .service-card {
          min-height: 220px
        }
      }

      @media(max-width:1100px) {
        .header {
          padding: 0 32px
        }

        .nav {
          gap: 22px
        }

        .hero-copy {
          padding-left: 32px
        }

        .hero h1 {
          font-size: 46px
        }

        .hero-description {
          max-width: 320px
        }

        .hero-actions {
          gap: 14px
        }

        .hero-actions .pill {
          padding: 0 18px
        }

        .services-inner {
          margin: 0 32px
        }

        .service-grid {
          gap: 12px
        }

        .service-card {
          padding: 18px 15px
        }

        .service-card h3 {
          font-size: 12px
        }

        .section-heading {
          grid-template-columns: 1fr 280px auto;
          gap: 20px
        }

        .experience {
          right: 25px
        }
      }

      @media(max-width:850px) {
        .header {
          height: 76px;
          padding: 0 24px
        }

        .menu-toggle {
          display: block;
          margin-left: auto
        }

        .header>.pill {
          display: none
        }

        .nav {
          display: none;
          position: absolute;
          left: 16px;
          right: 16px;
          top: 68px;
          background: var(--paper);
          padding: 20px;
          z-index: 10;
          border: 2px solid var(--line);
          border-radius: 12px;
          box-shadow: 0 10px 20px #0001;
          flex-wrap: wrap
        }

        .nav.open {
          display: flex
        }

        .hero {
          grid-template-columns: 1fr 1fr
        }

        .hero-copy {
          padding: 34px 0 34px 24px
        }

        .hero h1 {
          font-size: 39px;
          letter-spacing: -1.3px
        }

        .hero-description {
          max-width: 285px;
          font-size: 12px
        }

        .hero-actions {
          align-items: flex-start;
          flex-direction: column;
          gap: 16px;
          margin-top: 22px
        }

        .hero-media {
          border-radius: 130px 0 0 130px / 240px 0 0 170px
        }

        .experience {
          width: 116px;
          height: 214px;
          padding: 24px 21px;
          right: 18px
        }

        .experience strong {
          font-size: 40px
        }

        .experience p {
          font-size: 12px
        }

        .section-heading {
          grid-template-columns: 1fr auto
        }

        .section-heading>p {
          display: none
        }

        .services-inner {
          margin: 0 24px
        }

        .service-grid {
          grid-template-columns: repeat(3, 1fr)
        }

        .service-card h3 {
          font-size: 14px
        }

        .service-card {
          padding: 20px
        }
      }

      @media(max-width:580px) {
        .hero {
          display: flex;
          flex-direction: column
        }

        .hero-copy {
          padding: 30px 24px 32px
        }

        .hero h1 {
          font-size: clamp(37px, 8.6vw, 49px)
        }

        .hero-description {
          max-width: 350px;
          font-size: 13px
        }

        .hero-actions {
          flex-direction: row;
          align-items: center;
          gap: 18px
        }

        .hero-actions .pill {
          padding: 0 19px;
          font-size: 11px
        }

        .watch {
          font-size: 11px
        }

        .hero-media {
          min-height: 320px;
          margin-left: 24px;
          border-radius: 110px 0 0 110px / 180px 0 0 140px
        }

        .experience {
          height: 204px;
          bottom: 22px
        }

        .experience .icon {
          margin-bottom: 10px
        }

        .services {
          padding-top: 27px
        }

        .section-heading {
          gap: 10px;
          align-items: end
        }

        .section-heading h2 {
          font-size: 25px
        }

        .section-heading .outline {
          padding: 0 13px;
          font-size: 10px;
          gap: 8px
        }

        .service-grid {
          grid-template-columns: 1fr 1fr;
          gap: 12px
        }

        .service-card {
          padding: 18px 15px
        }

        .service-card h3 {
          font-size: 12px
        }

        .service-card:last-child {
          grid-column: 1/-1
        }

        .service-card:last-child p {
          min-height: 0
        }

        .service-icon {
          margin-bottom: 15px
        }

        .brand-name {
          font-size: 17px
        }
      }

      @media(prefers-reduced-motion:reduce) {
        html {
          scroll-behavior: auto
        }

        * {
          transition: none !important
        }
      }

      /* Reference-inspired typography: chunky display type and rounded body text. */
      body {
        font-family: 'DM Sans', Arial, sans-serif
      }

      .hero h1,
      .section-heading h2,
      dialog h2,
      .service-card h3,
      .experience strong,
      .brand-name {
        font-family: 'Lilita One', 'Arial Black', sans-serif;
        font-weight: 400;
        letter-spacing: 0
      }

      .hero h1 {
        text-transform: uppercase;
        line-height: 1.02;
        letter-spacing: -.5px
      }

      .section-heading h2 {
        line-height: 1.12
      }

      .hero-description {
        font-size: 18px;
        line-height: 1.6
      }

      .service-card h3 {
        font-size: 16px;
        white-space: normal;
        line-height: 1.15
      }

      .brand-name {
        letter-spacing: 1px
      }

      .experience strong {
        font-size: 48px
      }

      @media(max-width:850px) {
        .hero-description {
          font-size: 16px
        }

        .service-card h3 {
          font-size: 15px
        }
      }

      @media(max-width:580px) {
        .hero-description {
          font-size: 17px
        }

        .service-card h3 {
          font-size: 14px
        }
      }

      /* Main headings use the bold, condensed type in the latest reference. */
      .hero h1,
      .section-heading h2,
      dialog h2 {
        font-family: 'Anton', 'Arial Narrow', sans-serif;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        line-height: 1.08
      }

      .hero h1 {
        font-size: 64px
      }

      @media(min-width:1400px) {
        .hero h1 {
          font-size: 72px
        }
      }

      @media(max-width:1100px) {
        .hero h1 {
          font-size: 54px
        }
      }

      @media(max-width:850px) {
        .hero h1 {
          font-size: 46px
        }
      }

      @media(max-width:580px) {
        .hero h1 {
          font-size: clamp(42px, 10vw, 58px)
        }
      }

      .hero-actions .calculate-price {
        min-height: 56px;
        padding: 0 30px;
        font-size: 20px;
        gap: 18px;
        white-space: nowrap
      }

      .contact-action {
        font-size: 13px
      }

      .contact-action .play-circle svg {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: currentColor;
        margin-left: 0
      }

      @media(max-width:580px) {
        .hero-actions {
          flex-wrap: wrap;
          gap: 16px
        }

        .hero-actions .calculate-price {
          min-height: 52px;
          padding: 0 25px;
          font-size: 18px
        }

        .contact-action {
          font-size: 12px
        }
      }

      /* Book-scanning content modules: static, source-preserving and responsive. */
      :root {
        --soft: #efede6;
        --forest: #1c2921;
        --gold-light: #d9c59e
      }

      .header {
        max-width: 1400px;
        padding-inline: 48px
      }

      .brand-name {
        font-size: 17px
      }

      .brand-mark {
        width: 29px
      }

      .nav {
        gap: 25px
      }

      .skip-link {
        position: absolute;
        top: -80px;
        left: 16px;
        z-index: 30;
        background: white;
        padding: 15px
      }

      .skip-link:focus {
        top: 10px
      }

      .secondary-menu-label {
        display: none
      }

      .hero {
        max-width: 1400px
      }

      .hero-copy {
        padding-left: 48px
      }

      .hero h1 {
        white-space: normal
      }

      .hero-media {
        min-height: 450px
      }

      .experience {
        height: auto;
        width: 150px;
        padding: 25px
      }

      .experience p {
        white-space: normal
      }

      .hero-actions {
        flex-wrap: wrap
      }

      .play-video {
        margin-top: 20px;
        background: transparent;
        border: 0;
        padding: 0
      }

      .module {
        padding: 80px 48px;
        scroll-margin-top: 24px
      }

      .module-inner {
        max-width: 1174px;
        margin: auto
      }

      .module h2 {
        font-family: 'Anton', 'Arial Narrow', sans-serif;
        text-transform: uppercase;
        font-size: clamp(28px, 3.3vw, 43px);
        line-height: 1.17;
        font-weight: 400;
        letter-spacing: .5px;
        max-width: 820px;
        margin: 0 0 30px
      }

      .module h3 {
        font-family: 'Lilita One', sans-serif;
        font-weight: 400;
        font-size: 24px;
        line-height: 1.2;
        margin: 0 0 20px
      }

      .module p,
      .module blockquote,
      .detail-copy {
        font-size: 15px;
        line-height: 1.8;
        color: var(--muted);
        overflow-wrap: anywhere
      }

      .module .eyebrow {
        font-size: 11px;
        color: var(--gold);
        letter-spacing: 2px;
        margin-bottom: 20px
      }

      .module a[data-source]:not(.pill):hover {
        color: var(--gold)
      }

      .module p[data-source] {
        white-space: pre-line
      }

      .module:nth-of-type(even) {
        background: #f2f0e9
      }

      .module h4 {
        font-size: 11px;
        letter-spacing: 1px;
        margin: 25px 0 5px
      }

      .text-link {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        font-size: 13px;
        font-weight: 700;
        color: var(--gold);
        border-bottom: 2px solid #cbbc9e;
        padding-bottom: 5px
      }

      .action-row {
        display: flex;
        gap: 14px;
        flex-wrap: wrap;
        margin-top: 30px
      }

      .outline {
        background: transparent;
        color: var(--ink);
        border-color: #cbc8bc
      }

      .outline:hover {
        background: var(--soft)
      }

      #services {
        padding-block: 32px 60px
      }

      .intro-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px
      }

      .intro-card {
        position: relative;
        padding: 28px 32px;
        background: #eeece3;
        border: 2px solid #e3dfd3;
        border-radius: 16px;
        transition: transform .2s
      }

      .intro-card:hover {
        transform: translateY(-4px)
      }

      .intro-card h3 {
        font-size: 22px;
        margin: 15px 0 12px
      }

      .intro-card p {
        margin: 0 0 18px
      }

      .card-number {
        color: var(--gold);
        font-size: 11px;
        letter-spacing: 2px
      }

      .intro-card>.arrow {
        position: absolute;
        right: 24px;
        top: 28px
      }

      .order-module {
        margin-top: clamp(32px, 5vw, 64px);
        padding-block: 34px !important;
        background: var(--forest) !important;
        color: white
      }

      .order-panel {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px
      }

      .order-panel h2 {
        font-size: 29px;
        margin-bottom: 8px
      }

      .order-panel p {
        color: #c4cbbf;
        margin: 0
      }

      .order-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap
      }

      .order-actions .pill {
        background: var(--gold-light);
        color: var(--ink);
        border-color: var(--gold-light)
      }

      .order-actions .outline {
        background: transparent;
        color: white;
        border-color: #818b80
      }

      .benefit-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 28px;
        margin-top: 40px
      }

      .benefit h3 {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 600;
        font-size: 16px;
        line-height: 1.5;
        margin: 18px 0 0
      }

      .benefit-symbol {
        display: grid;
        place-items: center;
        width: 56px;
        height: 56px;
        border: 2px solid #d6ccb9;
        border-radius: 50%;
        font-size: 26px;
        color: var(--gold)
      }

      .quick-process {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
        margin: 40px 0
      }

      .step-number {
        font-family: 'Anton', sans-serif;
        font-size: 32px;
        color: var(--gold);
        min-width: 45px
      }

      .quick-process>div {
        border-top: 2px solid var(--line);
        padding-top: 25px
      }

      .quick-process p {
        margin-bottom: 20px
      }

      .process-details {
        border-top: 2px solid #d6d2c6
      }

      .step-detail {
        border-bottom: 2px solid #d6d2c6
      }

      .step-detail summary {
        display: flex;
        gap: 20px;
        align-items: center;
        padding: 20px 0;
        cursor: pointer;
        font-size: 16px;
        font-weight: 600
      }

      .step-detail summary:after,
      .faq-item summary:after,
      .region-detail summary:after {
        content: '+';
        font-size: 24px;
        font-weight: 400;
        margin-left: auto;
        color: var(--gold)
      }

      details[open]>summary:after {
        content: '−'
      }

      .detail-copy {
        padding: 0 0 22px 65px;
        max-width: 960px
      }

      .detail-copy p {
        margin: 10px 0
      }

      .detail-copy>a {
        display: inline;
        color: var(--gold);
        text-decoration: underline;
        line-height: 1.8
      }

      details summary:focus-visible {
        outline: 2px solid var(--gold);
        outline-offset: 4px
      }

      .section-links {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin: 30px 0
      }

      .section-links a {
        border: 2px solid #d9d3c6;
        border-radius: 30px;
        padding: 10px 16px;
        font-size: 12px
      }

      .compare-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px
      }

      .compare-card {
        border: 2px solid #d8d1c2;
        border-radius: 20px;
        padding: 35px;
        background: var(--paper);
        scroll-margin-top: 30px
      }

      .compare-card:last-child {
        background: #e7eade;
        border-color: #cbd2bc
      }

      .compare-card h3 {
        margin-top: 18px;
        font-size: 29px
      }

      .compare-card p {
        margin: 10px 0
      }

      .support-copy {
        margin-top: 50px;
        padding-top: 35px;
        border-top: 2px solid var(--line);
        max-width: 950px
      }

      .support-copy h2 {
        font-size: 28px
      }

      .dark-module {
        background: var(--forest) !important;
        color: var(--paper)
      }

      .dark-module p,
      .dark-module blockquote {
        color: #c4cbbf
      }

      .dark-module .eyebrow {
        color: var(--gold-light)
      }

      .hardware-timeline {
        display: grid;
        gap: 64px;
        position: relative;
        margin: 56px 0
      }

      .hardware-timeline::before {
        content: '';
        position: absolute;
        inset: 0 auto 0 50%;
        width: 2px;
        background: #b5adc2
      }

      .hardware-timeline article {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 80px;
        position: relative
      }

      .hardware-timeline article::before {
        content: '';
        position: absolute;
        left: calc(50% - 5px);
        top: calc(50% - 5px);
        width: 11px;
        height: 11px;
        border-radius: 50%;
        background: var(--gold-light);
        box-shadow: 0 0 0 7px var(--bg, #fff)
      }

      .hardware-timeline article:nth-child(even) .hardware-video {
        grid-column: 2;
        grid-row: 1
      }

      .hardware-timeline article:nth-child(even) .hardware-caption {
        grid-column: 1;
        grid-row: 1;
        justify-self: end
      }

      #hardware .hardware-caption h3 {
        font-size: clamp(28px, 3.2vw, 44px);
        font-weight: 600;
        letter-spacing: -.035em;
        line-height: 1.12;
        margin: 14px 0 18px
      }

      #hardware .hardware-caption p {
        font-size: 17px;
        line-height: 1.55;
        margin: 0;
        max-width: 32ch
      }

      .hardware-index {
        font-size: 12px;
        letter-spacing: .16em;
        font-weight: 600;
        color: #706889
      }

      .equipment-icon {
        font-size: 36px;
        color: var(--gold-light)
      }

      .material-panel {
        margin-top: 40px;
        border-top: 2px solid #526052;
        padding-top: 35px
      }

      .bound-materials-module .material-panel {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
      }

      .material-panel h2 {
        font-size: 28px
      }

      .material-panel p {
        margin: 6px 0
      }

      .samples-intro {
        max-width: 720px;
        margin-bottom: 32px
      }

      .sample-gallery {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 24px
      }

      .brand-logo {
        display: block;
        width: 164px;
        height: auto;
        object-fit: contain;
      }
      .header .brand { flex-shrink: 0; }
      .site-footer .brand-logo { width: 200px; max-width: 100%; }
      @media (max-width: 700px) {
        .header .brand-logo { width: 132px; }
      }

      .sample-downloads {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
        margin-top: 32px;
      }
      .sample-download {
        --file-color: #bd4545;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding: 28px 20px;
        border: 2px solid #b9b7cb;
        border-radius: 16px;
        background: #fff;
        text-align: center;
        transition: border-color .2s, background .2s;
      }
      .sample-download:hover { border-color: var(--file-color); background: #faf9fd; }
      .sample-download--word { --file-color: #3569b5; }
      .sample-download--epub { --file-color: #418057; }
      .sample-download svg { width: 82px; height: 96px; color: var(--file-color); flex-shrink: 0; }
      .sample-download strong { font-size: 19px; color: var(--ink); }
      .sample-download > span { font-size: 14px; color: var(--muted); }
      .sample-download .sample-download-action { font-weight: 600; color: var(--file-color); }
      @media (max-width: 600px) {
        .sample-downloads { grid-template-columns: 1fr; gap: 16px; }
      }

      .sample-card {
        display: block;
        min-width: 0;
        padding: 14px;
        border: 2px solid #c5bfd2;
        border-radius: 20px;
        background: #fff;
        transition: border-color .2s, box-shadow .2s
      }

      .sample-card:hover {
        border-color: var(--gold);
        box-shadow: 0 8px 24px rgba(21, 28, 23, .08)
      }

      .sample-card img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 4;
        object-fit: contain;
        background: #f9f8f5;
        border-radius: 8px
      }

      .sample-card strong {
        display: block;
        margin: 18px 0 8px;
        font-size: 16px
      }

      .sample-card span {
        display: block;
        color: var(--gold);
        font-size: 13px;
        line-height: 1.5
      }

      @media (max-width: 1000px) {
        .sample-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      }

      @media (max-width: 480px) {
        .sample-gallery { grid-template-columns: 1fr; gap: 20px; }
      }

      .editorial-layout {
        display: grid;
        grid-template-columns: 1fr 1.25fr;
        gap: 65px
      }

      .mini-links {
        display: flex;
        flex-wrap: wrap;
        gap: 10px
      }

      .mini-links a {
        font-size: 12px;
        border-bottom: 2px solid #cbc1ab;
        padding: 6px 0
      }

      .editorial-layout p:first-child {
        margin-top: 0
      }

      .review-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 22px
      }

      .review-card {
        margin: 0;
        padding: 30px;
        background: #fffdf7;
        border: 2px solid var(--line);
        border-radius: 16px
      }

      .review-card:first-child {
        grid-row: span 2
      }

      .review-card blockquote {
        margin: 5px 0 25px;
        white-space: pre-line
      }

      .quote-mark {
        font-family: Georgia, serif;
        font-size: 55px;
        line-height: 1;
        color: var(--gold)
      }

      .review-card figcaption {
        display: flex;
        gap: 14px;
        align-items: center
      }

      .avatar {
        border-radius: 50%;
        background: #e9e5d6;
        color: var(--gold);
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px
      }

      .review-card strong,
      .review-card figcaption div>span {
        display: block;
        font-size: 12px;
        line-height: 1.6
      }

      .review-card figcaption div>span {
        color: var(--muted)
      }

      .review-source {
        display: flex;
        gap: 15px;
        align-items: center;
        flex-wrap: wrap;
        margin-top: 28px
      }

      .review-source h3 {
        font-size: 16px;
        margin: 0
      }

      .review-source code {
        font-size: 11px;
        color: var(--muted)
      }

      .faq-tools {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
        margin: 32px 0
      }

      .faq-tools label {
        font-size: 13px;
        font-weight: 600
      }

      .faq-tools input {
        flex: 1;
        min-width: 180px
      }

      .faq-tools #faq-count {
        font-size: 11px;
        color: var(--muted)
      }

      input,
      textarea {
        font: inherit;
        border: 2px solid #cec8b9;
        border-radius: 9px;
        padding: 13px 16px;
        background: #fffef9;
        color: var(--ink);
        max-width: 100%
      }

      input:focus,
      textarea:focus {
        outline: 2px solid var(--gold);
        outline-offset: 2px
      }

      .faq-item {
        border-top: 2px solid #d8d3c7
      }

      .faq-item:last-child {
        border-bottom: 2px solid #d8d3c7
      }

      .faq-item summary {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 24px;
        padding: 21px 0;
        font-size: 16px;
        font-weight: 500;
        cursor: pointer
      }

      .faq-item .detail-copy {
        padding-left: 0;
        max-width: 900px
      }

      .faq-item[hidden] {
        display: none
      }

      #faq>.module-inner>.text-link {
        margin-top: 25px
      }

      .region-detail {
        margin-top: 35px;
        border-block: 2px solid var(--line)
      }

      .region-detail summary {
        display: flex;
        align-items: center;
        padding: 24px 0;
        cursor: pointer;
        font-weight: 600
      }

      .region-detail .detail-copy {
        padding-left: 0
      }

      .shipping-panel {
        margin-top: 40px;
        padding: 30px;
        background: #eeece3;
        border-radius: 16px
      }

      .shipping-panel h2 {
        font-size: 28px
      }

      .shipping-panel p {
        margin: 6px 0
      }

      .shipping-panel a[data-source] {
        display: block
      }

      .contact-layout {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 80px
      }

      .contact-layout form {
        display: grid;
        gap: 10px
      }

      .contact-layout label {
        font-size: 10px;
        letter-spacing: 2px;
        margin-top: 8px
      }

      .contact-layout form .pill {
        justify-self: start;
        margin-top: 10px;
        background: var(--gold-light);
        color: var(--ink);
        border: 0
      }

      .contact-layout .form-note {
        font-size: 11px;
        margin: 2px 0
      }

      .journal-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px
      }

      .journal-card {
        padding: 25px;
        border: 2px solid var(--line);
        border-radius: 12px
      }

      .journal-title {
        display: block;
        font-family: 'Lilita One', sans-serif;
        font-size: 22px;
        line-height: 1.3;
        margin-bottom: 20px
      }

      .journal-card h3 {
        font-size: 22px
      }

      .journal-card p {
        font-size: 12px;
        margin: 6px 0
      }

      .journal-card p:last-child:not(:nth-child(3)) {
        font-size: 14px
      }

      .language-menu {
        border-top: 2px solid var(--line);
        padding-top: 20px;
        margin-top: 30px
      }

      .language-menu summary {
        cursor: pointer;
        font-weight: 600
      }

      .language-links {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 20px
      }

      .language-links a {
        font-size: 12px;
        border: 2px solid var(--line);
        border-radius: 20px;
        padding: 9px 15px
      }

      #languages p {
        max-width: 920px
      }

      .site-footer {
        max-width: 1270px;
        margin: auto;
        padding: 40px 48px 24px
      }

      .footer-top {
        display: flex;
        gap: 35px;
        justify-content: space-between
      }

      .footer-top nav {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
        max-width: 600px;
        font-size: 12px
      }

      .footer-top nav>span {
        width: 100%
      }

      .footer-bottom {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
        margin-top: 30px;
        padding-top: 20px;
        border-top: 2px solid var(--line);
        font-size: 10px;
        color: var(--muted)
      }

      @media(max-width:1000px) {
        .header {
          padding-inline: 24px
        }

        .nav {
          gap: 16px
        }

        .header>.pill {
          display: none
        }

        .hero-copy {
          padding-left: 24px
        }

        .module {
          padding: 60px 24px
        }

        .benefit-grid {
          gap: 16px
        }

        .editorial-layout,
        .contact-layout {
          gap: 35px
        }

          .journal-grid {
          grid-template-columns: 1fr 1fr
        }
      }

      @media(max-width:700px) {
        .module {
          padding: 48px 24px
        }

        .module h2 {
          font-size: 30px
        }

        .intro-grid,
        .quick-process,
        .editorial-layout,
        .contact-layout,
        .compare-grid,
        .review-grid {
          grid-template-columns: 1fr
        }

        .intro-card {
          padding: 24px
        }

        .intro-card h3 {
          margin-top: 10px
        }

        .benefit-grid {
          grid-template-columns: repeat(2, 1fr);
          gap: 25px
        }

        .benefit:last-child {
          grid-column: 1/-1
        }

        .quick-process {
          gap: 25px
        }

        .step-detail summary {
          font-size: 14px;
          gap: 12px
        }

        .step-number {
          font-size: 27px;
          min-width: 33px
        }

        .detail-copy {
          padding-left: 0
        }

        .compare-card {
          padding: 25px
        }

        .order-panel {
          align-items: flex-start;
          flex-direction: column
        }

        .review-card:first-child {
          grid-row: auto
        }

        .journal-grid {
          grid-template-columns: 1fr
        }

            .footer-top {
          flex-direction: column
        }

        .site-footer {
          padding: 35px 24px
        }

        .faq-tools input {
          flex-basis: 100%;
          order: 1
        }

        .faq-tools #faq-count {
          margin-left: auto
        }

        .hero-copy {
          padding-right: 24px
        }

        .hero-actions {
          gap: 14px
        }

        .brand-name {
          font-size: 15px
        }

        .hero-media {
          min-height: 330px
        }

        .experience {
          right: 20px
        }

        .module h3 {
          font-size: 23px
        }

        .faq-item summary {
          font-size: 15px
        }

        .contact-layout {
          gap: 30px
        }
      }

      .source-paragraph span {
        white-space: normal
      }

      .source-paragraph a {
        color: var(--gold);
        text-decoration: underline
      }

      .page-input {
        display: grid;
        gap: 6px;
        max-width: 180px
      }

      .page-input label {
        font-size: 11px;
        letter-spacing: .5px
      }

      .page-input input {
        width: 100%;
        padding: 11px 14px
      }

      .order-actions {
        align-items: end
      }

      .price-estimate {
        font-size: 12px;
        color: #d4ddcf;
        line-height: 1.7;
        margin-top: 18px;
        border-top: 2px solid #526052;
        padding-top: 16px
      }

      .order-panel {
        align-items: end
      }

      .coverage-detail p {
        margin: 10px 0
      }

      .brand-mark {
        fill: var(--ink)
      }

      @media(max-width:700px) {
        .order-actions {
          width: 100%
        }

        .page-input {
          max-width: 160px;
          flex: 1
        }

        .order-actions>.pill {
          margin-bottom: 1px
        }

        .header {
          gap: 10px
        }

        .menu-toggle {
          font-size: 11px;
          padding: 8px
        }

        .brand {
          gap: 8px
        }
      }

      /* Reference-inspired testimonials: an editorial intro and staggered review stack. */
      .testimonials-module {
        padding-block: 110px;
        background: #fffefa !important
      }

      .testimonials-layout {
        display: grid;
        grid-template-columns: .95fr 1.05fr;
        gap: 100px;
        align-items: center;
        max-width: 1050px;
        margin: auto
      }

      .testimonials-intro h2 {
        font-family: 'DM Sans', Arial, sans-serif;
        text-transform: none;
        font-size: 40px;
        font-weight: 700;
        letter-spacing: -1.5px;
        line-height: 1.12;
        max-width: 330px;
        margin: 0 0 24px
      }

      .testimonials-intro>p:not(.eyebrow) {
        max-width: 310px;
        font-size: 14px;
        line-height: 1.65
      }

      .testimonials-intro .pill {
        margin-top: 12px;
        background: var(--gold);
        border-color: var(--gold);
        border-radius: 7px;
        padding: 0 23px;
        min-height: 45px
      }

      .testimonials-intro .pill:hover {
        background: #785826
      }

      .testimonials-intro .review-caption {
        font-size: 11px !important;
        color: #8b887d;
        margin-top: 23px
      }

      .testimonials-stack {
        position: relative;
        padding-top: 12px
      }

      .review-flourish {
        position: absolute;
        width: 80px;
        height: 72px;
        top: -90px;
        left: -100px;
        color: var(--gold)
      }

      #review .review-grid {
        display: flex;
        flex-direction: column;
        gap: 22px;
        padding-left: 38px
      }

      #review .review-card {
        position: relative;
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 18px;
        background: #fff;
        border: 2px solid #eae7dd;
        border-left: 4px solid #deddd5;
        border-radius: 4px;
        margin: 0;
        padding: 22px 24px 20px 18px;
        box-shadow: 0 7px 25px #27322706;
        transition: border-color .2s, box-shadow .2s
      }

      #review .review-card:nth-child(2) {
        margin-left: -38px;
        margin-right: 38px;
        border-left-color: var(--gold);
        box-shadow: 0 8px 30px #9470350d
      }

      #review .review-card:hover,
      #review .review-card.is-expanded {
        border-left-color: var(--gold);
        box-shadow: 0 10px 30px #2732270c
      }

      .review-symbol {
        width: 58px;
        height: 58px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: #e4eae6;
        color: #496252;
        margin-top: 2px
      }

      .review-symbol svg {
        width: 29px;
        height: 29px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round
      }

      #review .review-card:nth-child(2) .review-symbol {
        background: #f1e5d5;
        color: #947035
      }

      #review .review-card:nth-child(3) .review-symbol {
        background: #eae6ee;
        color: #70617c
      }

      #review .review-card:nth-child(4) .review-symbol {
        background: #e2eaf0;
        color: #526e82
      }

      #review .review-card:nth-child(5) .review-symbol {
        background: #e9eadd;
        color: #6c744b
      }

      #review .review-card figcaption {
        display: block;
        padding-right: 23px;
        margin: 0 0 7px
      }

      #review .review-card strong {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.4
      }

      #review .review-card figcaption span {
        font-size: 11px;
        color: #8b887d;
        line-height: 1.6
      }

      #review .quote-mark {
        position: absolute;
        top: 20px;
        right: 19px;
        font-size: 39px;
        line-height: 1;
        color: #d9d8cf
      }

      #review .review-card:nth-child(2) .quote-mark {
        color: var(--gold)
      }

      #review .review-card blockquote {
        font-size: 13px;
        line-height: 1.55;
        margin: 0;
        white-space: pre-line;
        color: #77786e
      }

      #review.reviews-enhanced .review-card:not(.is-expanded) blockquote {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden
      }

      #review.reviews-enhanced:not(.show-all) .review-card:nth-child(n+4) {
        display: none
      }

      .review-read {
        font-size: 10px;
        font-weight: 600;
        color: var(--gold);
        border: 0;
        background: none;
        padding: 0;
        margin-top: 10px;
        text-decoration: underline;
        text-underline-offset: 3px
      }

      #review .review-source {
        display: block;
        margin: 18px 0 0 38px;
        font-size: 10px;
        color: #9b998f
      }

      #review .review-source summary {
        cursor: pointer
      }

      #review .review-source code {
        display: block;
        margin-top: 8px;
        font-size: 10px
      }

      @media(max-width:1000px) {
        .testimonials-layout {
          gap: 55px
        }

        .testimonials-intro h2 {
          font-size: 35px
        }

        .review-flourish {
          left: -55px
        }
      }

      @media(max-width:700px) {
        .testimonials-module {
          padding-block: 60px
        }

        .testimonials-layout {
          grid-template-columns: 1fr;
          gap: 50px
        }

        .testimonials-intro h2 {
          font-size: 34px;
          max-width: 300px
        }

        .testimonials-intro>p:not(.eyebrow) {
          max-width: 360px
        }

        .testimonials-stack {
          padding-top: 0
        }

        .review-flourish {
          top: -85px;
          right: 0;
          left: auto;
          width: 56px;
          height: 56px
        }

        #review .review-grid {
          padding-left: 18px;
          gap: 18px
        }

        #review .review-card {
          grid-template-columns: 46px minmax(0, 1fr);
          gap: 13px;
          padding: 20px 17px 18px 14px
        }

        #review .review-card:nth-child(2) {
          margin-left: -18px;
          margin-right: 18px
        }

        .review-symbol {
          height: 46px;
          width: 46px
        }

        .review-symbol svg {
          width: 25px;
          height: 25px
        }

        #review .review-source {
          margin-left: 18px
        }
      }

      /* Large, consistent icons for all six digital-book possibilities. */
      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 24px;
        margin-top: 45px
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-symbol {
        width: 120px;
        height: 120px;
        background: #f8f6ef;
        border-color: #d6ccb9
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-symbol svg {
        width: 62px;
        height: 62px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.35;
        stroke-linecap: round;
        stroke-linejoin: round
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit h3 {
        font-size: 15px;
        line-height: 1.55;
        margin-top: 22px
      }

      @media(max-width:1100px) {
        :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 36px
        }
      }

      @media(max-width:700px) {
        :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 30px 20px
        }

        :is(#possibilities, #page-shortcuts, #bound-materials) .benefit:last-child {
          grid-column: auto
        }

        :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-symbol {
          width: 110px;
          height: 110px
        }

        :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-symbol svg {
          width: 58px;
          height: 58px
        }

        :is(#possibilities, #page-shortcuts, #bound-materials) .benefit h3 {
          font-size: 14px;
          margin-top: 18px
        }
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit {
        text-align: center
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-symbol {
        margin-inline: auto
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-heading {
        font-family: 'Anton', 'Arial Narrow', sans-serif;
        font-size: 32px;
        font-weight: 400;
        line-height: 1.15;
        letter-spacing: .5px;
        color: var(--ink);
        margin: 22px 0 12px
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit h3 {
        margin-top: 0;
        text-align: center
      }

      @media(max-width:700px) {
        :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-heading {
          font-size: 29px;
          margin-top: 18px
        }
      }

      /* Three-step journey inspired by the numbered-circle reference. */
      #howitworks>.module-inner>.eyebrow {
        text-align: center
      }

      #howitworks>.module-inner>h2 {
        font-family: 'DM Sans', Arial, sans-serif;
        text-transform: none;
        letter-spacing: -1px;
        font-weight: 700;
        font-size: 42px;
        text-align: center;
        max-width: none;
        margin-bottom: 48px
      }

      #howitworks .quick-process {
        --process-gap: 64px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--process-gap);
        max-width: 1030px;
        margin: 0 auto 60px
      }

      #howitworks .quick-process>div {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        border: 0;
        padding: 0;
        text-align: center
      }

      #howitworks .quick-process>div:not(:last-child):after {
        content: '';
        position: absolute;
        top: 25px;
        left: calc(50% + 60px);
        width: calc(100% + var(--process-gap) - 120px);
        border-top: 2px dashed #777970;
        pointer-events: none
      }

      #howitworks .quick-process .step-number {
        display: grid;
        place-items: center;
        flex-shrink: 0;
        width: 52px;
        height: 52px;
        min-width: 0;
        border-radius: 50%;
        background: var(--ink);
        color: #fff;
        font-family: 'DM Sans', Arial, sans-serif;
        font-size: 23px;
        font-weight: 600;
        line-height: 1;
        margin: 0 0 32px
      }

      #howitworks .quick-process .process-step-title {
        font-family: 'DM Sans', Arial, sans-serif;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.4;
        margin: 0 0 15px
      }

      #howitworks .quick-process p {
        flex: 1;
        max-width: 280px;
        font-size: 16px;
        line-height: 1.8;
        color: #777970;
        margin: 0 0 20px
      }

      #howitworks .quick-process .text-link {
        font-size: 12px
      }

      @media(max-width:1000px) {
        #howitworks .quick-process {
          --process-gap: 36px
        }
      }

      @media(max-width:700px) {
        #howitworks>.module-inner>h2 {
          font-size: 34px;
          margin-bottom: 36px
        }

        #howitworks .quick-process {
          grid-template-columns: 1fr;
          gap: 36px;
          margin-bottom: 45px
        }

        #howitworks .quick-process>div:not(:last-child):after {
          display: none
        }

        #howitworks .quick-process .step-number {
          margin-bottom: 22px
        }

        #howitworks .quick-process p {
          max-width: 340px
        }
      }

      #howitworks .quick-process .step-number {
        width: 80px;
        height: 80px;
        font-size: 34px;
        margin-bottom: 30px
      }

      #howitworks .quick-process .process-step-title {
        font-size: 26px;
        line-height: 1.3;
        margin-bottom: 18px
      }

      #howitworks .quick-process>div:not(:last-child):after {
        top: 39px;
        left: calc(50% + 74px);
        width: calc(100% + var(--process-gap) - 148px)
      }

      @media(max-width:700px) {
        #howitworks .quick-process .step-number {
          width: 72px;
          height: 72px;
          font-size: 31px;
          margin-bottom: 24px
        }

        #howitworks .quick-process .process-step-title {
          font-size: 25px
        }
      }

      /* PlutoPay-inspired visual theme. Hero geometry and media remain unchanged. */
      :root {
        --ink: #101014;
        --gold: #4938f5;
        --paper: #fff;
        --muted: #777780;
        --line: #e9e9ef;
        --soft: #f5f5f8;
        --forest: #08080b;
        --gold-light: #bcb6ff
      }

      body {
        background: var(--paper);
        font-family: 'DM Sans', Arial, sans-serif
      }

      .brand-name {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 700;
        letter-spacing: -.4px;
        color: var(--gold)
      }

      .brand-mark {
        fill: var(--gold)
      }

      .nav {
        font-weight: 500
      }

      .nav .active:after {
        background: var(--gold)
      }

      .pill {
        background: var(--gold);
        border-color: var(--gold);
        font-weight: 500;
        box-shadow: 0 4px 14px #4938f510
      }

      .pill:hover {
        background: #3423dc;
        border-color: #3423dc
      }

      .hero h1,
      .section-heading h2,
      dialog h2 {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 500;
        text-transform: none;
        letter-spacing: -2px
      }

      .hero h1 {
        color: var(--ink);
        white-space: nowrap
      }

      .hero-description {
        color: var(--muted)
      }

      .experience {
        background: rgba(8, 8, 14, .96);
        border-color: #666576;
        box-shadow: 0 10px 32px #0003
      }

      .experience strong {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 500;
        letter-spacing: -2px
      }

      .experience .icon {
        color: var(--gold-light)
      }

      .experience:after {
        background: var(--gold)
      }

      .play-circle {
        border-color: var(--line);
        color: var(--gold)
      }

      .watch:hover .play-circle {
        background: #f0edff
      }

      .text-link {
        color: var(--gold);
        border-color: #d9d4ff
      }

      .learn {
        color: var(--gold)
      }

      .outline {
        background: transparent;
        border-color: #cdcdd9;
        color: var(--ink);
        box-shadow: none
      }

      .outline:hover {
        background: #f0edff;
        border-color: #c8c1ff
      }

      .module:nth-of-type(even) {
        background: #f7f7f9
      }

      .module h2 {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 500;
        text-transform: none;
        letter-spacing: -1.4px;
        line-height: 1.2
      }

      .module h3,
      .service-card h3,
      .journal-title {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 600;
        letter-spacing: -.5px
      }

      .module .eyebrow {
        color: var(--gold);
        font-weight: 600;
        letter-spacing: 1.5px
      }

      .intro-card {
        background: #f7f7f9;
        border-color: #ebebf1;
        border-radius: 24px;
        box-shadow: 0 8px 28px #16162b04
      }

      .intro-card:hover {
        border-color: #c7c0ff;
        box-shadow: 0 12px 32px #4938f50a
      }

      .intro-card h3 {
        font-weight: 500
      }

      .intro-card>.arrow {
        color: var(--gold)
      }

      .order-module {
        background: var(--forest) !important
      }

      .order-panel p {
        color: #b2b2bd
      }

      .order-actions .pill,
      .contact-layout form .pill {
        background: var(--gold);
        border-color: var(--gold);
        color: #fff
      }

      .order-actions .pill:hover,
      .contact-layout form .pill:hover {
        background: #3423dc
      }

      .order-actions .outline {
        background: transparent;
        border-color: #565663;
        color: #fff
      }

      .price-estimate {
        color: #b2b2bd;
        border-color: #30303b
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-symbol,
      .benefit-symbol {
        background: #f2f0ff;
        border-color: #e3dfff;
        color: var(--gold)
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-heading {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 500;
        letter-spacing: -1px
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit h3 {
        color: var(--muted);
        font-weight: 400
      }

      #howitworks>.module-inner>h2 {
        font-weight: 500
      }

      #howitworks .quick-process .step-number {
        background: var(--gold);
        border: 2px solid #514477;
        box-shadow: 0 8px 24px #4938f521;
        font-weight: 500
      }

      #howitworks .quick-process>div:not(:last-child):after {
        border-color: #75698f
      }

      #howitworks .quick-process .process-step-title {
        font-weight: 500
      }

      #howitworks .quick-process p {
        color: var(--muted)
      }

      .step-number {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 500
      }

      .process-details,
      .step-detail,
      .faq-item,
      .faq-item:last-child {
        border-color: var(--line)
      }

      .section-links a {
        background: #fff;
        border-color: var(--line)
      }

      .section-links a:hover {
        background: #f2f0ff
      }

      .compare-card {
        background: #fff;
        border-color: var(--line);
        border-radius: 24px;
        box-shadow: 0 8px 32px #16162b04
      }

      .compare-card:last-child {
        background: #f2f0ff;
        border-color: #e1dcff
      }

      .dark-module {
        background: var(--forest) !important;
        color: #fff
      }

      .dark-module p,
      .dark-module blockquote {
        color: #b2b2bd
      }

      .dark-module .eyebrow {
        color: var(--gold-light)
      }

      .equipment-icon {
        color: var(--gold-light)
      }

      .material-panel {
        border-color: #30303b
      }

      .mini-links a {
        border-color: #d9d4ff
      }

      .testimonials-module {
        background: #fff !important
      }

      .testimonials-intro h2 {
        font-weight: 500
      }

      .testimonials-intro .pill {
        border-radius: 30px
      }

      .testimonials-intro .pill:hover {
        background: #3423dc
      }

      .testimonials-intro .review-caption,
      #review .review-card figcaption span {
        color: var(--muted)
      }

      #review .review-card {
        border-color: var(--line);
        border-left-color: #e0dcff;
        border-radius: 18px;
        box-shadow: 0 8px 28px #16162b05
      }

      #review .review-card:nth-child(2) {
        border-left-color: var(--gold);
        box-shadow: 0 8px 30px #4938f50c
      }

      #review .review-card:hover,
      #review .review-card.is-expanded {
        border-left-color: var(--gold);
        box-shadow: 0 10px 30px #4938f50f
      }

      #review .review-symbol,
      #review .review-card:nth-child(n) .review-symbol,
      .avatar {
        background: #f0edff;
        color: var(--gold)
      }

      #review .quote-mark {
        color: #d9d4ff
      }

      #review .review-card blockquote {
        color: var(--muted)
      }

      input,
      textarea {
        background: #fff;
        border-color: #dedee7;
        border-radius: 16px
      }

      input::placeholder,
      textarea::placeholder {
        color: #909099
      }

      .shipping-panel {
        background: #f4f3fb;
        border-radius: 24px
      }

      .journal-card {
        background: #fff;
        border-color: var(--line);
        border-radius: 22px
      }

      .journal-title {
        font-weight: 500
      }

      .language-links a {
        background: #fff
      }

      .site-footer {
        background: #fafafa
      }

      .footer-bottom {
        color: var(--muted)
      }

      .service-card {
        background: #fff;
        border-color: var(--line);
        border-radius: 20px
      }

      .service-card:nth-child(n) .service-icon {
        background: #f0edff;
        color: var(--gold)
      }

      dialog::backdrop {
        background: #08080ba8
      }

      @media(max-width:580px) {
        .hero h1 {
          letter-spacing: -1.5px
        }
      }

      /* Rounded, bold headings inspired by the productivity-app reference. */
      .hero h1,
      .section-heading h2,
      dialog h2,
      .module h2,
      .module h3,
      .module h4,
      .service-card h3,
      .journal-title,
      .intro-card h3,
      .testimonials-intro h2,
      #howitworks>.module-inner>h2,
      #howitworks .quick-process .process-step-title,
      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit-heading {
        font-family: 'DM Sans', Arial, sans-serif;
        font-weight: 700;
        text-transform: none;
        letter-spacing: -.7px;
      }

      .hero h1 {
        letter-spacing: -2px
      }

      :is(#possibilities, #page-shortcuts, #bound-materials) .benefit h3 {
        font-weight: 600;
        letter-spacing: -.3px
      }

      /* Two-by-two testimonials with icon portraits and colored customer footers. */
      #review {
        background: #f6f7fa !important
      }

      #review .testimonials-layout {
        display: block;
        max-width: 1000px
      }

      #review .testimonials-intro {
        text-align: center;
        margin-bottom: 48px
      }

      #review .testimonials-intro h2 {
        max-width: none;
        margin-bottom: 18px
      }

      #review .testimonials-intro>p:not(.eyebrow) {
        max-width: 540px;
        margin-inline: auto
      }

      #review .testimonials-stack {
        padding: 0
      }

      #review .review-flourish {
        display: none
      }

      #review .review-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px;
        padding: 0;
        align-items: stretch
      }

      #review .review-card,
      #review .review-card:nth-child(2) {
        --review-color: #7865df;
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 0;
        margin: 0;
        padding: 0;
        background: #fff;
        border: 2px solid #b9b7cb;
        border-radius: 8px;
        box-shadow: 0 6px 30px #20233d0d;
        overflow: hidden
      }

      #review .review-card:nth-child(2) {
        --review-color: #5965be
      }

      #review .review-card:nth-child(3) {
        --review-color: #37aaa9
      }

      #review .review-card:nth-child(4) {
        --review-color: #d76e85
      }

      #review .review-card:nth-child(5) {
        --review-color: #7865df
      }

      #review .review-card:hover,
      #review .review-card.is-expanded {
        box-shadow: 0 10px 34px #20233d14
      }

      #review .review-card-body {
        display: contents
      }

      #review .quote-mark {
        display: none
      }

      #review .review-card blockquote {
        order: 0;
        flex: 1;
        margin: 32px 36px 20px;
        padding: 0;
        min-height: 178.2px;
        font-size: 18px;
        line-height: 1.65;
        color: #59616f;
        white-space: normal
      }

      #review .review-card:first-child {
        grid-row: auto
      }

      #review.reviews-enhanced .review-card:not(.is-expanded) blockquote {
        -webkit-line-clamp: 6;
        flex: none;
        height: 178.2px;
        min-height: 0;
        overflow: hidden
      }

      #review .review-read {
        order: 1;
        align-self: flex-start;
        margin: 0 36px 64px;
        padding: 0;
        font-size: 12px;
        color: var(--gold)
      }

      #review .review-card figcaption {
        order: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 140px;
        margin: 0;
        padding: 54px 24px 24px;
        background: var(--review-color);
        color: #fff;
        text-align: center
      }

      #review .review-card figcaption strong {
        font-size: 18px;
        line-height: 1.4;
        font-weight: 700
      }

      #review .review-card figcaption span {
        font-size: 14px;
        line-height: 1.6;
        color: #fff;
        margin-top: 4px
      }

      #review .review-card:nth-child(n) .review-symbol {
        position: absolute;
        z-index: 1;
        bottom: 100px;
        left: 50%;
        transform: translateX(-50%);
        width: 80px;
        height: 80px;
        margin: 0;
        border: 5px solid #fff;
        background: #f0edff;
        color: var(--review-color);
        box-shadow: 0 4px 16px #20233d12
      }

      #review .review-symbol svg {
        width: 36px;
        height: 36px;
        stroke-width: 1.5
      }

      #review.reviews-enhanced:not(.show-all) .review-card:nth-child(4) {
        display: flex
      }

      #review.reviews-enhanced:not(.show-all) .review-card:nth-child(n+5) {
        display: none
      }

      #review .review-source {
        margin: 24px 0 0;
        text-align: center
      }

      @media(max-width:700px) {
        #review .review-grid {
          grid-template-columns: 1fr;
          gap: 28px
        }

        #review .testimonials-intro {
          margin-bottom: 32px
        }

        #review .review-card blockquote {
          margin: 28px 26px 20px;
          font-size: 16px;
          min-height: 158.4px
        }

        #review.reviews-enhanced .review-card:not(.is-expanded) blockquote {
          height: 158.4px
        }

        #review .review-read {
          margin-inline: 26px
        }

        #review .review-card figcaption strong {
          font-size: 17px
        }
      }

      #review .review-headline {
        order: -1;
        margin: 32px 36px 0;
        font-size: 30px;
        line-height: 1.2;
        letter-spacing: -.8px;
        color: var(--ink);
        min-height: 108px
      }

      #review .review-headline~blockquote {
        margin-top: 20px
      }

      @media(max-width:700px) {
        #review .review-headline {
          margin: 28px 26px 0;
          font-size: 27px;
          min-height: 0
        }
      }

      /* Decorative double quotes framing each testimonial headline. */
      #review .review-headline {
        position: relative;
        padding: 20px 22px;
        min-height: 148px
      }

      #review .review-headline:before,
      #review .review-headline:after {
        position: absolute;
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 76px;
        font-weight: 400;
        line-height: 1;
        color: var(--review-color);
        opacity: .65;
        pointer-events: none
      }

      #review .review-headline:before {
        content: '“';
        left: -12px;
        top: -8px
      }

      #review .review-headline:after {
        content: '”';
        right: -12px;
        bottom: -28px
      }

      @media(max-width:700px) {
        #review .review-headline {
          padding: 18px 18px;
          min-height: 0
        }

        #review .review-headline:before,
        #review .review-headline:after {
          font-size: 64px
        }

        #review .review-headline:before {
          left: -10px;
          top: -5px
        }

        #review .review-headline:after {
          right: -10px;
          bottom: -24px
        }
      }

      #faq .faq-item summary {
        font-size: 24px;
        line-height: 1.5
      }

      #faq .detail-copy,
      #faq .detail-copy p {
        font-size: 20px;
        line-height: 1.75
      }

      #order .page-input {
        max-width: 240px;
        min-width: 0
      }

      #order .page-input label {
        font-size: 14px
      }

      #order .page-input input {
        min-height: 60px;
        padding: 15px 18px;
        font-size: 20px;
        box-sizing: border-box
      }

      #order .order-actions>.pill {
        min-height: 60px;
        padding: 0 32px;
        font-size: 18px;
        box-sizing: border-box
      }

      @media(max-width:700px) {
        #order .order-actions {
          gap: 16px
        }

        #order .page-input {
          flex: 1 1 200px
        }

        #order .order-actions>.pill {
          flex: 1 1 200px
        }
      }

      @media(max-width:700px) {
        #faq .faq-item summary {
          font-size: 22px
        }
      }

      /* Soft cool gray harmonizes with the violet accents. */
      :root {
        --forest: #e1e1e9
      }

      .order-module,
      .dark-module {
        background: #e1e1e9 !important;
        color: var(--ink)
      }

      .order-panel p,
      .dark-module p,
      .dark-module blockquote,
      .price-estimate {
        color: #686874
      }

      .dark-module .eyebrow,
      .equipment-icon {
        color: var(--gold)
      }

      .price-estimate,
      .material-panel {
        border-color: #cdcdd9
      }

      .order-actions .outline {
        color: var(--ink);
        border-color: #cccdd9
      }

      .order-actions .outline:hover {
        background: #f8f8fb
      }

      .experience {
        background: rgba(225, 225, 233, .97);
        color: var(--ink);
        border-color: #cdcdd9;
        box-shadow: 0 10px 32px #24243b18
      }

      .experience .icon {
        color: var(--gold)
      }

      .hero-media {
        background: #e1e1e9
      }

      @media(max-width:700px) {
        .hero {
          display: flex;
          flex-direction: column
        }

        .hero h1 {
          text-align: center
        }

        .hero-media {
          margin-left: 0;
          border-radius: 0;
          width: 100%
        }
      }

      .contact-details {
        font-style: normal;
        display: grid;
        gap: 30px
      }

      .contact-detail-row {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 18px;
        align-items: start
      }

      .contact-detail-icon {
        display: grid;
        place-items: center;
        width: 54px;
        height: 54px;
        background: #f8f8fb;
        border: 2px solid #cdcdd9;
        border-radius: 16px;
        color: var(--ink)
      }

      .contact-detail-icon svg {
        width: 26px;
        height: 26px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round
      }

      .contact-detail-label {
        display: block;
        font-size: 13px;
        font-weight: 600;
        color: #686874;
        margin: 0 0 7px;
        letter-spacing: .3px
      }

      #contact .contact-details p {
        margin: 0;
        font-size: 22px;
        line-height: 1.65;
        color: var(--ink);
        letter-spacing: -.3px;
        overflow-wrap: anywhere
      }

      .contact-details a {
        color: inherit
      }

      .contact-person {
        font-size: 18px;
        color: #686874;
        white-space: nowrap
      }

      #contact-form label {
        font-size: 13px;
        letter-spacing: 1px
      }

      #contact-form input,
      #contact-form textarea {
        font-size: 18px;
        padding: 16px 18px
      }

      #contact-form .pill {
        font-size: 14px;
        min-height: 48px
      }

      #contact-form .form-note {
        font-size: 13px
      }

      #contact-form .contact-trap {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap
      }

      #contact-form button:disabled {
        opacity: .65;
        cursor: wait
      }

      @media(max-width:700px) {
        .contact-detail-row {
          grid-template-columns: 46px minmax(0, 1fr);
          gap: 14px
        }

        .contact-detail-icon {
          width: 46px;
          height: 46px;
          border-radius: 14px
        }

        #contact .contact-details p {
          font-size: 20px
        }

        .contact-person {
          font-size: 16px
        }
      }

      .contact-details a:hover {
        text-decoration: underline;
        text-underline-offset: 4px
      }

      #contact-form .pill {
        justify-self: center
      }

      #howitworks .quick-process .process-step-title {
        font-size: 32px
      }

      @media(max-width:700px) {
        #howitworks .quick-process .process-step-title {
          font-size: 29px
        }
      }

      #howitworks .step-detail summary {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.4;
        padding-block: 24px
      }

      #howitworks .step-detail .step-number {
        font-size: 38px;
        font-weight: 700;
        min-width: 48px
      }

      .hardware-video {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        border-radius: 12px;
        margin: 0
      }

      @media(max-width:700px) {
        .hardware-timeline {
          gap: 40px;
          margin: 36px 0
        }

        .hardware-timeline::before,
        .hardware-timeline article::before {
          display: none
        }

        .hardware-timeline article {
          grid-template-columns: minmax(0, 1fr);
          gap: 24px
        }

        .hardware-timeline article:nth-child(even) .hardware-video,
        .hardware-timeline article:nth-child(even) .hardware-caption {
          grid-column: auto;
          grid-row: auto;
          justify-self: stretch
        }
      }

      @media(max-width:700px) {
        #howitworks .step-detail summary {
          font-size: 21px
        }

        #howitworks .step-detail .step-number {
          font-size: 34px;
          min-width: 38px
        }
      }

      /* Darker secondary text for clearer reading. */
      :root {
        --muted: #4b4b56
      }

      .order-panel p,
      .dark-module p,
      .dark-module blockquote,
      .price-estimate,
      .contact-detail-label,
      .contact-person {
        color: #4b4b56
      }

      #review .review-card blockquote {
        color: #434b58
      }

      #review .review-source,
      .testimonials-intro .review-caption {
        color: #555560
      }

      input::placeholder,
      textarea::placeholder {
        color: #666671
      }

      #review .review-flag {
        overflow: hidden
      }

      #review .review-flag svg {
        display: block;
        width: 100%;
        height: 100%;
        fill: none;
        stroke: none
      }

      .compare-video {
        display: block;
        width: 100%;
        aspect-ratio: 16/10;
        object-fit: contain;
        margin: 0 0 28px;
        border-radius: 18px;
        background: #101014
      }

      /* Larger scanning comparison text with parallel Pros and Cons columns. */
      #options p {
        font-size: 18px;
        line-height: 1.75
      }

      #options .eyebrow {
        font-size: 14px
      }

      #options .section-links a {
        font-size: 16px
      }

      #options .card-number {
        font-size: 14px
      }

      #options h2 {
        font-size: clamp(34px, 3.6vw, 48px)
      }

      #faq .support-copy h2,
      #book-digitization .support-copy h2 {
        font-size: 34px
      }

      #options .compare-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
      }

      #options .compare-card h3 {
        font-size: 32px;
        line-height: 1.25
      }

      #options .compare-tradeoffs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        margin-top: 28px;
        padding-top: 24px;
        border-top: 2px solid var(--line)
      }

      #options .compare-tradeoffs h4 {
        font-size: 26px;
        line-height: 1.3;
        margin: 0 0 14px;
        color: var(--ink)
      }

      #options .compare-tradeoffs p {
        font-size: 22px;
        line-height: 1.6;
        margin: 0
      }

      @media(max-width:1000px) and (min-width:701px) {
        #options .compare-card {
          padding: 24px
        }

        #options .compare-tradeoffs {
          gap: 16px
        }
      }

      @media(max-width:700px) {
        #options .compare-grid {
          grid-template-columns: 1fr
        }

        #options .compare-tradeoffs {
          gap: 18px
        }

        #options .compare-card h3 {
          font-size: 30px
        }
      }

      /* Scanning methods: decision branches and stacked tradeoff tiles. */
      #options .comparison-stage { padding: 40px; background: #f7f7fa; border-radius: 28px; }
      #options .comparison-question { max-width: 620px; margin: 0 auto 32px; text-align: center; }
      #options .comparison-question .eyebrow { color: #706889; }
      #options .comparison-question h3 { margin: 12px 0; font-size: clamp(28px, 3vw, 38px); line-height: 1.3; letter-spacing: -.045em; }
      #options .comparison-branch { display: flex; flex-direction: column; min-width: 0; }
      #options .branch-line { height: 26px; width: 1px; background: #c9bfee; margin: 0 auto; }
      #options .branch-answer { padding: 12px 0 24px; text-align: center; color: #4938f5; font-size: 13px; font-weight: 700; }
      #options .comparison-branch .compare-card { flex: 1; }
      #options .compare-grid { align-items: stretch; gap: 28px; }
      #options .compare-card {
        display: flex; flex-direction: column; padding: 28px;
        background: #fff; border: 2px solid #e3e1ed; border-radius: 26px;
        box-shadow: 0 12px 36px #23213d06;
      }
      #options .compare-card:last-child { background: #fff; border-color: #d9d2fb; }
      #options .compare-video { border-radius: 16px; margin-bottom: 26px; }
      #options .method-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
      #options .method-label { font-size: 11px; font-weight: 700; letter-spacing: .1em; color: #706889; }
      #options .method-badge { padding: 7px 11px; border-radius: 8px; background: #f0eef7; color: #565064; font-size: 12px; font-weight: 600; }
      #options #nondestructive .method-badge { background: #eee9ff; color: #6247cf; }
      #options .compare-card h3 { margin: 18px 0 12px; font-size: clamp(28px, 2.6vw, 34px); letter-spacing: -.035em; line-height: 1.2; }
      #options .compare-card p { font-size: 18px; line-height: 1.7; }
      #options .method-summary { margin: 0 0 22px; color: #625f70; }
      #options .method-process { display: flex; align-items: flex-start; gap: 14px; padding: 18px; background: #f7f7fa; border-radius: 14px; margin-bottom: 26px; }
      #options .method-process p { margin: 0; font-size: 16px; }
      #options .method-process p + p { margin-top: 12px; }
      #options .method-process-icon { flex: 0 0 30px; height: 30px; display: grid; place-items: center; border: 2px solid #ded9f0; border-radius: 9px; color: #7555df; font-size: 23px; line-height: 1; }
      #options .compare-tradeoffs { display: flex; flex-direction: column; gap: 15px; margin-top: 15px; padding-top: 0; border-top: 0; }
      #options .compare-tradeoffs h4 { margin: 0 0 12px; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #777181; }
      #options .method-benefits { display: grid; gap: 11px; list-style: none; margin: 0; padding: 0; }
      #options .method-benefits li { display: flex; align-items: baseline; gap: 11px; font-size: 18px; color: #292631; line-height: 1.5; }
      #options .method-benefits li::before { content: '✓'; color: #7854dc; font-weight: 700; }
      #options .compare-pros, #options .compare-cons { padding: 21px; border: 0; border-radius: 14px; }
      #options .compare-pros { background: #f4f1fb; }
      #options .compare-cons { background: #f7f7fa; }
      #options .compare-pros h4 { color: #6247cf; }
      #options .compare-cons h4 { color: #706889; }
      #options .compare-tradeoffs p { margin: 0; font-size: 18px; line-height: 1.7; color: #625f70; }
      @media(max-width:700px) {
        #options .comparison-stage { padding: 20px; border-radius: 20px; }
        #options .branch-answer { padding: 5px 0 16px; }
        #options .compare-card { padding: 22px; border-radius: 22px; }
        #options .compare-grid { gap: 20px; }
      }

      #howitworks .step-detail .detail-copy,
      #howitworks .step-detail .detail-copy p {
        font-size: 19px;
        line-height: 1.8;
      }

      #howitworks .action-row { gap: 18px; }
      #howitworks .action-row .pill {
        min-height: 62px;
        padding: 18px 30px;
        font-size: 17px;
        line-height: 1.4;
        text-align: center;
        justify-content: center;
      }
      #options .compare-card > p[data-source^="11:"] { margin: 0 0 22px; }
      @media(max-width:600px) {
        #howitworks .action-row .pill { width: 100%; padding-inline: 22px; }
      }

      #page-shortcuts .shortcut-link {
        display: block;
        color: var(--ink);
        text-decoration: none;
        border-radius: 18px;
      }
      #page-shortcuts .benefit h3.benefit-heading { font-size: 25px; line-height: 1.25; margin-top: 22px; color: var(--ink); }
      #page-shortcuts .benefit-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px 24px; }
      @media(max-width:1100px) and (min-width:701px) {
        #page-shortcuts .benefit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      }
      @media(max-width:700px) {
        #page-shortcuts .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
      }
      #page-shortcuts .benefit-symbol { transition: transform .2s, background .2s, border-color .2s; }
      #page-shortcuts .shortcut-link:hover .benefit-symbol {
        transform: translateY(-5px);
        background: #e9e3ff;
        border-color: var(--gold);
      }
      #page-shortcuts .shortcut-link:focus-visible { outline: 3px solid var(--gold); outline-offset: 8px; }
      @media(prefers-reduced-motion:reduce) {
        #page-shortcuts .benefit-symbol { transition: none; }
        #page-shortcuts .shortcut-link:hover .benefit-symbol { transform: none; }
      }

      #bound-materials .material-group { margin-top: 36px; }
      #bound-materials .material-category { font-size: 24px; margin: 0 0 24px; }
      #bound-materials .benefit-grid { margin-top: 0; }
      #bound-materials .material-photo {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: contain;
        border: 2px solid var(--line);
        border-radius: 14px;
        background: #fff;
      }
      #bound-materials .benefit p.benefit-heading { font-size: 22px; line-height: 1.3; margin: 18px 0 0; color: var(--ink); }
    
/* Integrated contact concept; all rules stay inside this section. */
#contact.contact-design { background: #fff; color: #101014; }
#contact.contact-design .contact-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px; align-items: center; }
#contact.contact-familiar .contact-shell { background: #e1e1e9; border-radius: 32px; padding: 64px; }
#contact.contact-design .info, #contact.contact-design .panel, #contact.contact-design .intro { min-width: 0; }
#contact.contact-design .intro .eyebrow { color: #4938f5; font-size: 11px; font-weight: 700; letter-spacing: 2px; line-height: 1.6; margin: 0 0 22px; }
#contact.contact-design .intro h2 { font-family: 'DM Sans', Arial, sans-serif; font-size: 58px; font-weight: 500; letter-spacing: -2.8px; line-height: 1.05; margin: 0 0 24px; text-transform: none; }
#contact.contact-design .intro h2 em { color: #4938f5; font-style: normal; }
#contact.contact-design .intro .lead { max-width: 420px; color: #4b4b56; font-size: 17px; line-height: 1.75; margin: 0 0 32px; }
#contact.contact-design .contact-details { font-style: normal; display: grid; gap: 24px; }
#contact.contact-design .contact-detail-row { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 14px; align-items: start; }
#contact.contact-design .contact-detail-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid #cdcdd9; border-radius: 14px; background: #f8f8fb; color: #101014; }
#contact.contact-design .contact-detail-icon svg { width: 22px; height: 22px; }
#contact.contact-design .contact-details p { margin: 0; font-size: 15px; line-height: 1.85; color: #101014; letter-spacing: normal; overflow-wrap: anywhere; }
#contact.contact-design .contact-person { font-size: 13px; color: #4b4b56; }
#contact.contact-design .panel { padding-top: 20px; }
#contact.contact-design .form-heading { font-size: 25px; font-weight: 500; letter-spacing: -.8px; line-height: 1.6; margin: 0 0 24px; color: #101014; }
#contact.contact-design form { display: grid; gap: 12px; }
#contact.contact-design form label { font-size: 11px; font-weight: 600; letter-spacing: 1.2px; margin-top: 6px; }
#contact.contact-design form input, #contact.contact-design form textarea { display: block; width: 100%; min-width: 0; padding: 16px 18px; font: inherit; font-size: 16px; line-height: 1.6; color: #101014; background: #fff; border: 2px solid #dedee7; border-radius: 16px; outline: none; }
#contact.contact-design form input:focus, #contact.contact-design form textarea:focus { border-color: #4938f5; box-shadow: 0 0 0 3px #4938f51a; }
#contact.contact-design form input::placeholder, #contact.contact-design form textarea::placeholder { color: #73737f; }
#contact.contact-design form textarea { min-height: 160px; resize: vertical; }
#contact.contact-design .submit { border: 0; border-radius: 100px; padding: 16px 25px; background: #4938f5; color: #fff; display: flex; gap: 24px; align-items: center; justify-content: center; justify-self: center; font: inherit; font-size: 14px; font-weight: 500; line-height: 1.6; margin-top: 14px; cursor: pointer; }
#contact.contact-design .submit:hover { background: #3423dc; }
#contact.contact-design .submit svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#contact.contact-design .form-note, #contact.contact-design .status { font-size: 12px; color: #4b4b56; line-height: 1.65; margin: 4px 0 0; max-width: 400px; }
#contact.contact-design .status:empty { display: none; }
#contact.contact-design .form-note a { text-decoration: underline; }
#contact.contact-design a:hover { text-decoration: underline; text-underline-offset: 4px; }
#contact.contact-design a:focus-visible, #contact.contact-design button:focus-visible { outline: 3px solid #4938f5; outline-offset: 5px; }
#contact.contact-chapters .contact-shell { gap: 70px; }
#contact.contact-chapters .intro h2 { font-size: 60px; }
#contact.contact-chapters .panel { background: #e1e1e9; padding: 40px; border-radius: 28px; }
#contact.contact-chapters .contact-details { gap: 26px; }
#contact.contact-chapters .contact-details p { font-size: 22px; line-height: 1.65; letter-spacing: -.3px; }
#contact.contact-chapters .contact-person { font-size: 18px; }
#contact.contact-chapters .contact-detail-row { grid-template-columns: 54px minmax(0,1fr); gap: 18px; }
#contact.contact-chapters .contact-detail-icon { width: 54px; height: 54px; border-radius: 16px; }
#contact.contact-chapters .contact-detail-icon svg { width: 26px; height: 26px; }
@media(max-width:1000px) {
 #contact.contact-design .contact-shell { gap: 32px; }
 #contact.contact-familiar .contact-shell { padding: 36px; }
 #contact.contact-design .intro h2 { font-size: 48px; }
 #contact.contact-chapters .panel { padding: 28px; }
}
@media(max-width:760px) {
 #contact.contact-design { padding: 48px 20px; }
 #contact.contact-design .contact-shell { grid-template-columns: minmax(0,1fr); gap: 34px; }
 #contact.contact-familiar .contact-shell { padding: 30px 24px; border-radius: 24px; }
 #contact.contact-familiar .info { text-align: center; }
 #contact.contact-familiar .intro .lead { margin-left: auto; margin-right: auto; }
 #contact.contact-familiar .contact-details { width: fit-content; max-width: 100%; margin-inline: auto; }
 #contact.contact-familiar .contact-detail-row { grid-template-columns: 44px minmax(0,1fr); justify-items: start; align-items: center; width: 100%; margin: 0; text-align: left; }
 #contact.contact-design .intro h2 { font-size: 46px; letter-spacing: -2px; }
 #contact.contact-design .intro .lead { font-size: 16px; }
 #contact.contact-design .panel { padding-top: 0; }
 #contact.contact-chapters .panel { padding: 26px; }
 #contact.contact-chapters .contact-details p { font-size: 20px; }
 #contact.contact-chapters .contact-person { font-size: 16px; }
 #contact.contact-chapters .contact-detail-row { grid-template-columns: 46px minmax(0,1fr); gap: 14px; }
 #contact.contact-chapters .contact-detail-icon { width: 46px; height: 46px; border-radius: 14px; }
 #contact.contact-design .submit { min-height: 50px; }
 #contact.contact-familiar .form-heading { text-align: center; font-size: 28px; }
}

    
      /* FAQ: Soft cards from the FAQ design collection. */
      #faq.faq-softcards > .module-inner {
        box-sizing: border-box;
        padding: 50px;
        border-radius: 28px;
        background: #f1f0f8;
      }
      #faq.faq-softcards > .module-inner > .eyebrow {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 2px;
        color: var(--gold);
        margin: 0 0 22px;
      }
      #faq.faq-softcards > .module-inner > h2 {
        max-width: 100%;
        font-family: 'DM Sans', Arial, sans-serif;
        font-size: clamp(32px, 4vw, 48px);
        font-weight: 500;
        line-height: 1.08;
        letter-spacing: -1.8px;
        margin: 0 0 28px;
      }
      #faq .faq-title-line { display: block; }
      #faq mark.faq-match {
        background: #fce39b;
        color: #29221a;
        border-radius: 3px;
        padding: 0 2px;
      }
      #faq.faq-softcards .faq-tools { gap: 12px; margin: 0 0 25px; }
      #faq.faq-softcards .faq-search-field { flex: 1; min-width: 150px; }
      #faq.faq-softcards .faq-tools label {
        display: block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin: 0 0 8px;
      }
      #faq.faq-softcards .faq-tools input {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        min-height: 49px;
        padding: 14px 16px;
        border: 2px solid #e4e4ee;
        border-radius: 12px;
        background: #fff;
        font-size: 15px;
      }
      #faq.faq-softcards #faq-expand {
        min-height: 0;
        margin-top: 20px;
        padding: 13px 19px;
        border: 2px solid #e4e4ee;
        border-radius: 30px;
        background: transparent;
        color: var(--ink);
        font-size: 13px;
        font-weight: 400;
        line-height: 1.5;
      }
      #faq.faq-softcards #faq-expand:hover { background: #fff; }
      #faq.faq-softcards #faq-count { width: 100%; flex-basis: 100%; font-size: 12px; color: #666670; }
      #faq.faq-softcards .faq-item {
        background: #fff;
        border: 2px solid #e6e3f0;
        border-radius: 16px;
        margin: 12px 0;
        padding: 0 24px;
      }
      #faq.faq-softcards .faq-item[open] { box-shadow: 0 8px 24px #30227609; }
      #faq.faq-softcards .faq-item summary {
        list-style: none;
        justify-content: flex-start;
        gap: 18px;
        padding: 23px 0;
        font-size: 17px;
        font-weight: 500;
        line-height: 1.45;
      }
      #faq.faq-softcards .faq-item summary::-webkit-details-marker { display: none; }
      #faq.faq-softcards .faq-item summary::after { flex-shrink: 0; font-size: 23px; color: var(--gold); }
      #faq.faq-softcards .detail-copy {
        max-width: none;
        padding: 0 30px 20px 0;
        overflow-wrap: anywhere;
      }
      #faq.faq-softcards .detail-copy,
      #faq.faq-softcards .detail-copy p { font-size: 15px; line-height: 1.8; color: #666670; }
      #faq.faq-softcards .detail-copy p { margin: 0 0 12px; }
      #faq.faq-softcards .detail-copy p:last-child { margin-bottom: 0; }
      #faq.faq-softcards .detail-copy a { text-underline-offset: 4px; }
      #faq.faq-softcards .support-copy { border-top: 2px solid #dedbe9; padding-top: 32px; }
      @media(max-width:900px) {
        #faq.faq-softcards > .module-inner { padding: 32px; }
      }
      @media(max-width:600px) {
        #faq.faq-softcards > .module-inner { padding: 25px 20px; border-radius: 20px; }
        #faq.faq-softcards > .module-inner > h2 { font-size: 36px; }
        #faq.faq-softcards .faq-tools { gap: 10px; }
        #faq.faq-softcards .faq-search-field { flex-basis: 100%; }
        #faq.faq-softcards #faq-expand { margin-top: 0; }
        #faq.faq-softcards .faq-item { padding-inline: 17px; }
        #faq.faq-softcards .faq-item summary { font-size: 16px; }
        #faq.faq-softcards .detail-copy { padding-right: 0; }
      }
    
      /* Topic icons in the soft-card FAQ headings. */
      #faq.faq-softcards .faq-question-icon {
        display: grid;
        place-items: center;
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        border-radius: 12px;
        background: #f1efff;
        color: var(--gold);
      }
      #faq.faq-softcards .faq-question-icon svg {
        width: 21px;
        height: 21px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      #faq.faq-softcards .faq-item[open] .faq-question-icon { background: #e8e3ff; }
      #faq.faq-softcards .detail-copy { padding-left: 58px; }
      @media(max-width:600px) {
        #faq.faq-softcards .faq-item summary { gap: 12px; }
        #faq.faq-softcards .faq-question-icon { flex-basis: 34px; width: 34px; height: 34px; border-radius: 10px; }
        #faq.faq-softcards .faq-question-icon svg { width: 19px; height: 19px; }
        #faq.faq-softcards .detail-copy { padding-left: 0; }
      }
    
      #faq.faq-softcards .faq-item summary { font-size: 22px; line-height: 1.5; }
      #faq.faq-softcards .detail-copy,
      #faq.faq-softcards .detail-copy p { font-size: 18px; line-height: 1.8; }
      @media(max-width:600px) {
        #faq.faq-softcards .faq-item summary { font-size: 20px; }
        #faq.faq-softcards .detail-copy,
        #faq.faq-softcards .detail-copy p { font-size: 17px; }
      }
    
/* Structured service coverage, benefits, and UK regions. */
#coverage.coverage-redesign { background:#fff; }
#coverage.coverage-redesign h2 { font-family:'DM Sans',Arial,sans-serif; font-weight:500; text-transform:none; letter-spacing:-1.3px; line-height:1.15; }
#coverage.coverage-redesign h3 { font-family:'DM Sans',Arial,sans-serif; font-weight:600; letter-spacing:-.4px; line-height:1.4; margin:0; }
#coverage.coverage-redesign svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
#coverage.coverage-redesign .coverage-intro { max-width:850px; margin-bottom:35px; }
#coverage.coverage-redesign .coverage-hero-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:17px; background:#eeeaff; color:var(--gold); margin-bottom:24px; }
#coverage.coverage-redesign .coverage-hero-icon svg { width:29px; height:29px; }
#coverage.coverage-redesign .coverage-intro h2 { font-size:clamp(36px,4.4vw,54px); margin:0 0 24px; }
#coverage.coverage-redesign .coverage-intro p { font-size:19px; line-height:1.8; color:#65616f; margin:0; }
#coverage.coverage-redesign .coverage-countries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:60px; }
#coverage.coverage-redesign .coverage-country { padding:27px; border-radius:20px; background:#f5f3fb; border:2px solid #e9e4f5; }
#coverage.coverage-redesign .coverage-mini-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#fff; color:var(--gold); margin-bottom:18px; }
#coverage.coverage-redesign .coverage-mini-icon svg { width:21px; height:21px; }
#coverage.coverage-redesign .coverage-country h3 { font-size:23px; margin-bottom:13px; }
#coverage.coverage-redesign .coverage-country p { font-size:16px; line-height:1.8; color:#625e6b; margin:0; }
#coverage.coverage-redesign .coverage-section-heading { max-width:820px; margin-bottom:30px; }
#coverage.coverage-redesign .coverage-section-heading h2 { font-size:clamp(29px,3vw,38px); margin:0 0 17px; }
#coverage.coverage-redesign .coverage-section-heading p { color:#6c6675; font-size:17px; line-height:1.8; margin:0; }
#coverage.coverage-redesign .coverage-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#coverage.coverage-redesign .coverage-benefit { border:2px solid #e5e0ef; border-radius:18px; padding:26px; background:#fff; }
#coverage.coverage-redesign .coverage-card-icon { display:grid; place-items:center; background:#eeeaff; color:var(--gold); width:47px; height:47px; border-radius:14px; margin-bottom:20px; }
#coverage.coverage-redesign .coverage-benefit p { color:#302b39; font-size:18px; font-weight:500; line-height:1.7; margin:0; }
#coverage.coverage-redesign .coverage-benefit a { color:var(--gold); text-underline-offset:4px; }
#coverage.coverage-redesign .coverage-regions { margin-top:60px; padding:38px; border-radius:25px; background:#f1eff8; }
#coverage.coverage-redesign .coverage-region-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start; }
#coverage.coverage-redesign .coverage-region { min-width:0; background:#fff; border:2px solid #e8e2f0; border-radius:16px; padding:24px; }
#coverage.coverage-redesign .coverage-region-heading { display:flex; align-items:flex-start; gap:10px; }
#coverage.coverage-redesign .coverage-region h3 { font-size:18px; color:#332d40; }
#coverage.coverage-redesign .coverage-region-icon { display:grid; place-items:center; flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:#eeeaff; color:var(--gold); margin-top:2px; }
#coverage.coverage-redesign .coverage-region-icon svg { width:14px; height:14px; stroke-width:2; }
#coverage.coverage-redesign .coverage-region p { font-size:14px; line-height:1.85; color:#716a7c; margin:16px 0 0; overflow-wrap:anywhere; }
#coverage.coverage-redesign .coverage-region p+p { padding-top:14px; border-top:2px solid #f0edf5; }
@media(max-width:1050px) {
 #coverage.coverage-redesign .coverage-countries,#coverage.coverage-redesign .coverage-benefits { gap:14px; }
 #coverage.coverage-redesign .coverage-country,#coverage.coverage-redesign .coverage-benefit { padding:23px; }
 #coverage.coverage-redesign .coverage-region-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 #coverage.coverage-redesign .coverage-countries,#coverage.coverage-redesign .coverage-benefits,#coverage.coverage-redesign .coverage-region-grid { grid-template-columns:1fr; }
 #coverage.coverage-redesign .coverage-intro p { font-size:17px; }
 #coverage.coverage-redesign .coverage-regions { padding:26px 20px; border-radius:20px; margin-top:40px; }
 #coverage.coverage-redesign .coverage-countries { margin-bottom:40px; }
 #coverage.coverage-redesign .coverage-region { padding:22px; }
 #coverage.coverage-redesign .coverage-benefit p { font-size:17px; }
}

/* Company and service information, grouped into a single reading sequence. */
#about.about-organized h2 { font-family:'DM Sans',Arial,sans-serif; font-weight:500; text-transform:none; letter-spacing:-1.3px; line-height:1.15; }
#about.about-organized h3 { font-family:'DM Sans',Arial,sans-serif; font-weight:600; letter-spacing:-.4px; line-height:1.4; margin:0 0 15px; font-size:23px; }
#about.about-organized .about-heading { max-width:850px; margin-bottom:38px; }
#about.about-organized .about-heading h2 { font-size:clamp(35px,4.2vw,51px); margin:0; }
#about.about-organized .about-heading .eyebrow { margin-bottom:24px; }
#about.about-organized .about-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:35px; }
#about.about-organized .about-fact { padding:28px; border:2px solid #e7e3f0; border-radius:20px; background:#fff; }
#about.about-organized .about-topic-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:#eeeaff; color:var(--gold); margin:0 0 22px; flex-shrink:0; }
#about.about-organized .about-topic-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
#about.about-organized .about-fact p,#about.about-organized .about-service-step p { font-size:16px; line-height:1.85; color:#635e6e; margin:0; }
#about.about-organized .about-service-panel { padding:38px; border-radius:25px; background:#f1eff8; }
#about.about-organized .about-service-panel>h2 { max-width:750px; font-size:clamp(29px,3vw,38px); margin:0 0 30px; }
#about.about-organized .about-service-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#about.about-organized .about-service-step { background:#fff; border:2px solid #e7e1f1; padding:25px; border-radius:17px; }
#about.about-organized .about-step-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; gap:14px; }
#about.about-organized .about-step-top .about-topic-icon { margin:0; }
#about.about-organized .about-step-number { color:#c7bfdc; font-size:27px; letter-spacing:-1px; }
#about.about-organized .about-service-step h3 { font-size:21px; }
#about.about-organized .about-service-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:26px; }
#about.about-organized .about-service-links a { display:flex; align-items:center; justify-content:space-between; gap:16px; text-decoration:none; color:#4938f5; font-size:14px; font-weight:500; line-height:1.5; padding:20px; border:2px solid #e4def6; border-radius:15px; background:#faf9ff; }
#about.about-organized .about-service-links a:hover { background:#efebff; border-color:#c7bbff; }
#about.about-organized .about-link-arrow { font-size:21px; font-weight:400; flex-shrink:0; }
@media(max-width:1100px) {
 #about.about-organized .about-facts { gap:15px; }
 #about.about-organized .about-fact,#about.about-organized .about-service-step { padding:23px; }
 #about.about-organized .about-service-panel { padding:30px; }
 #about.about-organized .about-service-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
 #about.about-organized .about-facts,#about.about-organized .about-service-steps { grid-template-columns:1fr; }
 #about.about-organized .about-service-panel { padding:26px 20px; border-radius:20px; }
 #about.about-organized .about-fact p,#about.about-organized .about-service-step p { font-size:17px; }
}
@media(max-width:500px) {
 #about.about-organized .about-service-links { grid-template-columns:1fr; }
 #about.about-organized .about-heading h2 { font-size:35px; }
}


      /* Catalogue cards: three columns, with a simpler layout on smaller screens. */
      #bound-materials .material-catalogue {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
        margin-top: 32px;
      }
      #bound-materials .material-catalogue figure {
        min-width: 0;
        margin: 0;
        overflow: hidden;
        border: 2px solid #b9b7cb;
        border-radius: 16px;
        background: #fff;
      }
      #bound-materials .material-catalogue img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
      }
      #bound-materials .material-catalogue figcaption { padding: 22px; }
      #bound-materials .material-catalogue h3 {
        margin: 0;
        font-family: 'DM Sans', Arial, sans-serif;
        font-size: 20px;
        font-weight: 500;
        line-height: 1.3;
        letter-spacing: -.3px;
        text-transform: none;
        color: var(--ink);
      }
      #bound-materials .material-catalogue p {
        margin: 8px 0 0;
        font-size: 14px;
        line-height: 1.5;
        color: var(--muted);
      }
      @media (max-width: 800px) {
        #bound-materials .material-catalogue {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 18px;
        }
        #bound-materials .material-catalogue figcaption { padding: 18px; }
      }
      @media (max-width: 500px) {
        #bound-materials .material-catalogue { grid-template-columns: 1fr; }
      }
    

      #order .order-panel h2 {
        font-size: clamp(32px, 3.2vw, 44px);
        line-height: 1.15;
      }
      #order .order-panel p {
        font-size: clamp(20px, 1.8vw, 24px);
        line-height: 1.5;
      }
    

      /* Balance the coverage directory around its two detailed regional lists. */
      #coverage.coverage-redesign .coverage-regions {
        padding: 40px;
        background: #f1eff8;
      }
      #coverage.coverage-redesign .coverage-regions .coverage-section-heading {
        max-width: 850px;
        margin-bottom: 30px;
      }
      #coverage.coverage-redesign .coverage-region-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        align-items: stretch;
        gap: 20px;
      }
      #coverage.coverage-redesign .coverage-region {
        grid-column: span 2;
        padding: 26px;
        border-radius: 18px;
      }
      #coverage.coverage-redesign .coverage-region:first-child {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(200px, .8fr) minmax(0, 2fr);
        align-items: center;
        gap: 24px;
        background: #e8e3ff;
        border-color: #ded6ff;
      }
      #coverage.coverage-redesign .coverage-region:first-child p { margin: 0; }
      #coverage.coverage-redesign .coverage-region:nth-child(2),
      #coverage.coverage-redesign .coverage-region:nth-child(3) {
        grid-column: span 3;
        padding: 30px;
      }
      #coverage.coverage-redesign .coverage-region-heading {
        align-items: flex-start;
        gap: 12px;
      }
      #coverage.coverage-redesign .coverage-region h3 {
        font-size: 20px;
        line-height: 1.4;
        letter-spacing: -.35px;
        color: var(--ink);
      }
      #coverage.coverage-redesign .coverage-region-icon {
        margin-top: 2px;
        background: #f1edff;
        flex-basis: 28px;
        width: 28px;
        height: 28px;
      }
      #coverage.coverage-redesign .coverage-region:first-child .coverage-region-icon { background: #fff; }
      #coverage.coverage-redesign .coverage-region p {
        font-size: 16px;
        line-height: 1.8;
        margin: 18px 0 0;
        color: #595464;
        overflow-wrap: normal;
        word-break: normal;
      }
      #coverage.coverage-redesign .coverage-region p+p {
        margin-top: 20px;
        padding-top: 20px;
        border-color: #eeebf5;
      }
      @media(max-width: 1000px) {
        #coverage.coverage-redesign .coverage-regions { padding: 28px; }
        #coverage.coverage-redesign .coverage-region-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
        #coverage.coverage-redesign .coverage-region,
        #coverage.coverage-redesign .coverage-region:nth-child(2),
        #coverage.coverage-redesign .coverage-region:nth-child(3) { grid-column: span 1; padding: 24px; }
        #coverage.coverage-redesign .coverage-region:last-child { grid-column: 1 / -1; }
        #coverage.coverage-redesign .coverage-region:first-child { grid-template-columns: 1fr; gap: 12px; }
      }
      @media(max-width: 650px) {
        #coverage.coverage-redesign .coverage-regions { padding: 26px 18px; }
        #coverage.coverage-redesign .coverage-region-grid { grid-template-columns: 1fr; gap: 14px; }
        #coverage.coverage-redesign .coverage-region,
        #coverage.coverage-redesign .coverage-region:nth-child(2),
        #coverage.coverage-redesign .coverage-region:nth-child(3) { padding: 22px; }
        #coverage.coverage-redesign .coverage-region h3 { font-size: 19px; }
        #coverage.coverage-redesign .coverage-region p { font-size: 15px; }
      }
    

      @media (max-width: 700px) {
        #order.order-module { padding-block: 32px !important; }
        #order .module-inner > .eyebrow { text-align: center; margin-bottom: 24px; }
        #order .order-panel { align-items: center; gap: 26px; text-align: center; }
        #order .order-panel > div:first-child { width: 100%; }
        #order .order-panel h2 {
          max-width: 440px;
          margin: 0 auto 12px;
          font-size: clamp(30px, 7.5vw, 38px);
          line-height: 1.2;
          text-wrap: balance;
        }
        #order .order-panel p { max-width: 380px; margin-inline: auto; font-size: 20px; }
        #order .order-actions {
          display: flex;
          flex-direction: column;
          align-items: center;
          width: 100%;
          max-width: 420px;
          gap: 18px;
        }
        #order .page-input {
          flex: none;
          width: 100%;
          max-width: none;
          gap: 10px;
          text-align: center;
        }
        #order .page-input label { font-size: 15px; }
        #order .page-input input { width: 100%; text-align: center; min-height: 62px; }
        #order .order-actions > .pill {
          flex: none;
          width: 100%;
          min-height: 62px;
          margin: 0;
        }
        #order .price-estimate {
          max-width: 420px;
          margin: 24px auto 0;
          padding-top: 20px;
          text-align: center;
          font-size: 13px;
          line-height: 1.65;
        }
      }
    