@font-face {
  font-family:Figtree;
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('/fonts/figtree-latin.woff2') format('woff2');
}

:root {
  color-scheme:light;
  --paper:#fff;
  --bg:#eaeae7;
  --surface:#f7f7f6;
  --ink:#121211;
  --muted:#62625f;
  --accent:#ccff00;
  --line:#e4e4df;
  --dark-line:#343431;
  --shadow:0 18px 45px #12121110;
}

*,*::before,*::after {
  box-sizing:border-box;
}

html {
  scroll-padding-top:110px;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Figtree,Arial,sans-serif;
  font-size:17px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,p,ul,ol {
  margin:0;
}

h1,h2,h3 {
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.035em;
}

h1 {
  font-size:64px;
}

h2 {
  font-size:44px;
}

h3 {
  font-size:20px;
  letter-spacing:-.02em;
}

p {
  color:var(--muted);
}

a {
  color:inherit;
  text-decoration:none;
}

button {
  font:inherit;
  color:inherit;
  cursor:pointer;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

button:disabled {
  cursor:default;
}

button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid var(--ink);
  outline-offset:5px;
}

.site-footer a:focus-visible {
  outline-color:var(--paper);
}

[hidden] {
  display:none!important;
}

img,svg {
  vertical-align:middle;
}

svg {
  flex-shrink:0;
}

.icon {
  width:22px;
  height:22px;
}

.wrap {
  width:min(100% - 64px,1000px);
  margin-inline:auto;
}

.section {
  padding-block:100px;
}

.section-heading {
  text-align:center;
  max-width:600px;
  margin:0 auto 54px;
}

.section-heading p {
  margin-top:22px;
  font-size:20px;
  line-height:1.4;
}

.section-label {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0;
}

.section-label .mark {
  width:23px;
  height:23px;
}

.section-note {
  font-size:14px;
  text-align:center;
  margin-top:24px;
}

.section-intro {
  font-size:20px;
  line-height:1.45;
}

.nobr {
  white-space:nowrap;
}

.line {
  display:block;
}

.mobile-only {
  display:none!important;
}

.skip {
  position:fixed;
  z-index:100;
  top:8px;
  left:16px;
  padding:12px 20px;
  background:var(--accent);
  border-radius:30px;
  transform:translateY(-150%);
}

.skip:focus {
  transform:none;
}

.mark {
  width:30px;
  height:30px;
}

.mark__bg {
  fill:var(--accent);
}

.mark__fg {
  fill:var(--ink);
}

.wordmark {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:29px;
  font-weight:650;
  letter-spacing:-1.5px;
  line-height:1;
}

.wordmark .mark {
  width:31px;
  height:31px;
}

.btn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:15px 24px;
  border:0;
  border-radius:100px;
  background:var(--ink);
  color:var(--paper);
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
}

.btn--primary {
  background:var(--accent);
  color:var(--ink);
}

.btn .icon--arrow {
  width:20px;
  height:20px;
  flex:0 0 20px;
  stroke-width:1.5;
}

.btn--primary:hover {
  background:#bce900;
}

/* Preview-only app actions keep their approved appearance without suggesting availability. */
.btn[data-app-preview]:disabled { opacity:1; -webkit-text-fill-color:currentColor; transform:none; }
.btn--primary[data-app-preview]:disabled { background:var(--accent); color:var(--ink); }

.btn--ink:hover {
  background:#30302d;
}

.btn--small {
  min-height:42px;
  padding:11px 19px;
  font-size:14px;
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-weight:500;
  font-size:16px;
  text-decoration:underline;
  text-underline-offset:5px;
}

.text-link:hover {
  color:var(--muted);
}

/* Floating capsule navigation, matching the reference geometry. */
.site-header {
  position:fixed;
  top:24px;
  left:0;
  right:0;
  z-index:50;
  padding-inline:24px;
  pointer-events:none;
}

.site-header__in {
  width:min(100%,1000px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:58px;
  padding:7px 8px 7px 24px;
  background:var(--paper);
  border-radius:100px;
  box-shadow:0 3px 8px #12121109;
  pointer-events:auto;
}

.site-header__nav {
  display:flex;
  align-items:center;
  gap:16px;
}

.nav-links {
  display:flex;
  align-items:center;
  gap:22px;
  font-size:14px;
  font-weight:500;
}

.nav-links a:hover {
  color:var(--muted);
}

.language-switch {
  display:flex;
  align-items:center;
  gap:2px;
  border:1px solid var(--line);
  border-radius:50px;
  padding:3px;
  font-size:12px;
}

.language-switch a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  min-height:32px;
  border-radius:50px;
  color:var(--muted);
}

.language-switch a[aria-current] {
  background:var(--bg);
  color:var(--ink);
}

.site-header__cta {
  background:var(--ink);
  color:var(--paper);
  /* Figtree's visible letterforms sit slightly above the line-box centre. */
  padding-block:12px 10px;
}

/* Centered hero and product previews. */
.home { background:var(--bg); }
.home .site-header { position:sticky; margin-top:24px; }
.hero {
  padding:90px 0 55px;
  background:var(--bg);
  overflow:hidden;
  text-align:center;
}

.hero h1 {
  font-size:66px;
  line-height:1.06;
  letter-spacing:-.042em;
  max-width:790px;
  margin-inline:auto;
}

.hero-intro {
  margin:26px auto 0;
  max-width:620px;
  font-size:19px;
  line-height:1.4;
}

.hero-action {
  margin-top:34px;
}

.platform-note {
  font-size:12px;
  margin-top:14px;
  color:var(--muted);
  line-height:1.4;
}

.platform-note span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}

.platform-note .icon {
  width:15px;
  height:15px;
}

.hero-free {
  font-size:12px;
  margin-top:6px;
}

.hero-preview {
  position:relative;
  margin-top:76px;
  width:min(100% - 110px,860px);
}

.device-preview {
  position:relative;
  width:100%;
  text-align:left;
}

.device-shell {
  position:relative;
  padding:13px 13px 14px;
  border:2px solid #888a88;
  border-radius:21px 21px 9px 9px;
  background:linear-gradient(150deg,#4a4c4a,#151715 18%,#0e100e 85%,#575957);
  box-shadow:0 2px 0 #ffffff70 inset,0 18px 40px #12121118;
}

.camera-dot {
  position:absolute;
  z-index:2;
  top:4px;
  left:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#222922;
  border:1px solid #687268;
}

.device-screen {
  position:relative;
  overflow:hidden;
  background:var(--paper);
  border-radius:8px;
}

.window-bar {
  height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px;
  background:#ededeb;
  border-bottom:1px solid #dddeda;
  font-size:10px;
  color:#777770;
}

.window-dots {
  display:flex;
  gap:5px;
}

.window-dots i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#c4c4be;
}

.phone-status {
  display:none;
}

.app-shell {
  display:grid;
  grid-template-columns:165px 1fr;
  min-height:410px;
}

.app-sidebar {
  display:flex;
  flex-direction:column;
  padding:28px 14px 20px;
  background:#f7f7f4;
  border-right:1px solid var(--line);
  font-size:11px;
}

.app-brand {
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 32px 10px;
  font-size:23px;
  letter-spacing:-1px;
}

.app-brand .mark {
  width:25px;
  height:25px;
}

.app-sidebar>span {
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:7px;
  margin-bottom:5px;
  padding:10px 8px;
  color:var(--muted);
}

.app-sidebar .icon {
  width:16px;
  height:16px;
}

.app-sidebar .app-nav-active {
  background:#e9ecdf;
  color:var(--ink);
}

.app-sidebar>small {
  display:flex;
  gap:6px;
  align-items:center;
  margin-top:auto;
  font-size:9px;
  color:var(--muted);
}

.app-content {
  padding:24px 32px 20px;
  min-width:0;
}

.app-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--muted);
  font-size:10px;
  margin-bottom:20px;
}

.demo-tag {
  padding:3px 8px;
  background:#f1f1ed;
  border-radius:4px;
  font-size:9px;
}

.upload-pane h3 {
  font-size:25px;
}

.upload-pane>p {
  font-size:11px;
  margin-top:6px;
}

.upload-zone {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin-top:24px;
  padding:22px 12px 18px;
  border:1px dashed #c5c9b9;
  background:#fcfcf8;
  border-radius:14px;
  min-height:235px;
}

.scan-document {
  position:relative;
  width:49px;
  height:55px;
  display:grid;
  place-items:center;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:7px;
  margin-bottom:13px;
  box-shadow:0 4px 8px #12121108;
}

.scan-document>.icon {
  width:29px;
  height:29px;
  color:#74766a;
}

.upload-zone>strong {
  font-size:13px;
  font-weight:500;
}

.upload-zone>span {
  font-size:10px;
  color:var(--muted);
  margin-top:5px;
}

.upload-zone .btn {
  font-size:12px;
  min-height:39px;
  padding:10px 16px;
  gap:8px;
  margin-top:19px;
}

.upload-zone .btn .icon {
  width:16px;
  height:16px;
}

.upload-zone>small {
  font-size:9px;
  color:var(--muted);
  margin-top:9px;
}

.demo-live {
  font-size:10px;
  text-align:center;
  margin-top:12px;
  min-height:15px;
}

.laptop-base {
  position:relative;
  z-index:1;
  width:112%;
  height:20px;
  margin:-2px -6% 0;
  border:1px solid #b1b5b4;
  border-top-color:#edf0ef;
  border-radius:2px 2px 42% 42% / 2px 2px 100% 100%;
  background:linear-gradient(#dce0df 0%,#dce0df 25%,#b5bab8 75%,#919895 100%);
  box-shadow:0 14px 20px -11px #12121166,0 1px 1px #ffffff80 inset;
}

.laptop-notch {
  position:absolute;
  top:-1px;
  left:42%;
  width:16%;
  height:7px;
  border-radius:0 0 8px 8px;
  background:linear-gradient(90deg,#b4bab7,#d4d9d6 22%,#d4d9d6 78%,#b4bab7);
  box-shadow:0 -1px 2px #646b6855 inset;
}

.hero .preview-caption {
  margin-top:27px;
}

.preview-caption {
  font-size:11px;
  text-align:center;
  color:var(--muted);
}

.float-note {
  position:absolute;
  display:flex;
  align-items:center;
  gap:12px;
  z-index:3;
  padding:18px 20px;
  background:var(--paper);
  border:1px solid #f2f2eb;
  border-radius:16px;
  box-shadow:0 15px 35px #12121115;
  text-align:left;
  pointer-events:none;
}

.float-note>span {
  display:flex;
  flex-direction:column;
}

.float-note--file {
  left:-50px;
  top:120px;
  font-size:12px;
}

.float-note--file small {
  font-size:10px;
  color:var(--muted);
  margin-top:3px;
}

.float-note .float-check {
  width:20px;
  height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--accent);
}

.float-check .icon {
  width:12px;
  height:12px;
}

.float-note--amount {
  right:-54px;
  bottom:54px;
  gap:14px;
}

.float-note--amount small {
  font-size:11px;
  color:var(--muted);
}

.float-note--amount b {
  font-size:33px;
  font-weight:500;
  letter-spacing:-1px;
}

.float-note .float-bolt {
  width:43px;
  height:43px;
  border-radius:12px;
  background:var(--accent);
  display:grid;
  place-items:center;
}

.demo-reset {
  display:flex;
  align-items:center;
  gap:7px;
  position:absolute;
  bottom:-38px;
  left:50%;
  transform:translateX(-50%);
  border:0;
  background:transparent;
  font-size:11px;
  white-space:nowrap;
  text-decoration:underline;
  text-underline-offset:3px;
}

.demo-reset .icon {
  width:13px;
  height:13px;
}

.hero-preview:has([data-state=result])+.preview-caption {
  margin-top:50px;
}

.result-pane {
  text-align:center;
}

.result-heading {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:5px;
  font-size:10px;
  color:var(--muted);
}

.check-round {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  background:var(--accent);
  border-radius:50%;
  color:var(--ink);
}

.check-round .icon {
  width:14px;
  height:14px;
}

.result-label {
  font-size:12px;
  margin-top:16px;
}

.result-number {
  font-size:69px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:-4px;
  color:var(--ink);
  margin-top:4px;
}

.result-number>span {
  font-size:.65em;
  letter-spacing:-2px;
}

.result-sub {
  font-size:11px;
  margin-top:5px;
}

.result-file {
  display:flex;
  align-items:center;
  gap:9px;
  margin:18px auto 15px;
  padding:12px 14px;
  background:var(--surface);
  border-radius:9px;
  max-width:320px;
  text-align:left;
}

.result-file>span {
  display:flex;
  flex-direction:column;
  font-size:10px;
  flex:1;
}

.result-file small {
  font-size:9px;
  color:var(--muted);
}

.result-file .icon {
  width:17px;
  height:17px;
}

.result-file>.icon:last-child {
  color:#416522;
}

.result-pane>.btn {
  min-height:38px;
  font-size:12px;
  padding:10px 20px;
}

.result-pane>.btn .icon {
  width:16px;
  height:16px;
}

.result-foot {
  font-size:9px;
  max-width:310px;
  margin:12px auto 0;
  line-height:1.45;
}

.scan-line {
  display:none;
  position:absolute;
  left:-12px;
  right:-12px;
  top:25px;
  height:3px;
  background:var(--ink);
  box-shadow:0 0 12px #12121140;
}

[data-state=scanning] .scan-line {
  display:block;
}

/* Three distinct steps and four visual feature panels. */
.steps {
  background:var(--bg);
  padding-top:76px;
  padding-bottom:70px;
}

.steps-lead {
  text-align:center;
  margin-bottom:34px;
}

.steps-lead h2 {
  font-size:27px;
  margin-top:17px;
  letter-spacing:-.025em;
}

.steps-grid {
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.steps-grid>li {
  position:relative;
  min-width:0;
  padding:24px 24px 28px;
  border-radius:24px;
  background:var(--surface);
}

.step-num {
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--accent);
  display:grid;
  place-items:center;
  font-size:14px;
  margin-inline:0;
}

.step-art {
  height:140px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.file-options {
  display:flex;
  justify-content:flex-start;
  gap:8px;
  width:100%;
}

.file-chip {
  width:62px;
  height:80px;
  flex:0 0 62px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:8px;
  box-shadow:0 5px 14px #12121105;
  font-size:11px;
  font-weight:500;
}

.file-chip .icon { width:23px; height:23px; color:var(--muted); }

.step-result {
  position:relative;
  padding:16px 18px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 5px 14px #12121105;
  width:205px;
}

.step-result small {
  font-size:10px;
  color:var(--muted);
  display:block;
}

.step-result b {
  display:block;
  font-size:30px;
  font-weight:500;
  letter-spacing:-1px;
  line-height:1.3;
  margin-top:3px;
}

.example-note { display:block; color:var(--muted); font-size:10px; line-height:1.4; }
.step-result .example-note { margin-top:5px; }

.step-document {
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:start;
  column-gap:10px;
  row-gap:4px;
  width:205px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
  box-shadow:0 5px 14px #12121105;
}
.step-document>.icon { grid-row:1 / 3; width:22px; height:22px; color:var(--muted); }
.step-document>strong { font-size:12px; line-height:1.3; font-weight:500; }
.step-document>span { grid-column:2; font-size:9px; line-height:1.4; color:var(--muted); }
.step-document>.document-lines { display:grid; grid-column:1 / -1; gap:5px; margin-top:8px; }
.document-lines i { display:block; height:3px; border-radius:2px; background:var(--line); }
.document-lines i:last-child { width:70%; }

.steps-grid h3 {
  font-size:19px;
  margin-bottom:12px;
}
.steps-grid>li>h3 { text-align:left; }
.steps-grid>li>p { max-width:29ch; margin-inline:0; text-align:left; text-wrap:pretty; }

.steps-grid p {
  font-size:16px;
  line-height:1.4;
}

.trust-row {
  display:flex;
  justify-content:center;
  gap:30px;
  margin-top:28px;
  font-size:14px;
  color:var(--muted);
}

.trust-row>span {
  display:flex;
  align-items:center;
  gap:8px;
}

.trust-row .icon {
  width:17px;
  height:17px;
}

.features {
  padding-top:68px;
}

.home .features { --feature-gap:24px; padding-bottom:var(--feature-gap); }

.home .feature-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--feature-gap);
}

.home .feature {
  min-width:0;
  padding:38px;
  border:0;
  border-radius:24px;
  background:var(--surface);
}

.home .feature>.icon { width:29px; height:29px; }

.feature-art {
  height:370px;
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:var(--surface);
  display:flex;
  align-items:center;
  justify-content:center;
}

.home .feature h2 {
  margin-top:24px;
  font-size:32px;
  line-height:1.12;
  letter-spacing:-.035em;
}

.feature-icon {
  width:24px;
  height:24px;
  flex:0 0 24px;
  color:var(--ink);
  display:grid;
  place-items:center;
}

.feature-icon .icon {
  width:24px;
  height:24px;
}

.home .feature>p {
  max-width:40ch;
  margin-top:20px;
  font-size:16px;
  line-height:1.55;
  color:var(--muted);
  text-wrap:pretty;
}

.home .feature-files { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:28px 0 0; padding:24px 0 0; border-top:1px solid var(--line); list-style:none; }
.home .feature-files li { min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; font-size:12px; line-height:1.4; }
.home .feature-files .icon { width:29px; height:29px; }
.home .feature-pack-list { list-style:none; padding:0; margin:26px 0 0; }
.home .feature-pack-list li { display:flex; align-items:flex-start; gap:9px; margin-top:12px; font-size:14px; line-height:1.5; }
.home .feature-pack-list .icon { width:17px; height:17px; flex:0 0 17px; margin-top:2px; }
.home .feature-pack-list span { min-width:0; }

.paper {
  position:relative;
  width:212px;
  padding:23px 22px 18px;
  background:var(--paper);
  border:1px solid #e4e4de;
  box-shadow:0 10px 24px #12121108;
  border-radius:12px;
}

.paper-logo {
  display:flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  letter-spacing:1px;
  margin-bottom:28px;
}

.paper-logo .icon {
  width:18px;
  height:18px;
  color:var(--muted);
}

.paper>small {
  font-size:8px;
  color:var(--muted);
}

.paper>strong {
  font-size:20px;
  display:block;
  line-height:1.3;
  margin-top:4px;
  letter-spacing:-.6px;
}

.paper-lines {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:20px;
}

.paper-lines i {
  display:block;
  height:4px;
  border-radius:4px;
  background:#e9e9e4;
}

.paper-lines i:last-child {
  width:67%;
}

.paper-lines--short {
  margin-top:14px;
  gap:5px;
}

.paper-total {
  margin-top:20px;
  padding-block:12px;
  border-block:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:9px;
}

.paper-total b {
  font-size:11px;
  white-space:nowrap;
}

.paper-barcode {
  display:block;
  width:66px;
  height:14px;
  margin-top:18px;
  background:repeating-linear-gradient(90deg,#a3a49b 0 1px,transparent 1px 3px,#a3a49b 3px 5px,transparent 5px 7px);
}

.art-scan {
  background:var(--surface);
}

.extraction-demo { display:flex; flex-direction:column; align-items:stretch; gap:9px; width:min(280px,calc(100% - 40px)); }
.extraction-source,.extraction-field { position:relative; padding:15px 18px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 5px 14px #12121105; }
.extraction-source>.icon { position:absolute; top:15px; right:17px; width:19px; height:19px; color:var(--muted); }
.extraction-demo small { display:block; font-size:10px; line-height:1.4; color:var(--muted); }
.extraction-source>small { padding-right:25px; }
.extraction-source>span,.extraction-field>span { display:block; margin-top:8px; font-size:11px; line-height:1.4; color:var(--muted); }
.extraction-demo b { display:block; margin-top:2px; font-size:19px; line-height:1.25; font-weight:500; letter-spacing:-.4px; color:var(--ink); }
.extraction-arrow { display:grid; place-items:center; height:20px; margin:0; color:#8a8a83; }
.extraction-arrow .icon { width:20px; height:20px; transform:rotate(90deg); }

.amount-widget {
  width:min(290px,calc(100% - 40px));
  padding:25px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
  box-shadow:0 5px 14px #12121105;
}

.amount-widget>span {
  display:block;
  font-size:13px;
  line-height:1.4;
  margin-top:16px;
}

.amount-widget>strong {
  display:block;
  margin-top:6px;
  font-size:43px;
  letter-spacing:-1.6px;
  font-weight:500;
  line-height:1.2;
}

.amount-widget>strong small {
  font-size:28px;
}

.amount-widget .amount-note { display:block; margin-top:18px; font-size:11px; line-height:1.45; color:var(--muted); }

.art-privacy {
  background:var(--ink);
  flex-direction:column;
  gap:24px;
  color:var(--paper);
}

.privacy-tiles { width:min(320px,calc(100% - 32px)); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.privacy-tile { min-width:0; min-height:104px; padding:18px 4px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; border:1px solid #515151; border-radius:12px; background:transparent; color:#eaeae7; }
.privacy-tile>.icon { width:26px; height:26px; flex:0 0 26px; }
.privacy-tile>span { font-size:11px; line-height:1.4; white-space:nowrap; }
.privacy-assurance { display:grid; justify-items:center; gap:12px; }
.privacy-assurance>.icon { width:20px; height:20px; color:#bcbcbc; }

.privacy-message {
  font-size:24px;
  font-weight:500;
  line-height:1.15;
  text-align:center;
  letter-spacing:-.6px;
  color:var(--paper);
}

.art-documents {
  background:var(--surface);
  flex-direction:column;
  gap:20px;
}

.document-stack {
  position:relative;
  width:min(290px,calc(100% - 40px));
  display:flex;
  flex-direction:column;
  gap:10px;
}

.document-row {
  display:flex;
  align-items:center;
  gap:11px;
  background:var(--paper);
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 5px 14px #12121105;
}

.document-row>span {
  font-size:13px;
  flex:1;
  min-width:0;
  line-height:1.4;
}

.document-row>span small {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:3px;
}

.document-row>.icon {
  width:22px;
  height:22px;
  color:var(--muted);
}

.document-row .doc-check {
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
  color:#62665b;
}

.doc-check .icon {
  width:17px;
  height:17px;
}

.art-eyebrow { font-size:12px; font-weight:500; line-height:1.4; color:var(--muted); text-align:center; }
.art-caption {
  position:relative;
  font-size:11px;
  color:var(--muted);
}

.art-adviser {
  background:#e6e8dc;
}

.adviser-paper {
  width:235px;
  padding:27px 23px 20px;
  background:var(--paper);
  border-radius:8px;
  box-shadow:var(--shadow);
}

.adviser-paper .mark {
  width:30px;
  height:30px;
  display:block;
  margin-bottom:22px;
}

.adviser-paper>span {
  display:block;
  font-size:11px;
  color:var(--muted);
}

.adviser-paper>strong {
  display:block;
  font-size:37px;
  font-weight:500;
  letter-spacing:-1.5px;
  margin-top:5px;
}

.adviser-check {
  display:flex;
  align-items:center;
  gap:5px;
  font-size:9px;
  border-top:1px solid var(--line);
  padding-top:15px;
  margin-top:18px;
}

.adviser-check .icon {
  width:13px;
  height:13px;
}

.handover-label {
  position:absolute;
  bottom:61px;
  right:26px;
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--accent);
  padding:14px 20px;
  font-size:13px;
  border-radius:12px;
  box-shadow:var(--shadow);
}

.art-devices {
  background:#ebebe8;
}

.mini-laptop {
  width:305px;
  height:199px;
  background:#171916;
  border-radius:11px;
  padding:9px 9px 10px;
  position:relative;
  transform:translate(-12px,-10px);
  box-shadow:0 13px 20px #12121115;
}

.mini-laptop>div {
  background:var(--paper);
  height:100%;
  padding:18px;
  border-radius:4px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.mini-laptop .mark {
  width:21px;
  height:21px;
}

.mini-laptop span {
  font-size:9px;
  color:var(--muted);
  margin-top:17px;
}

.mini-laptop b {
  font-size:31px;
  letter-spacing:-1px;
  font-weight:500;
}

.mini-laptop i,.mini-phone>i {
  display:block;
  width:78px;
  height:13px;
  background:var(--accent);
  border-radius:6px;
  margin-top:7px;
}

.mini-laptop::after {
  content:'';
  position:absolute;
  width:114%;
  height:9px;
  left:-7%;
  top:calc(100% - 2px);
  border-radius:1px 1px 40% 40% / 1px 1px 100% 100%;
  background:linear-gradient(#e3e6e3,#9ca39e);
  box-shadow:0 9px 12px -8px #12121166;
}

.mini-phone {
  position:absolute;
  right:43px;
  bottom:57px;
  width:93px;
  height:177px;
  background:var(--paper);
  border:5px solid #242823;
  border-radius:19px;
  display:flex;
  flex-direction:column;
  align-items:center;
  box-shadow:8px 13px 25px #12121125;
}

.mini-island {
  width:30px;
  height:7px;
  background:var(--ink);
  border-radius:10px;
  margin-top:4px;
}

.mini-phone .mark {
  width:20px;
  height:20px;
  margin-top:18px;
}

.mini-phone b {
  font-size:16px;
  font-weight:500;
  margin-top:15px;
}

.mini-phone>i {
  width:50px;
  height:9px;
}

/* Walkthrough, formats and pricing. */
.tour {
  padding-top:50px;
}

.tour-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:65px;
  align-items:center;
}

.tour-copy .section-intro {
  margin-top:24px;
}

.tour-copy .text-link {
  margin-top:27px;
}

.tour-steps {
  margin-top:60px;
}

.tour-step {
  border-top:1px solid var(--line);
  display:flex;
  gap:15px;
  padding:19px 0;
  color:var(--muted);
}

.tour-step>span {
  font-size:12px;
  padding-top:3px;
}

.tour-step h3 {
  font-size:18px;
}

.tour-step p {
  font-size:14px;
  line-height:1.4;
  margin-top:10px;
}

.tour-step.is-active {
  border-top-color:var(--ink);
  color:var(--ink);
}

.tour-step.is-active>span {
  background:var(--accent);
  height:25px;
  min-width:25px;
  text-align:center;
  border-radius:50%;
  margin-left:-5px;
}

.tour-preview {
  background:transparent;
  border-radius:0;
  padding:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.device-preview--compact .device-shell {
  padding:8px 8px 10px;
  border-radius:14px;
}

.device-preview--compact .camera-dot {
  top:2px;
  width:3px;
  height:3px;
}

.device-preview--compact .device-screen {
  border-radius:5px;
}

.device-preview--compact .app-shell {
  grid-template-columns:1fr;
  min-height:340px;
}

.device-preview--compact .app-sidebar {
  display:none;
}

.device-preview--compact .app-content {
  padding:15px 19px;
}

.device-preview--compact .upload-pane h3 {
  font-size:22px;
}

.device-preview--compact .app-topline {
  margin-bottom:15px;
}

.device-preview--compact .upload-zone {
  min-height:211px;
  margin-top:18px;
  padding-top:15px;
}

.device-preview--compact .laptop-base {
  height:14px;
}

.device-preview--compact .laptop-notch {
  height:5px;
}

.device-preview--compact .result-number {
  font-size:58px;
}

.tour-preview .preview-caption {
  margin-top:38px;
  font-size:10px;
}

.tour-preview:has([data-state=result]) .preview-caption {
  margin-top:50px;
}

.format-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
}

.format {
  background:var(--surface);
  padding:28px 22px;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.format-icon {
  width:68px;
  height:72px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--paper);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-bottom:28px;
}
.format-icon .icon { width:24px; height:24px; color:var(--muted); }
.format-type { font-size:9px; font-weight:500; line-height:1.3; letter-spacing:.15px; color:var(--muted); }

.format h3 {
  font-size:18px;
}

.format>p {
  font-size:15px;
  line-height:1.4;
  margin:14px 0 24px;
}

.accuracy {
  margin-top:auto;
  display:block;
  font-size:11px;
  line-height:1.45;
  color:var(--muted);
}

.audience {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  background:var(--surface);
  border-radius:24px;
  padding:48px;
  margin-top:80px;
  align-items:center;
}

.audience h2 {
  font-size:32px;
}

.audience p {
  font-size:16px;
  line-height:1.45;
  margin-top:20px;
}

.trade-list {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.trade-list>span {
  font-size:14px;
  border:1px solid #d3d4ca;
  border-radius:50px;
  padding:10px 17px;
  background:#f0f1eb;
}

.audience .section-note {
  text-align:left;
  font-size:12px;
  margin-top:22px;
}

.pricing {
  background:var(--bg);
  padding-bottom:50px;
}

.eligibility.section { padding-block:0; }
.eligibility .audience { margin-top:0; }

.pricing-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.price-card {
  border:1px solid #e2e3da;
  border-radius:25px;
  padding:35px;
  background:var(--paper);
}

.price-card--paid {
  background:#f2f7de;
}

.price-card h3 {
  margin-top:17px;
  font-size:24px;
  max-width:320px;
  min-height:54px;
}

.price-value {
  font-size:66px;
  font-weight:500;
  letter-spacing:-3px;
  line-height:1.2;
  margin-top:20px;
  color:var(--ink);
}

.price-value>span {
  font-size:40px;
  letter-spacing:-1px;
}

.price-value>small {
  font-size:18px;
  letter-spacing:0;
}

.price-caption {
  font-size:12px;
  margin-top:4px;
}

.price-card ul {
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:28px 0;
}

.price-card li {
  font-size:15px;
  display:flex;
  align-items:center;
  gap:9px;
}

.price-card li .icon {
  width:17px;
  height:17px;
}

.price-card>.btn {
  margin-top:26px;
}

.price-tiers {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  border-top:1px solid #d5dcc0;
  padding-top:16px;
}

.price-tiers>span {
  display:flex;
  flex-direction:column;
  gap:4px;
}

.price-tiers small {
  font-size:11px;
  color:var(--muted);
}

.price-tiers b {
  font-size:19px;
  font-weight:500;
}

.tiers-note {
  display:block;
  margin-top:17px;
  font-size:10px;
  color:var(--muted);
}

.payment-note {
  font-size:13px;
  text-align:center;
  margin-top:27px;
}

/* Keep the shared grey canvas behind the FAQ and contained dark call to action. */
.faq {
  background:var(--bg);
  color:var(--ink);
  padding:50px 0 100px;
}

.faq-grid {
  display:grid;
  grid-template-columns:.85fr 1fr;
  gap:70px;
}

.faq .section-label {
  color:var(--muted);
}

.faq h2 {
  font-size:39px;
  margin-top:20px;
}

.faq header>p {
  color:var(--muted);
  font-size:18px;
  margin-top:20px;
}

.faq-list details {
  border-bottom:1px solid var(--line);
}

.faq-list summary {
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:22px 0;
  cursor:pointer;
  font-size:16px;
  list-style:none;
  color:var(--ink);
  font-weight:500;
  line-height:1.4;
}

.faq-list details:first-child summary {
  padding-top:4px;
}

.faq-list summary::-webkit-details-marker {
  display:none;
}

.faq-plus {
  position:relative;
  flex:0 0 20px;
  height:22px;
}

.faq-plus::before,.faq-plus::after {
  content:'';
  position:absolute;
  left:2px;
  top:10px;
  width:16px;
  height:2px;
  border-radius:1px;
  background:currentColor;
}

.faq-plus::after {
  transform:rotate(90deg);
}

details[open] .faq-plus::after {
  transform:rotate(90deg) scaleX(0);
}

.faq-list details[open] summary {
  color:var(--ink);
}

main .faq-list details[data-faq-animating] { overflow:hidden; }
.faq-list details[data-faq-state="closing"] .faq-plus::after { transform:rotate(90deg) scaleX(1); }

.faq-list details>p {
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
  padding:0 0 23px 35px;
}

.closing {
  background:var(--bg);
  padding:0 0 80px;
  color:var(--paper);
  text-align:left;
}

.closing-card {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  align-items:center;
  gap:40px;
  margin-inline:auto;
  padding:64px 48px;
  border-radius:28px;
  background:var(--ink);
}

.closing-copy,.closing-actions { min-width:0; }
.closing-copy h2 {
  font-size:48px;
  line-height:1.06;
  letter-spacing:-.04em;
  color:var(--paper);
}

.closing-copy>p { max-width:480px; margin:22px 0 0; color:#b8b8b4; font-size:18px; line-height:1.45; text-wrap:pretty; }
.closing-actions { display:flex; flex-direction:column; align-items:flex-start; text-align:left; }
.closing-actions>.btn { max-width:100%; margin:0; white-space:normal; }
.closing .hero-trust { width:100%; flex-wrap:wrap; justify-content:flex-start; gap:9px 14px; margin:18px 0 0; }
.closing a:focus-visible,.practice-closing a:focus-visible { outline-color:var(--paper); }
.closing .hero-trust li { gap:5px; color:#b8b8b4; font-size:11px; }
.closing .hero-trust .icon { width:15px; height:15px; }

.site-footer {
  background:var(--ink);
  color:var(--paper);
  padding:30px 0 36px;
  font-size:13px;
}

/* Keep section colours independent of the canvas Safari uses below the page. */
main { background:var(--bg); }
html[data-footer-edge],html[data-footer-edge] body { background:var(--ink); }

.footer-grid {
  display:grid;
  grid-template-columns:1.65fr 1fr 1fr;
  gap:60px;
  padding-block:25px 55px;
}

.footer-brand>p {
  font-size:13px;
  line-height:1.6;
  color:#9e9f95;
  max-width:300px;
  margin-top:20px;
}

.footer-links {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.footer-links h3,.footer-links strong {
  font-size:14px;
  font-weight:500;
  margin-bottom:6px;
  letter-spacing:0;
}

.footer-links>p {
  color:var(--paper);
  font-size:14px;
  font-weight:500;
  margin-bottom:6px;
}

.footer-links a {
  color:#a8a9a1;
  font-size:13px;
  line-height:1.5;
}

.footer-links a:hover {
  color:var(--paper);
}

.footer-bottom {
  border-top:1px solid var(--dark-line);
  padding-top:25px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"legal meta";
  align-items:center;
  gap:32px;
}

.footer-bottom p {
  color:#8c8e82;
  font-size:11px;
  line-height:1.6;
}

.footer-meta { grid-area:meta; align-self:start; display:flex; flex-direction:column; align-items:flex-end; gap:10px; text-align:right; }
.footer-legal { grid-area:legal; display:grid; gap:8px; min-width:0; }
.footer-bottom .footer-made { margin-top:4px; color:#c2c4b9; font-size:12px; }
.footer-made svg { display:inline-block; width:14px; height:14px; margin-inline:2px; vertical-align:-2px; fill:currentColor; }
.footer-made__love { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* Supporting pages. */
.page-hero {
  padding:170px 0 45px;
}

.page-hero h1 {
  max-width:850px;
  margin-top:20px;
  font-size:56px;
}

.page-hero .lede {
  max-width:750px;
  margin-top:25px;
  font-size:21px;
  line-height:1.5;
}

.eyebrow {
  font-size:14px;
  color:var(--muted);
}

.points {
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.tile {
  padding:30px;
  border-radius:24px;
  background:var(--surface);
}

.tile__text {
  font-size:18px;
}

.tile__text b {
  color:var(--ink);
  font-weight:500;
}

.offer {
  padding:40px;
  border-radius:24px;
  background:var(--bg);
}

.offer__status {
  font-size:23px;
  max-width:600px;
}

.offer .btn {
  margin-top:25px;
}

.offer__terms {
  margin-top:15px;
  font-size:14px;
}

.teaser {
  margin-top:30px;
}

.link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:underline;
  text-underline-offset:4px;
}

.legal {
  max-width:750px;
  padding-bottom:100px;
  font-size:18px;
  line-height:1.7;
}

.legal h2 {
  font-size:26px;
  margin-top:35px;
  letter-spacing:-.025em;
}

.legal p,.legal address,.legal ul {
  margin-top:14px;
}

.legal address {
  font-style:normal;
  color:var(--muted);
}

.legal ul {
  padding-left:24px;
  color:var(--muted);
}

.legal li+li {
  margin-top:10px;
}

.legal a {
  text-decoration:underline;
  text-underline-offset:4px;
}

.notfound {
  padding:190px 0 150px;
}

.notfound .lede {
  font-size:23px;
  margin-top:25px;
}

.notfound .link {
  margin-top:30px;
}

.page-hero--legal h1 {
  font-size:52px;
}

@media(max-width:1050px) {
  .nav-links {
    gap:14px;
    font-size:12px;
  }
  .site-header__nav {
    gap:10px;
  }
  .site-header__in {
    padding-left:20px;
    gap:15px;
  }
  .hero h1 {
    font-size:60px;
  }
  .hero-preview {
    width:min(100% - 105px,850px);
  }
  .float-note--file {
    left:-30px;
    padding:13px;
    top:135px;
  }
  .float-note--amount {
    right:-30px;
    bottom:125px;
    padding:13px;
  }
  .app-shell {
    grid-template-columns:135px 1fr;
  }
  .app-sidebar {
    padding-inline:9px;
  }
  .app-content {
    padding-inline:25px;
  }
  .tour-grid {
    gap:35px;
    grid-template-columns:.8fr 1fr;
  }
  .feature-art {
    height:330px;
  }
  .format {
    padding:22px 16px;
  }
  .format h3 {
    font-size:17px;
  }
  .audience {
    padding:35px;
    gap:35px;
  }
  .faq-grid {
    gap:40px;
  }
}

@media(max-width:900px) {
  .steps-grid { grid-template-columns:minmax(0,1fr); max-width:440px; margin-inline:auto; gap:16px; }
}

@media(max-width:850px) {
  .nav-links {
    display:none;
  }
  .app-shell {
    grid-template-columns:110px 1fr;
  }
  .app-sidebar>span {
    font-size:9px;
    gap:5px;
  }
  .app-sidebar>small {
    font-size:8px;
  }
  .hero-preview {
    width:calc(100% - 76px);
  }
  .float-note--file {
    top:185px;
    left:-15px;
    transform:scale(.8);
    transform-origin:left;
  }
  .float-note--amount {
    right:-15px;
    bottom:106px;
    transform:scale(.85);
    transform-origin:right;
  }
  .format-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .tour-grid {
    grid-template-columns:1fr 1fr;
    gap:25px;
  }
  .tour-copy h2 {
    font-size:37px;
  }
  .device-preview--compact .app-content {
    padding:14px 12px;
  }
  .device-preview--compact .upload-pane h3 {
    font-size:20px;
  }
  .device-preview--compact .upload-zone>strong {
    font-size:11px;
  }
  .device-preview--compact .upload-zone .btn {
    font-size:10px;
    padding-inline:12px;
  }
  .device-preview--compact .result-number {
    font-size:50px;
  }
  .feature-art {
    height:300px;
  }
  .mini-laptop {
    width:245px;
    height:174px;
  }
  .mini-phone {
    right:25px;
    width:80px;
    height:152px;
  }
  .mini-phone b {
    font-size:14px;
  }
  .adviser-paper {
    width:210px;
  }
  .price-card {
    padding:28px;
  }
  .price-card h3 {
    font-size:21px;
  }
  .closing-card { padding:48px 32px; gap:32px; }
  .closing-copy h2 { font-size:clamp(34px,4.6vw,42px); }
  .footer-grid {
    gap:30px;
  }
}

@media(max-width:767px) {
  html {
    scroll-padding-top:95px;
  }
  .wrap {
    width:calc(100% - 40px);
  }
  .desktop-only {
    display:none!important;
  }
  .mobile-only {
    display:inline-flex!important;
  }
  body {
    font-size:16px;
  }
  h2 {
    font-size:35px;
    letter-spacing:-.04em;
  }
  .section {
    padding-block:70px;
  }
  .section-heading {
    margin-bottom:35px;
  }
  .section-heading p {
    font-size:17px;
    max-width:400px;
    margin:18px auto 0;
  }
  .site-header {
    top:16px;
    padding-inline:14px;
  }
  .site-header__in {
    min-height:56px;
    padding:7px 7px 7px 16px;
    gap:7px;
  }
  .wordmark {
    font-size:25px;
    gap:6px;
  }
  .wordmark .mark {
    width:27px;
    height:27px;
  }
  .site-header__nav {
    gap:7px;
  }
  .language-switch {
    padding:2px;
    font-size:10px;
  }
  .language-switch a {
    min-width:26px;
    min-height:30px;
  }
  .site-header__cta {
    min-height:38px;
    padding:10px 12px;
    font-size:11px;
  }
  .hero {
    padding-top:96px;
    padding-bottom:96px;
  }
  .home .site-header { margin-top:16px; }
  .hero h1 {
    font-size:43px;
    line-height:1.07;
    letter-spacing:-.047em;
    max-width:470px;
  }
  .hero-intro {
    font-size:17px;
    line-height:1.45;
    margin-top:23px;
    max-width:380px;
  }
  .hero-action {
    margin-top:28px;
  }
  .hero-action .btn {
    font-size:16px;
    min-height:54px;
  }
  .platform-note {
    font-size:11px;
    margin-top:13px;
  }
  .hero-free {
    font-size:10px;
    margin-top:5px;
  }
  .hero-preview {
    width:calc(100% - 48px);
    max-width:338px;
    margin-top:55px;
  }
  .device-shell {
    padding:9px;
    border:2px solid #7f827d;
    border-radius:46px;
    background:linear-gradient(130deg,#494d45,#141713 28%,#141713 75%,#41473a);
    box-shadow:0 16px 27px #12121115,0 0 0 1px #62675c inset;
  }
  .device-screen {
    border-radius:35px;
    background:#fdfdfa;
  }
  .camera-dot,.window-bar,.laptop-base {
    display:none;
  }
  .phone-status {
    height:47px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 22px;
    position:relative;
    font-weight:600;
    font-size:12px;
  }
  .phone-island {
    position:absolute;
    width:83px;
    height:22px;
    top:10px;
    left:calc(50% - 41.5px);
    background:#10120e;
    border-radius:25px;
  }
  .phone-signal {
    font-size:10px;
  }
  .app-shell {
    display:block;
    min-height:500px;
  }
  .app-sidebar {
    display:none;
  }
  .app-content {
    padding:14px 21px 25px;
    min-height:500px;
  }
  .app-topline {
    margin-bottom:28px;
    font-size:10px;
  }
  .upload-pane h3 {
    font-size:27px;
    line-height:1.08;
    max-width:240px;
  }
  .upload-pane>p {
    font-size:12px;
    line-height:1.4;
    margin-top:10px;
    max-width:230px;
  }
  .upload-zone {
    margin-top:24px;
    padding:25px 10px 22px;
    min-height:266px;
    border-radius:16px;
  }
  .scan-document {
    width:54px;
    height:62px;
    margin-bottom:19px;
  }
  .scan-document>.icon {
    width:30px;
    height:30px;
  }
  .upload-zone>strong {
    font-size:12px;
    max-width:175px;
    text-align:center;
    line-height:1.4;
  }
  .upload-zone>span {
    font-size:10px;
    margin-top:8px;
  }
  .upload-zone .btn {
    font-size:11px;
    padding:13px 14px;
    min-height:43px;
    gap:7px;
    max-width:100%;
  }
  .upload-zone .btn .icon {
    width:16px;
    height:16px;
  }
  .upload-zone>small {
    font-size:9px;
  }
  .demo-live {
    font-size:9px;
    line-height:1.4;
    margin-top:14px;
    min-height:25px;
  }
  .device-screen::after {
    content:'';
    display:block;
    width:104px;
    height:4px;
    margin:0 auto 10px;
    background:#181a16;
    border-radius:5px;
  }
  .float-note--file {
    display:none;
  }
  .float-note--amount {
    right:-10px;
    bottom:-14px;
    transform:scale(.7);
    transform-origin:right;
  }
  .preview-caption {
    font-size:9px;
    padding-inline:20px;
    line-height:1.5;
    max-width:330px;
    margin-inline:auto;
  }
  .hero .preview-caption {
    margin-top:36px;
  }
  .hero-preview:has([data-state=result])+.preview-caption {
    margin-top:55px;
  }
  .result-heading {
    margin-top:10px;
    font-size:12px;
    gap:7px;
  }
  .check-round {
    width:25px;
    height:25px;
  }
  .result-label {
    margin-top:25px;
    font-size:13px;
  }
  .result-number {
    font-size:60px;
    margin-top:10px;
  }
  .result-sub {
    font-size:12px;
    margin-top:10px;
  }
  .result-file {
    padding:15px 12px;
    margin:30px auto 24px;
  }
  .result-file>span {
    font-size:10px;
  }
  .result-pane>.btn {
    font-size:13px;
    min-height:44px;
    padding-inline:20px;
  }
  .result-foot {
    margin-top:18px;
    font-size:10px;
    line-height:1.5;
  }
  .demo-reset {
    bottom:-37px;
  }
  .steps {
    padding-top:55px;
    padding-bottom:45px;
  }
  .steps-lead h2 {
    font-size:26px;
    max-width:340px;
    margin-inline:auto;
  }
  .steps-grid>li {
    padding:24px;
  }
  .steps-grid h3 {
    font-size:21px;
  }
  .steps-grid p {
    font-size:16px;
    line-height:1.5;
  }
  .trust-row {
    flex-wrap:wrap;
    gap:12px 22px;
    font-size:11px;
    margin-top:25px;
  }
  .trust-row .icon {
    width:14px;
    height:14px;
  }
  .home .features { --feature-gap:17px; }
  .home .feature-grid {
    grid-template-columns:minmax(0,1fr);
    max-width:470px;
    margin:auto;
  }
  .home .feature { padding:24px; }
  .feature-art {
    height:330px;
    border-radius:24px;
  }
  .home .feature h2 {
    font-size:30px;
    margin-top:21px;
  }
  .home .feature>p {
    font-size:15px;
    margin-top:18px;
  }
  .home .feature-pack-list li { font-size:13px; }
  .paper {
    width:200px;
  }
  .mini-laptop {
    width:267px;
    height:180px;
    transform:translate(-8px,-10px);
  }
  .mini-phone {
    right:31px;
    bottom:50px;
    width:86px;
    height:161px;
  }
  .mini-phone b {
    font-size:14px;
  }
  .adviser-paper {
    width:218px;
  }
  .handover-label {
    right:20px;
    bottom:50px;
  }
  .tour-grid {
    grid-template-columns:minmax(0,1fr);
    gap:34px;
  }
  .tour-copy h2 {
    font-size:35px;
  }
  .tour-copy .section-intro {
    font-size:17px;
    margin-top:18px;
    max-width:430px;
  }
  .tour-copy .text-link {
    font-size:14px;
    margin-top:20px;
  }
  .tour-steps {
    display:none;
  }
  .tour-preview {
    max-width:460px;
    width:100%;
    margin:auto;
  }
  .device-preview--compact {
    width:292px;
    max-width:100%;
    margin-inline:auto;
  }
  .device-preview--compact .device-shell {
    padding:8px;
    border-radius:42px;
  }
  .device-preview--compact .device-screen {
    border-radius:32px;
  }
  .device-preview--compact .phone-status {
    height:43px;
    padding-inline:20px;
  }
  .device-preview--compact .app-shell {
    min-height:480px;
  }
  .device-preview--compact .app-content {
    padding:15px 18px 20px;
    min-height:480px;
  }
  .device-preview--compact .app-topline {
    margin-bottom:25px;
  }
  .device-preview--compact .upload-pane h3 {
    font-size:26px;
  }
  .device-preview--compact .upload-zone {
    padding:23px 8px 20px;
    min-height:257px;
  }
  .device-preview--compact .upload-zone>strong {
    font-size:12px;
  }
  .device-preview--compact .upload-zone .btn {
    font-size:11px;
  }
  .device-preview--compact .result-number {
    font-size:55px;
  }
  .device-preview--compact .result-file {
    padding:13px 9px;
  }
  .tour-preview .preview-caption {
    margin-top:30px;
  }
  .format-grid {
    gap:12px;
  }
  .format {
    padding:23px 17px;
    border-radius:18px;
  }
  .format-icon {
    margin-bottom:23px;
  }
  .format h3 {
    font-size:18px;
    line-height:1.17;
  }
  .format p {
    font-size:14px;
    line-height:1.45;
    margin-top:12px;
  }
  .accuracy {
    font-size:10px;
    line-height:1.4;
  }
  .section-note {
    font-size:12px;
  }
  .audience {
    margin-top:55px;
    grid-template-columns:1fr;
    padding:28px 24px;
    gap:27px;
    border-radius:24px;
  }
  .audience h2 {
    font-size:31px;
  }
  .audience p {
    font-size:16px;
    margin-top:18px;
  }
  .trade-list {
    gap:8px;
  }
  .trade-list>span {
    padding:8px 12px;
    font-size:12px;
  }
  .audience .section-note {
    font-size:11px;
    margin-top:20px;
  }
  .pricing-grid {
    grid-template-columns:1fr;
    max-width:470px;
    margin:auto;
    gap:18px;
  }
  .price-card {
    padding:29px;
  }
  .price-card h3 {
    font-size:25px;
    min-height:0;
    margin-top:16px;
  }
  .price-value {
    font-size:65px;
    margin-top:26px;
  }
  .price-card>.btn {
    margin-top:10px;
  }
  .price-card ul {
    margin:25px 0;
  }
  .price-card li {
    font-size:14px;
  }
  .price-tiers {
    gap:15px;
  }
  .price-tiers small {
    font-size:11px;
  }
  .payment-note {
    font-size:12px;
    line-height:1.6;
    max-width:330px;
    margin-inline:auto;
  }
  .pricing { padding-bottom:35px; }
  .faq {
    padding-top:35px;
    padding-bottom:60px;
  }
  .faq-grid {
    grid-template-columns:1fr;
    gap:40px;
  }
  .faq h2 {
    font-size:35px;
  }
  .faq header>p {
    font-size:17px;
    margin-top:17px;
  }
  .faq-list summary {
    font-size:15px;
    gap:13px;
    padding-block:20px;
  }
  .faq-list details>p {
    font-size:14px;
    line-height:1.6;
    padding-left:33px;
  }
  .closing {
    padding:0 0 48px;
  }
  .closing-card { grid-template-columns:1fr; gap:28px; padding:44px 24px; border-radius:24px; text-align:center; }
  .closing-actions { align-items:center; text-align:center; }
  .closing .hero-trust { max-width:350px; justify-content:center; margin:17px 0 0; gap:9px 14px; }
  .closing-copy h2 {
    font-size:clamp(27px,8.4vw,42px);
    line-height:1.08;
  }
  .closing-copy>p {
    font-size:16px;
    max-width:350px;
    margin:20px auto 0;
  }
  .closing-actions>.btn { margin-top:0; }
  .site-footer {
    padding-top:10px;
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:40px 25px;
    padding:30px 0;
  }
  .footer-brand {
    grid-column:1/-1;
  }
  .footer-brand>p {
    max-width:330px;
    margin-top:17px;
  }
  .footer-links {
    gap:12px;
  }
  .footer-links a {
    font-size:12px;
    min-height:25px;
  }
  .footer-bottom {
    padding-top:22px;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"meta" "legal";
    gap:24px;
  }
  .footer-meta { align-items:flex-start; text-align:left; }
  .page-hero {
    padding:130px 0 30px;
  }
  .page-hero h1,.page-hero--legal h1 {
    font-size:38px;
    overflow-wrap:break-word;
  }
  .page-hero .lede {
    font-size:18px;
    margin-top:20px;
  }
  .points {
    grid-template-columns:1fr;
    gap:15px;
  }
  .tile {
    padding:25px;
  }
  .offer {
    padding:25px;
  }
  .offer__status {
    font-size:21px;
  }
  .offer .btn {
    white-space:normal;
  }
  .legal {
    font-size:16px;
    padding-bottom:60px;
  }
  .legal h2 {
    font-size:24px;
  }
  .legal a {
    overflow-wrap:anywhere;
  }
  .notfound {
    padding:140px 0 100px;
  }
  .notfound h1 {
    font-size:38px;
  }
  .notfound .lede {
    font-size:19px;
  }
}

@media(max-width:374px) {
  .wordmark {
    font-size:23px;
  }
  .wordmark .mark {
    width:24px;
    height:24px;
  }
  .site-header__cta {
    font-size:10px;
    padding-inline:10px;
  }
  .language-switch a {
    min-width:23px;
  }
  .hero h1 {
    font-size:39px;
  }
  .wrap {
    width:calc(100% - 32px);
  }
  .hero-intro {
    font-size:16px;
  }
  .app-content {
    padding-inline:16px;
  }
  .hero-preview {
    width:calc(100% - 38px);
  }
  .feature-art {
    height:300px;
  }
  .format {
    padding-inline:14px;
  }
  .format h3 {
    font-size:17px;
  }
  .mini-phone {
    right:22px;
  }
}

@media(prefers-reduced-motion:no-preference) {
  html {
    scroll-behavior:smooth;
  }
  .btn,a,summary {
    transition:background-color .18s,color .18s,transform .18s;
  }
  .btn:hover {
    transform:translateY(-1px);
  }
  .scan-line {
    animation:scanning 1s ease-in-out infinite;
  }
  .result-pane {
    animation:result-in .45s ease-out;
  }
  .faq-plus::after {
    transition:transform 280ms cubic-bezier(.22,1,.36,1);
  }
  @keyframes scanning {
    0%,100% {
      transform:translateY(-20px);
    }
    50% {
      transform:translateY(25px);
    }
  }
  @keyframes result-in {
    from {
      opacity:0;
      transform:translateY(8px);
    }
    to {
      opacity:1;
      transform:none;
    }
  }
}

@media(prefers-contrast:more) {
  :root {
    --muted:#41413b;
    --line:#8a8a80;
  }
  .faq-list details>p,.faq header>p { color:var(--ink); }
  .footer-links a,.footer-brand>p,.footer-bottom p {
    color:#d2d3c9;
  }
}

/* One entrance per content group, with a critically damped settle and no overshoot.
   Static rendering stays visible; all transforms are released at rest. */
@media(prefers-reduced-motion:no-preference) {
  html.js main [data-reveal] { --reveal-settle:cubic-bezier(.22,1,.36,1); opacity:1; transform:none; transition:opacity 420ms ease-out,transform 600ms var(--reveal-settle); }
  @supports (transition-timing-function:linear(0,1)) {
    html.js main [data-reveal] { --reveal-settle:linear(0,.026 2.5%,.09 5%,.264 10%,.442 15%,.594 20%,.713 25%,.801 30%,.909 40%,.96 50%,.983 60%,.993 70%,.997 80%,1); }
  }
  html.js main [data-reveal="pending"] { opacity:0; transform:translateY(12px); transition:none; }
  html.js main :is(.steps-grid>li,.feature,.practice-steps>li,.practice-benefit)[data-reveal="pending"] { transform:translateY(12px) scale(.995); }
  html.js main [data-reveal-order="1"] { transition-delay:60ms; }
  html.js main [data-reveal-order="2"] { transition-delay:120ms; }
  html.js main [data-reveal-instant] { transition:none; }
}
/* The first-screen message never depends on script, observers or font readiness. */
:is(.hero,.hero-copy,.hero-copy>*,.practice-hero,.practice-hero>.wrap,.practice-hero .practice-eyebrow,.practice-hero h1,.practice-hero__intro,.practice-hero__action) {
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
@media(prefers-reduced-motion:reduce),print {
  main [data-reveal] { opacity:1!important; transform:none!important; transition:none!important; }
}
/* The extracted corner stays small and consistent beside the wordmark. */
.brand-symbol { display:block; width:24px; height:24px; flex:0 0 auto; shape-rendering:crispEdges; }
.wordmark { gap:7px; font-size:22px; font-weight:600; letter-spacing:-.8px; }
.site-footer .brand-symbol { width:28px; height:28px; }
.brand-symbol__piece { fill:currentColor; }
.app-brand { font-size:18px; letter-spacing:-.6px; }
.app-brand .brand-symbol { width:22px; height:22px; }
.art-wordmark { display:inline-flex; align-items:center; justify-content:center; gap:5px; font-size:18px; font-weight:600; letter-spacing:-.7px; line-height:1.2; }
.art-wordmark>.brand-symbol { width:1.1em; height:1.1em; }
.art-wordmark>span { display:inline; margin:0; font:inherit; color:inherit; }
.adviser-paper>.art-wordmark { display:inline-flex; color:var(--ink); font-size:18px; margin:0 0 24px; }
.mini-laptop .art-wordmark { color:var(--ink); font-size:15px; margin:0; }
.mini-phone>.art-wordmark { font-size:12px; margin-top:21px; }
.platform-note>span { gap:12px; vertical-align:middle; }
.platform-note .platform-os { gap:5px; height:20px; }
.platform-note .platform-logo { width:18px; height:18px; flex:0 0 18px; }
.platform-note .platform-label { line-height:18px; }
.platform-note .platform-divider { color:#9a9b91; font-size:12px; line-height:18px; }
.platform-note .icon { display:block; width:14px; height:14px; }
.platform-note .icon--apple { width:15px; height:15px; }
.platform-note .icon--android { width:16px; height:16px; }
@media(max-width:767px) { .wordmark { font-size:21px; letter-spacing:-.8px; } }

/* Energy coverage stays concise; qualification details live in the FAQ. */
.energy-types {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:700px;
  margin:44px auto 0;
  padding:30px 0 0;
  border-top:1px solid var(--line);
  gap:24px;
}
.energy-types li { display:flex; align-items:center; justify-content:center; gap:12px; }
.energy-types .icon { display:block; width:24px; height:24px; flex:0 0 24px; overflow:visible; }
.energy-types b { display:block; font-size:15px; font-weight:500; line-height:1.5; }
.energy-types small { display:block; color:var(--muted); font-size:11px; line-height:1.5; }
@media(max-width:767px) {
  .energy-types { gap:12px; margin-top:30px; padding-top:25px; }
  .energy-types li { flex-direction:column; gap:8px; text-align:center; }
  .energy-types b { font-size:13px; }
  .energy-types small { font-size:9px; }
}

/* The hero tells one short story in a phone at every screen size. */
.hero-intro { max-width:660px; text-wrap:pretty; }
.hero-deadline { margin:0; padding:10px 20px; background:var(--accent); color:var(--ink); font-size:13px; line-height:1.5; text-align:center; }
.hero-deadline strong { font-weight:600; white-space:nowrap; }
.faq-list p a { text-decoration:underline; text-underline-offset:3px; }
.hero-trust { display:flex; justify-content:center; align-items:center; gap:24px; padding:0; margin:23px 0 0; list-style:none; }
.hero-trust li { display:flex; align-items:center; gap:6px; white-space:nowrap; font-size:12px; color:#53574e; line-height:1.4; }
.hero-trust .icon { width:17px; height:17px; flex-shrink:0; stroke-width:1.8; }
.hero-action .platform-note { margin-top:17px; color:#75796f; }
.hero-story-wrap { width:100%; margin:64px auto 0; padding:0 24px; }
.hero-phone { width:min(336px,calc((100svh - 200px) * .4891304)); max-width:100%; margin:0 auto; }
.story-frame { position:relative; width:100%; aspect-ratio:1350 / 2760; }
.story-bezel { position:relative; z-index:2; display:block; width:100%; height:auto; pointer-events:none; }
.story-screen { position:absolute; left:5.333333%; top:2.5%; width:89.333333%; height:95%; overflow:hidden; border-radius:19% / 8.75%; background:#fafbf7; text-align:left; container-type:inline-size; }
.story-phone-status { height:15.3cqw; display:flex; align-items:center; justify-content:space-between; padding:0 7.7cqw; font-size:3.7cqw; font-weight:600; }
.story-status-icons { width:15cqw; height:4.2cqw; }
.story-app-top { display:flex; align-items:center; justify-content:space-between; padding:4.3cqw 7.7cqw 5.7cqw; }
.story-app-top>b { display:inline-flex; align-items:center; gap:1.7cqw; font-size:7.3cqw; font-weight:600; letter-spacing:-.27cqw; }
.story-app-top .brand-symbol { width:7.5cqw; height:7.5cqw; }
.story-app-top>span { font-size:3cqw; color:#68705f; background:#eef0e8; border-radius:1.7cqw; padding:1.3cqw 2.3cqw; }
.story-panel { position:absolute; inset:18% 0 12%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 8cqw; text-align:center; }
@media(prefers-reduced-motion:no-preference) {
  [data-story-ready="true"] .story-panel { animation:story-reveal .4s ease both; }
}
.story-panel[hidden] { display:none; }
.story-panel h3 { font-size:6cqw; font-weight:500; letter-spacing:-.15cqw; line-height:1.2; color:var(--ink); margin:0; }
.story-bill { position:relative; overflow:hidden; text-align:left; width:66cqw; height:88cqw; flex:0 0 auto; padding:7.3cqw 6.7cqw; margin-top:7cqw; border:1px solid #e2e5dc; border-radius:1.7cqw; background:#fff; box-shadow:0 4cqw 8cqw -3.3cqw #29301f2b; }
.story-bill-brand { display:flex; align-items:center; gap:1.7cqw; }
.story-bill-brand .icon { width:5cqw; height:5cqw; color:#32382b; }
.story-bill-brand b { font-size:3cqw; letter-spacing:.33cqw; }
.story-bill-rule { height:.67cqw; background:var(--ink); margin:3.7cqw 0 6.3cqw; }
.story-bill>small { display:block; color:#818778; font-size:2.3cqw; }
.story-bill>strong { display:block; font-size:4cqw; margin-top:1.7cqw; font-weight:600; }
.story-bill-lines { display:grid; gap:2cqw; margin-top:5.7cqw; }
.story-bill-lines i { height:1cqw; border-radius:.67cqw; background:#e8ebe3; }
.story-bill-lines i:nth-child(2) { width:83%; }
.story-bill-lines i:nth-child(3) { width:65%; }
.story-bill-total { margin-top:5.7cqw; border-block:1px solid #e7eade; padding:3.3cqw 0; display:flex; justify-content:space-between; align-items:center; gap:2cqw; }
.story-bill-total span { font-size:2.3cqw; color:#7a8170; }
.story-bill-total b { font-size:3.3cqw; font-weight:600; white-space:nowrap; }
.story-bill-lines--short { margin-top:4cqw; width:70%; }
.story-bill .paper-barcode { margin-top:6cqw; width:22.7cqw; height:5cqw; opacity:.55; }
.story-scan-beam { display:none; position:absolute; inset:0 0 auto; height:1cqw; background:var(--ink); box-shadow:0 0 4cqw #12121140; }
.story-scan-beam::before { content:''; position:absolute; inset:auto 0 100%; height:23.3cqw; background:linear-gradient(transparent,#12121118); }
[data-stage="scanning"] .story-scan-beam { display:block; animation:story-scan 1.5s ease-in-out infinite alternate; }
.story-screen-note { display:flex; align-items:center; justify-content:center; gap:2cqw; font-size:3.3cqw; color:#717866; margin-top:7cqw; }
.story-screen-note .icon { width:4.7cqw; height:4.7cqw; }
.story-panel--result { padding-bottom:12cqw; }
.story-result-label { font-size:4.3cqw; color:#646e57; }
.story-amount { font-size:25.3cqw; font-weight:500; letter-spacing:-1cqw; line-height:1.1; margin:4cqw 0 0; color:var(--ink); white-space:nowrap; font-variant-numeric:tabular-nums; }
.story-amount span { font-size:14cqw; letter-spacing:-.5cqw; }
.story-local { display:flex; align-items:center; justify-content:center; gap:1.7cqw; position:absolute; bottom:9.7cqw; left:0; right:0; font-size:3cqw; color:#8a907f; }
.story-local .icon { width:4cqw; height:4cqw; }
.story-home-indicator { position:absolute; bottom:3cqw; left:34cqw; width:32cqw; height:1.3cqw; border-radius:1.3cqw; background:#11150c; }
.story-playback { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 12px; margin-top:16px; min-height:32px; }
.story-stage-label { font-size:11px; color:#525a48; }
.story-playback button { display:flex; align-items:center; gap:4px; border:0; background:transparent; color:var(--muted); cursor:pointer; padding:8px 2px; font-family:inherit; font-size:12px; min-height:36px; text-decoration:underline; text-underline-offset:3px; }
.story-playback button:hover { color:var(--ink); }
.story-playback .icon { width:12px; height:12px; }
.story-caption { margin:3px -32px 0; font-size:12px; line-height:1.5; color:var(--muted); text-align:center; }
[data-story-paused="true"] .story-scan-beam { animation-play-state:paused; }
@keyframes story-scan { from { top:10%; } to { top:90%; } }
@keyframes story-reveal { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:767px) {
  .hero-deadline { padding-inline:16px; font-size:12px; }
  .hero-intro { max-width:380px; font-size:16px; line-height:1.5; }
  .hero-trust { flex-wrap:nowrap; width:100%; gap:16px; margin-top:22px; }
  .hero-trust li { gap:4px; font-size:11px; line-height:1.4; }
  .hero-trust .icon { width:15px; height:15px; }
  .hero-action .platform-note { margin-top:19px; }
  .hero-story-wrap { margin-top:112px; padding:0 24px; }




  .story-caption { font-size:12px; }

}
@media(max-width:600px) {
  .home .hero {
    padding-top:0;
    padding-bottom:64px;
  }
  .home .hero-copy {
    /* Centre the complete message between the closed navbar and the phone.
       Keep the phone 48px inside the first screen; let large text grow naturally. */
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:calc(100svh - 112px - 48px);
    padding-block:32px;
  }
  .home .hero h1 { font-size:clamp(34px,11.45vw,43px); line-height:1.08; }
  .home .hero-intro { margin-top:24px; font-size:16px; line-height:1.5; }
  .home .hero-action { margin-top:28px; }
  .home .hero .hero-trust { gap:clamp(4px,2vw,10px); margin-top:22px; }
  .home .hero-story-wrap { margin-top:0; }
  .home .hero-phone { width:min(294px,calc(60svh * .4891304)); }
}
@media(prefers-reduced-motion:reduce) {
  .story-panel,.story-scan-beam { animation:none; }
  [data-stage="scanning"] .story-bill { transition:none; }
}

/* A quiet desktop header, with navigation behind a disclosure on small screens. */
.nav-toggle { display:none; }
.site-header__menu-content { display:contents; }
.site-footer .language-switch {
  flex:0 0 auto;
  gap:3px;
  padding:3px;
  border-color:var(--dark-line);
  font-size:12px;
}
.site-footer .language-switch a {
  min-width:74px;
  min-height:40px;
  padding:8px 12px;
  color:#c2c4b9;
}
.site-footer .language-switch a:hover { color:var(--paper); }
.site-footer .language-switch a[aria-current] { background:#32352d; color:var(--paper); }
@media(max-width:850px) {
  /* The closed bar is the first-paint layout, even while JavaScript is loading.
     no-script.css restores visible links when scripting is disabled. */
  .site-header { height:58px; }
  .site-header .site-header__in { max-height:calc(100dvh - 96px); overflow:hidden; overscroll-behavior:contain; }
  .site-header[data-menu-open="true"] .site-header__in { overflow-y:auto; }
  .site-header__in { flex-wrap:wrap; gap:0; border-radius:29px; }
  .site-header__nav { display:grid; grid-template-rows:0fr; visibility:hidden; opacity:0; align-items:stretch; width:100%; gap:0; padding:0; }
  .site-header__menu-content { display:flex; flex-direction:column; min-height:0; overflow:hidden; gap:10px; }
  .site-header .nav-links { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:8px 8px 0; }
  .site-header .nav-links a { display:flex; align-items:center; min-height:44px; padding:10px 12px; border-radius:12px; font-size:15px; }
  .site-header .nav-links a:hover { background:var(--bg); }
  .site-header .site-header__cta { min-height:46px; margin:0 8px 9px; padding:13px 18px 11px; font-size:14px; justify-content:center; }
  .site-header .nav-toggle {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:var(--ink);
    cursor:pointer;
  }
  .site-header[data-menu-ready] .nav-toggle:active { background:var(--bg); }
  .site-header[data-menu-ready] .site-header__nav {
    transition:grid-template-rows 380ms cubic-bezier(.22,1,.36,1),opacity 240ms ease,visibility 0s 380ms;
  }
  .site-header[data-menu-open="true"] .site-header__nav {
    grid-template-rows:1fr;
    visibility:visible;
    opacity:1;
    transition-delay:0s;
  }
  .site-header[data-menu-ready] .nav-toggle__line { transition:transform 380ms cubic-bezier(.22,1,.36,1); }
  .nav-toggle__line--top { transform-origin:12px 8px; }
  .nav-toggle__line--bottom { transform-origin:12px 16px; }
  [data-menu-open="true"] .nav-toggle__line--top { transform:translateY(4px) rotate(45deg); }
  [data-menu-open="true"] .nav-toggle__line--bottom { transform:translateY(-4px) rotate(-45deg); }
}
@media(max-width:850px) and (hover:hover) and (pointer:fine) {
  .site-header[data-menu-ready] .nav-toggle:hover { background:var(--bg); }
}
@media(prefers-reduced-motion:reduce) {
  .site-header[data-menu-ready] .site-header__nav,.site-header[data-menu-ready] .nav-toggle__line { transition:none; }
}
@media(max-width:374px) {
  .hero-trust { gap:4px; }
  .hero-trust li { gap:3px; font-size:10px; }
  .hero-trust .icon { width:14px; height:14px; }
  .closing-copy h2 { font-size:27px; }
  .closing .hero-trust { gap:9px 12px; }
  .closing .hero-trust li { font-size:11px; }
  .closing .hero-trust .icon { width:15px; height:15px; }
}

/* One clear result: paperwork ready for the owner's tax adviser. */
.story-panel--result { justify-content:center; padding:0 8cqw; }
.story-complete-icon { display:grid; place-items:center; width:12cqw; height:12cqw; flex:0 0 12cqw; margin-bottom:4cqw; border-radius:50%; background:var(--accent); color:var(--ink); }
/* The check spans y=6–16 in a 24-unit viewBox; lower it one unit to centre the mark. */
.story-complete-icon .icon { width:6.5cqw; height:6.5cqw; stroke-width:2; translate:0 .270833cqw; }
.story-panel h3.story-ready-title { font-size:8cqw; line-height:1.15; letter-spacing:-.2cqw; }
.story-ready-sub { margin-top:3cqw; font-size:3.7cqw; line-height:1.45; color:var(--muted); text-wrap:pretty; }
.story-document-list { display:grid; gap:2.3cqw; width:100%; padding:0; margin-top:7cqw; list-style:none; text-align:left; }
.story-document-list>* { display:flex; align-items:center; gap:3cqw; min-width:0; padding:3cqw 3.5cqw; border:1px solid var(--line); border-radius:3cqw; background:var(--paper); }
.story-document-list .icon { width:5cqw; height:5cqw; flex:0 0 5cqw; color:var(--ink); }
.story-document-list span { flex:1; min-width:0; font-size:3.8cqw; line-height:1.3; color:var(--ink); }
.story-document-list>div>.icon:last-child { width:4cqw; height:4cqw; flex-basis:4cqw; }
.story-document-list small { display:block; font-size:2.8cqw; line-height:1.4; color:var(--muted); }
.story-refund-summary { display:flex; align-items:center; justify-content:space-between; gap:4cqw; width:100%; margin-top:6cqw; padding-top:5cqw; border-top:1px solid var(--line); text-align:left; }
.story-refund-summary>span { max-width:44%; font-size:3.3cqw; line-height:1.4; color:var(--muted); }
.story-refund-summary>b { font-size:8cqw; font-weight:500; line-height:1.15; letter-spacing:-.35cqw; color:var(--ink); white-space:nowrap; }
.story-paid-note { max-width:78cqw; margin-top:5cqw; font-size:3cqw; line-height:1.4; color:var(--muted); text-wrap:pretty; }
.tour-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; }
.tour-copy>.section-label { margin-bottom:20px; }
.tour-copy>.btn { margin-top:28px; max-width:100%; white-space:normal; }
.handoff-list { display:grid; gap:15px; margin-top:28px; padding:0; list-style:none; }
.handoff-list li { display:flex; align-items:flex-start; gap:11px; color:var(--ink); font-size:16px; line-height:1.45; }
.handoff-list .icon { width:20px; height:20px; flex:0 0 20px; margin-top:1px; }
.handoff-phone { width:min(300px,100%); margin:auto; }
.handoff-phone .story-panel { animation:none; }
.handoff-phone .preview-caption { margin-top:18px; font-size:11px; }

/* One optional document pack, with the complete price schedule visible. */
.pricing-offer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:64px; padding:40px; border-radius:24px; overflow:hidden; background:var(--surface); }
.pricing-offer__intro,.pricing-offer__details { min-width:0; }
.pricing-offer__intro h2 { margin-top:16px; font-size:36px; line-height:1.15; text-wrap:balance; }
.pricing-offer__intro>p { max-width:360px; margin-top:18px; font-size:16px; line-height:1.5; }
.pricing-free-label { display:block; color:var(--muted); font-size:13px; font-weight:400; line-height:1.4; }
.pricing-offer__intro>.btn { margin-top:24px; max-width:100%; white-space:normal; }
.pricing-offer .price-tiers { display:table; width:100%; padding:0; margin:0; border:0; border-collapse:collapse; color:var(--ink); }
.pricing-offer .price-tiers caption { padding-bottom:8px; color:var(--muted); font-size:13px; line-height:1.4; text-align:left; }
.pricing-offer .price-tiers th,.pricing-offer .price-tiers td { padding:13px 0; border-bottom:1px solid var(--line); vertical-align:middle; }
.pricing-offer .price-tiers tr:last-child>* { border-bottom:0; }
.pricing-offer .price-tiers th { padding-right:16px; font-size:14px; font-weight:400; line-height:1.4; text-align:left; }
.pricing-offer .price-tiers td { font-size:22px; font-weight:500; line-height:1.2; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.pricing-offer .price-caption { margin-top:16px; font-size:13px; line-height:1.5; color:var(--muted); }
.pricing-offer .tiers-note { margin-top:6px; font-size:13px; line-height:1.5; color:var(--muted); }
@media(max-width:900px) {
  .tour-grid { gap:40px; }
  .pricing-offer { padding:32px; gap:40px; }
  .pricing-offer__intro h2 { font-size:32px; }
}
@media(max-width:767px) {
  .tour-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .tour-copy { max-width:470px; margin-inline:auto; }
  .handoff-list { gap:13px; margin-top:24px; }
  .handoff-list li { font-size:15px; }
  .tour-copy>.btn { margin-top:25px; }
  .pricing-offer { grid-template-columns:minmax(0,1fr); max-width:470px; margin-inline:auto; padding:28px; gap:32px; }
  .pricing-offer__intro h2 { font-size:30px; }
}
@media(max-width:374px) {
  .pricing-offer { padding:24px; }
  .pricing-offer__intro h2 { font-size:27px; }
  .pricing-offer .price-tiers th { padding-right:10px; font-size:13px; }
  .pricing-offer .price-tiers td { font-size:20px; }
}

/* Tax-practice landing page. Shared typography, buttons, header and FAQ live in site.css. */
.practice .practice-icon { width:22px; height:22px; }
.practice .practice-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.practice .practice-hero { padding:172px 0 82px; background:var(--bg); text-align:center; }
.practice .practice-eyebrow { color:var(--ink); font-size:14px; font-weight:500; margin-bottom:25px; }
.practice .practice-hero h1 { font-size:clamp(40px,5.2vw,68px); line-height:1.04; letter-spacing:-.047em; margin-inline:auto; max-width:1040px; text-wrap:balance; }
.practice .practice-hero__intro { max-width:710px; margin:28px auto 0; font-size:20px; line-height:1.48; text-wrap:pretty; }
.practice .practice-hero__action { margin-top:32px; }
.practice .practice-hero__action .btn { min-height:54px; }
.practice .practice-hero__action>p { margin-top:12px; font-size:12px; }
.practice .practice-hero__facts { list-style:none; padding:0; margin:22px 0 0; display:flex; gap:25px; align-items:center; justify-content:center; font-size:13px; color:var(--muted); }
.practice .practice-hero__facts li { display:flex; align-items:center; gap:7px; }
.practice .practice-hero__facts .icon { width:17px; height:17px; }
.practice .practice-preview { margin:70px 0 0; text-align:left; }
.practice .practice-window { border:1px solid #d2d2cc; border-radius:20px; background:var(--paper); box-shadow:0 24px 60px #1212110d,0 2px 7px #12121106; overflow:hidden; }
.practice .practice-window__bar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:42px; padding:0 20px; border-bottom:1px solid var(--line); color:#72726d; background:#f3f3f0; font-size:11px; }
.practice .practice-window__bar>.icon { width:13px; height:13px; justify-self:end; }
.practice .practice-window__dots { display:flex; gap:6px; }
.practice .practice-window__dots i { width:7px; height:7px; border-radius:50%; background:#c5c5bf; }
.practice .practice-workspace { padding:30px 38px 24px; }
.practice .practice-workspace__top { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:12px; color:var(--muted); }
.practice .practice-workspace__brand { display:inline-flex; align-items:center; gap:6px; color:var(--ink); font-size:19px; letter-spacing:-.6px; }
.practice .practice-workspace__brand b { font-weight:600; }
.practice .practice-workspace__brand .brand-symbol { width:21px; height:21px; }
.practice .practice-workspace__heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-top:35px; }
.practice .practice-workspace__heading h2 { font-size:29px; letter-spacing:-.035em; }
.practice .practice-workspace__heading>span { color:var(--muted); font-size:12px; }
.practice .practice-import { display:flex; align-items:center; gap:12px; margin-top:25px; padding:16px 18px; background:var(--surface); border:1px solid var(--line); border-radius:12px; }
.practice .practice-import>.icon { width:27px; height:27px; }
.practice .practice-import>div { display:flex; flex-direction:column; min-width:0; gap:2px; }
.practice .practice-import strong { font-size:14px; font-weight:500; }
.practice .practice-import>div>span { font-size:12px; color:var(--muted); }
.practice .practice-import__type { margin-left:auto; font-size:11px; color:var(--muted); white-space:nowrap; }
.practice .practice-workspace__sort { display:flex; align-items:center; gap:7px; margin-top:24px; color:var(--ink); font-size:12px; line-height:1.4; }
.practice .practice-workspace__sort .icon { width:16px; height:16px; }
.practice .practice-workspace__sort+.practice-client-table { margin-top:16px; }
.practice .practice-client-table { width:100%; border-collapse:collapse; margin-top:24px; text-align:left; table-layout:fixed; }
.practice .practice-client-table thead .icon { width:14px; height:14px; margin-left:4px; vertical-align:-3px; }
.practice .practice-client-table th { font-weight:400; }
.practice .practice-client-table thead th { padding:0 12px 12px; color:var(--muted); font-size:11px; border-bottom:1px solid var(--line); }
.practice .practice-client-table thead th:first-child { width:44%; padding-left:0; }
.practice .practice-client-table thead th:nth-child(2) { width:24%; }
.practice .practice-client-table thead th:last-child { width:32%; padding-right:0; }
.practice .practice-client-table tbody th,.practice .practice-client-table tbody td { padding:20px 12px; border-bottom:1px solid var(--line); vertical-align:middle; }
.practice .practice-client-table tbody th { padding-left:0; }
.practice .practice-client-table tbody td:last-child { padding-right:0; }
.practice .practice-client-table tbody th>strong { display:block; font-size:16px; font-weight:500; }
.practice .practice-client-table tbody th>span { display:block; font-size:12px; color:var(--muted); margin-top:3px; }
.practice .practice-client-table__amount { font-size:19px; font-variant-numeric:tabular-nums; letter-spacing:-.03em; white-space:nowrap; }
.practice .practice-client-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; }
.practice .practice-client-status .icon { width:17px; height:17px; }
.practice .practice-client-status--waiting { color:var(--muted); }
.practice .practice-workspace__local { display:flex; align-items:center; gap:7px; font-size:11px; margin-top:20px; }
.practice .practice-workspace__local .icon { width:15px; height:15px; }
.practice .practice-preview figcaption { max-width:670px; margin:19px auto 0; text-align:center; color:var(--muted); font-size:12px; line-height:1.5; }
.practice .section-heading { max-width:730px; }
.practice .section-heading .section-label { margin-bottom:18px; }
.practice .section-heading h2 { font-size:46px; }
.practice .practice-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin-top:48px; }
.practice .practice-steps li { min-width:0; padding:24px; border:0; border-radius:24px; background:var(--surface); text-align:left; }
.practice .practice-step-number { display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; border-radius:50%; background:var(--accent); font-size:15px; font-weight:500; }
.practice .practice-step-example { display:flex; align-items:center; gap:12px; min-height:88px; margin-top:22px; padding:16px; border-radius:14px; background:var(--paper); }
.practice .practice-step-example>.icon { width:26px; height:26px; }
.practice .practice-step-example>span { display:flex; flex-direction:column; gap:5px; min-width:0; }
.practice .practice-step-example b { font-size:17px; font-weight:500; line-height:1.2; letter-spacing:-.02em; }
.practice .practice-step-example small { color:var(--muted); font-size:12px; line-height:1.4; }
.practice .practice-steps li:nth-child(2) .practice-step-example b { font-size:23px; font-variant-numeric:tabular-nums; }
.practice .practice-steps h3 { margin-top:22px; font-size:21px; line-height:1.2; }
.practice .practice-steps p { margin-top:12px; font-size:15px; line-height:1.5; text-wrap:pretty; }
.practice .practice-workflow__note { font-size:14px; max-width:650px; margin:44px auto 0; text-align:center; }
.practice .energy-types .icon { width:24px; height:24px; }
.practice .practice-benefits.section { --benefit-gap:24px; background:var(--bg); padding-top:0; padding-bottom:var(--benefit-gap); }
.practice .practice-benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--benefit-gap); }
.practice .practice-benefit { background:var(--surface); border-radius:24px; padding:38px; }
.practice .practice-benefit>.icon { width:29px; height:29px; }
.practice .practice-benefit h2 { font-size:32px; margin-top:24px; line-height:1.12; letter-spacing:-.035em; }
.practice .practice-benefit>p { margin-top:20px; font-size:16px; line-height:1.55; text-wrap:pretty; }
.practice .practice-local-files { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.practice .practice-local-files>span { min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; font-size:12px; line-height:1.4; }
.practice .practice-local-files .icon { width:29px; height:29px; }
.practice .practice-pack-list { list-style:none; padding:0; margin-top:26px; }
.practice .practice-pack-list li { display:flex; gap:9px; align-items:flex-start; margin-top:12px; font-size:14px; }
.practice .practice-pack-list .icon { width:17px; height:17px; margin-top:2px; }
.practice .practice-benefit>.practice-benefit__note { font-size:12px; }
.practice .practice-team-note { display:flex; align-items:flex-start; gap:17px; max-width:720px; margin:42px auto 0; }
.practice .practice-team-note>.icon { width:25px; height:25px; }
.practice .practice-team-note h3 { font-size:20px; line-height:1.25; }
.practice .practice-team-note p { margin-top:9px; font-size:15px; line-height:1.5; }
.practice .practice-pricing.section { padding-top:0; padding-bottom:50px; }
.practice .practice-offer { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:56px; align-items:center; padding:40px; border-radius:24px; background:var(--surface); }
.practice .practice-offer>div { min-width:0; }
.practice .practice-offer h2 { font-size:34px; line-height:1.15; margin-top:18px; }
.practice .practice-offer>div>p { margin-top:22px; font-size:17px; line-height:1.5; }
.practice .practice-offer__action { display:flex; flex-direction:column; align-items:flex-start; gap:20px; border:0; padding:0; }
.practice .practice-offer__action>.practice-offer__price { margin:0; color:var(--ink); font-size:24px; font-weight:500; line-height:1.2; letter-spacing:-.025em; }
.practice .practice-offer__action>.btn { max-width:100%; margin:0; font-size:15px; padding-inline:22px; white-space:normal; }
.practice .practice-offer__action>small { display:block; margin-top:15px; color:var(--muted); font-size:12px; }
.practice .practice-faq.section { padding-top:50px; }
.practice .practice-faq .faq-grid { grid-template-columns:0.8fr 1.4fr; }
.practice .practice-closing { padding:0 0 80px; background:var(--bg); }
.practice .practice-closing__card { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:40px; width:100%; padding:64px 48px; border-radius:28px; background:var(--ink); color:var(--paper); text-align:left; }
.practice .practice-closing__copy,.practice .practice-closing__action { min-width:0; }
.practice .practice-closing__action { display:flex; flex-direction:column; align-items:flex-start; }
.practice .practice-closing .section-label { color:var(--paper); }
.practice .practice-closing h2 { margin:0; font-size:48px; color:var(--paper); }
.practice .practice-closing p { max-width:520px; margin:22px 0 0; font-size:18px; line-height:1.5; color:#b8b8b4; }
.practice .practice-closing .btn { margin:0; max-width:100%; white-space:normal; }
.practice .practice-reassurance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; width:100%; max-width:360px; margin:20px 0 0; padding:0; list-style:none; text-align:left; }
.practice .practice-reassurance li { display:flex; align-items:center; gap:7px; min-width:0; color:#b8b8b4; font-size:11px; line-height:1.4; }
.practice .practice-reassurance .icon { width:20px; height:20px; flex:0 0 20px; }
.practice .practice-reassurance span { min-width:0; }

@media (max-width:900px) {
  .practice .practice-steps { grid-template-columns:1fr; max-width:440px; margin-inline:auto; gap:16px; }
}

@media (max-width:850px) {
  .practice .practice-hero { padding-top:145px; }
  .practice .practice-hero h1 { font-size:53px; }
  .practice .practice-workspace { padding:26px; }
  .practice .practice-workspace__heading h2 { font-size:26px; }
  .practice .practice-client-table thead th:first-child { width:40%; }
  .practice .practice-client-table thead th:nth-child(2) { width:24%; }
  .practice .practice-client-table thead th:last-child { width:36%; }
  .practice .practice-client-table tbody th>strong { font-size:15px; }
  .practice .practice-client-table tbody th,.practice .practice-client-table tbody td { padding-block:18px; }
  .practice .practice-client-status { font-size:11px; }
  .practice .practice-steps h3 { font-size:21px; }
  .practice .practice-steps p { font-size:15px; }
  .practice .practice-benefit { padding:28px; }
  .practice .practice-benefit h2 { font-size:27px; }
  .practice .practice-offer { padding:32px; gap:32px; }
  .practice .practice-offer h2 { font-size:32px; }
  .practice .practice-offer__action>.practice-offer__price { font-size:23px; }
  .practice .practice-offer__action>.btn { font-size:13px; padding-inline:15px; gap:8px; }
  .practice .practice-closing__card { padding:48px 32px; gap:32px; }
  .practice .practice-closing h2 { font-size:42px; }
}

@media (max-width:767px) {
  .practice .section { padding-block:65px; }
  .practice .practice-hero { padding:126px 0 58px; }
  .practice .practice-eyebrow { font-size:12px; margin-bottom:21px; }
  .practice .practice-hero h1 { font-size:clamp(36px,9vw,49px); letter-spacing:-.045em; line-height:1.06; }
  .practice .practice-hero__intro { margin-top:24px; font-size:17px; line-height:1.5; max-width:430px; }
  .practice .practice-hero__action { margin-top:27px; }
  .practice .practice-hero__action .btn { font-size:15px; padding-inline:23px; }
  .practice .practice-hero__action>p { font-size:11px; line-height:1.5; }
  .practice .practice-hero__facts { font-size:11px; gap:18px; }
  .practice .practice-hero__facts .icon { width:15px; height:15px; }
  .practice .practice-preview { margin-top:45px; }
  .practice .practice-window { border-radius:15px; }
  .practice .practice-window__bar { height:35px; padding-inline:13px; font-size:10px; }
  .practice .practice-window__dots { gap:4px; }
  .practice .practice-window__dots i { width:5px; height:5px; }
  .practice .practice-workspace { padding:20px 16px; }
  .practice .practice-workspace__top { align-items:flex-start; gap:10px; font-size:10px; }
  .practice .practice-workspace__top>span:last-child { max-width:128px; text-align:right; line-height:1.4; }
  .practice .practice-workspace__brand { font-size:17px; }
  .practice .practice-workspace__brand .brand-symbol { width:19px; height:19px; }
  .practice .practice-workspace__heading { display:block; margin-top:25px; }
  .practice .practice-workspace__heading h2 { font-size:23px; line-height:1.2; }
  .practice .practice-workspace__heading>span { display:block; margin-top:6px; font-size:11px; }
  .practice .practice-import { margin-top:20px; padding:13px 12px; gap:10px; }
  .practice .practice-import>div>span { font-size:10px; }
  .practice .practice-import strong { font-size:13px; }
  .practice .practice-import__type { display:none; }
  .practice .practice-client-table { display:block; margin-top:9px; }
  .practice .practice-client-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .practice .practice-client-table tbody { display:block; }
  .practice .practice-client-table tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:14px 15px; padding:20px 0; border-bottom:1px solid var(--line); }
  .practice .practice-client-table tbody th { grid-column:1 / -1; }
  .practice .practice-client-table tbody th,.practice .practice-client-table tbody td { display:block; padding:0; border:0; }
  .practice .practice-client-table tbody th>strong { font-size:16px; }
  .practice .practice-client-table tbody th>span { font-size:11px; }
  .practice .practice-client-table td::before { display:block; content:attr(data-label); font-size:10px; font-weight:400; color:var(--muted); letter-spacing:0; line-height:1.3; margin-bottom:5px; white-space:normal; }
  .practice .practice-client-table__amount { font-size:19px; line-height:1.3; }
  .practice .practice-client-status { font-size:11px; gap:4px; line-height:1.4; }
  .practice .practice-client-status .icon { width:14px; height:14px; }
  .practice .practice-workspace__local { align-items:flex-start; font-size:10px; line-height:1.5; margin-top:17px; }
  .practice .practice-workspace__local .icon { margin-top:1px; }
  .practice .practice-preview figcaption { font-size:10px; line-height:1.5; margin-top:15px; padding-inline:5px; }
  .practice .section-heading { margin-bottom:36px; }
  .practice .section-heading h2 { font-size:34px; }
  .practice .section-heading h2 br { display:none; }
  .practice .section-heading p { margin-top:18px; font-size:17px; }
  .practice .section-heading .section-label { font-size:12px; }
  .practice .practice-steps { margin-top:36px; }
  .practice .practice-steps h3 { font-size:21px; }
  .practice .practice-workflow__note { margin-top:32px; font-size:12px; }
  .practice .practice-benefits.section { --benefit-gap:17px; }
  .practice .practice-benefit-grid { grid-template-columns:1fr; }
  .practice .practice-benefit { padding:28px 24px; border-radius:24px; }
  .practice .practice-benefit h2 { font-size:30px; margin-top:21px; }
  .practice .practice-benefit>p { font-size:15px; margin-top:18px; }
  .practice .practice-pack-list li { font-size:13px; }
  .practice .practice-team-note { margin-top:32px; padding-inline:8px; gap:12px; }
  .practice .practice-team-note h3 { font-size:19px; }
  .practice .practice-team-note p { font-size:14px; }
  .practice .practice-offer { grid-template-columns:1fr; padding:30px 24px; gap:30px; border-radius:24px; }
  .practice .practice-offer h2 { font-size:30px; }
  .practice .practice-offer>div>p { font-size:16px; }
  .practice .practice-offer__action>.practice-offer__price { font-size:23px; }
  .practice .practice-offer__action>.btn { font-size:14px; padding-inline:19px; }
  .practice .practice-offer__action>small { font-size:11px; }
  .practice .practice-pricing.section { padding-bottom:32.5px; }
  .practice .practice-faq.section { padding-top:32.5px; }
  .practice .practice-faq .faq-grid { grid-template-columns:1fr; }
  .practice .practice-closing { padding:0 0 48px; }
  .practice .practice-closing__card { grid-template-columns:1fr; gap:28px; padding:44px 24px; border-radius:24px; text-align:center; }
  .practice .practice-closing__action { align-items:center; }
  .practice .practice-closing h2 { font-size:clamp(27px,8.4vw,42px); }
  .practice .practice-closing h2 br { display:none; }
  .practice .practice-closing p { font-size:16px; margin:22px auto 0; }
  .practice .practice-closing .btn { font-size:14px; padding-inline:17px; margin-top:0; }
}

/* A short product story. Only the playback controls are interactive. */
.practice-showcase { --showcase-muted:#5d5d58; --showcase-line:#e5e5df; --showcase-curve:cubic-bezier(.22,1,.36,1); position:relative; color:var(--ink); text-align:left; }
.showcase-frame { overflow:hidden; border:1px solid #d4d4ce; border-radius:24px; background:#f4f4f1; box-shadow:0 24px 64px #1212110d,0 3px 10px #12121105; }
.showcase-icon { width:20px; height:20px; flex:0 0 20px; }
.showcase-titlebar { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; min-height:44px; padding:10px 20px; border-bottom:1px solid var(--showcase-line); background:#fafaf8; color:var(--showcase-muted); font-size:12px; line-height:1.4; }
.showcase-window-dots { display:flex; gap:6px; }
.showcase-window-dots i { width:7px; height:7px; border-radius:50%; background:#cbcbc5; }
.showcase-preview-label { justify-self:end; }
.showcase-body { position:relative; isolation:isolate; }
.showcase-dashboard { display:grid; grid-template-columns:156px minmax(0,1fr); }
.showcase-sidebar { display:flex; flex-direction:column; padding:26px 11px 20px; border-right:1px solid var(--showcase-line); background:#eeeee9; }
.showcase-brand { display:flex; align-items:center; gap:7px; margin:0 12px 34px; font-size:23px; line-height:1.2; letter-spacing:-.8px; }
.showcase-brand strong { font-weight:600; }
.showcase-brand .brand-symbol { width:23px; height:23px; }
.showcase-sidebar-label { margin:0 12px 10px; color:var(--showcase-muted); font-size:12px; }
.showcase-navigation { display:flex; flex-direction:column; gap:5px; }
.showcase-navigation>span { display:flex; align-items:center; gap:7px; min-height:42px; padding:9px 10px; border-radius:13px; font-size:13px; }
.showcase-navigation>span.is-active { background:var(--paper); box-shadow:0 2px 5px #12121106; }
.showcase-navigation small { margin-left:auto; color:var(--showcase-muted); font-size:12px; }
.showcase-navigation .showcase-icon { width:17px; height:17px; flex-basis:17px; }
.showcase-local { display:flex; align-items:flex-start; gap:7px; margin-top:auto; padding:32px 6px 0; color:var(--showcase-muted); }
.showcase-local>.showcase-icon { width:14px; height:14px; flex-basis:14px; margin-top:2px; }
.showcase-local strong,.showcase-local span { display:block; font-size:12px; line-height:1.5; }
.showcase-local strong { color:var(--ink); font-weight:500; }
.showcase-main { min-width:0; padding:24px; }
.showcase-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.showcase-toolbar>div { min-width:0; }
.showcase-eyebrow { display:block; margin-bottom:5px; color:var(--showcase-muted); font-size:12px; line-height:1.4; }
.showcase-toolbar h2 { font-size:27px; line-height:1.12; letter-spacing:-.04em; }
.showcase-import-complete { display:inline-flex; flex-shrink:0; align-items:center; gap:6px; padding:8px 11px; border-radius:22px; background:#e9e9e3; font-size:12px; line-height:1.3; }
.showcase-import-complete .showcase-icon { width:14px; height:14px; flex-basis:14px; }
.showcase-context { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:13px 0 16px; font-size:12px; line-height:1.4; color:var(--showcase-muted); }
.showcase-context>span { display:flex; align-items:center; gap:6px; }
.showcase-context .showcase-icon { width:14px; height:14px; flex-basis:14px; }
.showcase-metrics { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:11px; }
.showcase-metric { min-width:0; padding:15px 16px; border-radius:17px; background:var(--paper); }
.showcase-metric>span { display:block; color:var(--showcase-muted); font-size:12px; line-height:1.3; }
.showcase-metric>strong { display:block; margin:7px 0 5px; font-size:29px; line-height:1.1; font-weight:500; letter-spacing:-1.1px; font-variant-numeric:tabular-nums; }
.showcase-metric>strong>small { font-size:18px; font-weight:400; color:var(--showcase-muted); }
.showcase-metric>small { display:block; color:var(--showcase-muted); font-size:12px; line-height:1.35; }
.showcase-split { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:start; gap:16px; margin-top:18px; }
.showcase-clients,.showcase-pack { min-width:0; border-radius:18px; background:var(--paper); }
.showcase-clients { overflow:hidden; padding:0 8px; }
.showcase-list-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; padding:13px 9px; }
.showcase-list-heading h3 { font-size:15px; letter-spacing:-.3px; }
.showcase-sort { display:inline-flex; align-items:center; gap:4px; color:var(--showcase-muted); font-size:12px; line-height:1.3; }
.showcase-sort .showcase-icon { width:14px; height:14px; flex-basis:14px; }
.showcase-client-list { position:relative; display:flex; flex-direction:column; gap:5px; height:293px; overflow:hidden; mask-image:linear-gradient(#000 0%,#000 84%,transparent 100%); }
.showcase-ranked-row { position:relative; display:grid; flex:0 0 122px; grid-template-columns:32px minmax(0,1fr) auto; align-content:center; align-items:center; gap:3px 9px; min-width:0; padding:12px 10px; border-radius:12px; }
.showcase-ranked-row.is-selected { background:#efefea; }
.showcase-avatar { display:inline-flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; height:32px; border-radius:11px; background:#eeeee9; color:#55554f; font-size:12px; font-weight:500; }
.showcase-ranked-row>.showcase-avatar { grid-row:1 / 3; }
.showcase-ranked-row.is-selected .showcase-avatar { background:var(--paper); }
.showcase-client-name { grid-column:2 / -1; min-width:0; padding-right:7px; }
.showcase-client-name h4 { display:block; margin:0; font-size:14px; font-weight:500; line-height:1.35; letter-spacing:0; }
.showcase-client-name small { display:block; margin-top:2px; color:var(--showcase-muted); font-size:12px; line-height:1.35; }
.showcase-client-amount { grid-column:2; margin-top:5px; font-size:18px; line-height:1.35; font-weight:500; letter-spacing:-.45px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.showcase-client-state { display:inline-flex; align-items:center; justify-self:start; gap:4px; grid-column:2 / -1; max-width:100%; margin-top:5px; padding:3px 7px; border-radius:20px; background:#f2f2ef; color:var(--showcase-muted); font-size:12px; line-height:1.3; }
.showcase-client-state .showcase-icon { width:12px; height:12px; flex-basis:12px; }
.showcase-ranked-row.is-selected .showcase-client-state { background:var(--paper); color:var(--ink); }
.showcase-client-chevron { position:absolute; top:16px; right:8px; color:#989890; }
.showcase-client-chevron .showcase-icon { width:12px; height:12px; }
.showcase-list-footer { padding:10px 9px 13px; border-top:1px solid var(--showcase-line); color:var(--showcase-muted); font-size:12px; line-height:1.4; }
.showcase-pack { padding:19px; }
.showcase-pack-heading { display:flex; align-items:center; gap:9px; margin-bottom:17px; }
.showcase-pack-heading h3 { font-size:15px; line-height:1.2; letter-spacing:-.3px; }
.showcase-pack-heading .showcase-eyebrow { margin-bottom:3px; }
.showcase-document { display:flex; align-items:center; gap:9px; padding-top:15px; border-top:1px solid var(--showcase-line); }
.showcase-document-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:40px; border:1px solid #deded7; border-radius:8px; }
.showcase-document strong { display:block; font-size:14px; font-weight:500; line-height:1.3; }
.showcase-document small { display:block; margin-top:3px; color:var(--showcase-muted); font-size:12px; line-height:1.3; }
.showcase-document-list { list-style:none; padding:0; margin:17px 0 19px; }
.showcase-document-list li { display:flex; align-items:flex-start; gap:6px; margin-top:10px; font-size:12px; line-height:1.4; }
.showcase-document-list .showcase-icon { width:13px; height:13px; flex-basis:13px; margin-top:2px; color:#65685a; }
.showcase-ready-status { display:flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:9px 10px; border-radius:12px; background:var(--accent); color:var(--ink); font-size:13px; line-height:1.3; font-weight:500; text-align:center; white-space:nowrap; }
.showcase-ready-status .showcase-icon { width:16px; height:16px; flex-basis:16px; }
.showcase-filing-note { margin-top:10px; font-size:12px; line-height:1.45; color:var(--showcase-muted); }
.showcase-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:16px; color:var(--showcase-muted); font-size:12px; line-height:1.4; }
.showcase-bottom>span:first-child { display:flex; align-items:center; gap:5px; }
.showcase-bottom .showcase-icon { width:13px; height:13px; flex-basis:13px; }
.showcase-import-layer { position:absolute; z-index:2; inset:0; display:grid; place-items:center; visibility:hidden; opacity:0; background:#f4f4f1; pointer-events:none; }
.showcase-dropzone { display:flex; flex-direction:column; align-items:center; justify-content:center; width:min(440px,calc(100% - 56px)); min-height:300px; padding:34px; border:1px dashed #babab1; border-radius:24px; background:#fafaf8; text-align:center; }
.showcase-drop-icon { display:grid; place-items:center; width:56px; height:56px; margin-bottom:20px; border-radius:17px; background:#eeeee8; }
.showcase-drop-icon .showcase-icon { width:27px; height:27px; }
.showcase-drop-copy h3 { font-size:25px; line-height:1.15; letter-spacing:-.035em; }
.showcase-drop-copy p { max-width:310px; margin:12px auto 0; color:var(--showcase-muted); font-size:14px; line-height:1.45; }
.showcase-file-picker { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; margin-top:23px; padding:10px 20px; border-radius:24px; background:var(--ink); color:var(--paper); font-size:14px; line-height:1.35; }
.showcase-file-picker .showcase-icon { width:17px; height:17px; flex-basis:17px; }
.showcase-import-file { position:absolute; left:50%; top:43%; display:flex; align-items:center; gap:12px; width:216px; margin-left:-108px; margin-top:-34px; padding:17px 18px; border:1px solid #d5d5cd; border-radius:16px; background:var(--paper); box-shadow:0 14px 34px #12121118; opacity:0; }
.showcase-import-file>.showcase-icon { width:33px; height:33px; flex-basis:33px; }
.showcase-import-file strong { display:block; font-size:15px; font-weight:500; line-height:1.2; }
.showcase-import-file small { display:block; margin-top:4px; color:var(--showcase-muted); font-size:12px; line-height:1.4; }
.showcase-import-file>.showcase-cursor { position:absolute; right:1px; bottom:-18px; width:31px; height:35px; overflow:visible; filter:drop-shadow(0 2px 2px #12121125); }
.showcase-playback { display:flex; align-items:center; justify-content:center; gap:16px; margin:17px 0 0; min-height:44px; }
.showcase-playback>p { max-width:620px; color:var(--ink); font-size:14px; font-weight:500; line-height:1.5; text-align:center; }
.showcase-playback-controls { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.showcase-playback button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; padding:9px 2px; border:0; background:none; color:var(--showcase-muted); font:inherit; font-size:12px; line-height:1.4; cursor:pointer; }
.showcase-playback button:hover { color:var(--ink); }
.showcase-playback button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; border-radius:3px; }
.showcase-playback button .showcase-icon { width:14px; height:14px; flex-basis:14px; }
.practice-showcase[data-showcase-running="true"] .showcase-play-icon,
.practice-showcase[data-showcase-running="false"] .showcase-pause-icon { display:none; }
.practice .practice-preview>.practice-showcase+figcaption { margin-top:5px; }
@media (prefers-reduced-motion:no-preference) {
  .practice-showcase[data-showcase-stage="idle"] .showcase-import-layer,
  .practice-showcase[data-showcase-stage="importing"] .showcase-import-layer { visibility:visible; opacity:1; }
  .practice-showcase[data-showcase-stage="idle"] .showcase-dashboard,
  .practice-showcase[data-showcase-stage="importing"] .showcase-dashboard { opacity:0; }
  .practice-showcase[data-showcase-stage="importing"] .showcase-import-file { animation:showcase-file-drop 2400ms var(--showcase-curve) both; }
  .practice-showcase[data-showcase-stage="importing"] .showcase-dropzone { animation:showcase-drop-receive 2400ms ease both; }
  .practice-showcase[data-showcase-stage="ranking"] .showcase-import-layer { visibility:visible; animation:showcase-import-away 350ms ease both; }
  .practice-showcase[data-showcase-stage="ranking"] .showcase-dashboard { animation:showcase-dashboard-in 620ms ease both; }
  .practice-showcase[data-showcase-stage="ranking"] .showcase-metric { animation:showcase-content-settle 700ms var(--showcase-curve) 100ms both; }
  .practice-showcase[data-showcase-stage="ranking"] .showcase-ranked-row { animation:showcase-content-settle 700ms var(--showcase-curve) both; }
  .practice-showcase[data-showcase-stage="ranking"] .showcase-ranked-row[data-rank="0"] { animation-delay:220ms; }
  .practice-showcase[data-showcase-stage="ranking"] .showcase-ranked-row[data-rank="1"] { animation-delay:340ms; }
  .practice-showcase[data-showcase-stage="ranking"] .showcase-ranked-row[data-rank="2"] { animation-delay:460ms; }
  .practice-showcase[data-showcase-stage="ranking"] .showcase-pack { opacity:0; }
  .practice-showcase[data-showcase-started="true"][data-showcase-stage="complete"] .showcase-pack { animation:showcase-content-settle 550ms var(--showcase-curve) both; }
  .practice-showcase[data-showcase-started="true"][data-showcase-stage="complete"] .showcase-ready-status { animation:showcase-ready-in 450ms var(--showcase-curve) 150ms both; }
  .practice-showcase[data-showcase-running="false"] .showcase-import-file,
  .practice-showcase[data-showcase-running="false"] .showcase-dropzone,
  .practice-showcase[data-showcase-running="false"] .showcase-import-layer,
  .practice-showcase[data-showcase-running="false"] .showcase-dashboard,
  .practice-showcase[data-showcase-running="false"] .showcase-metric,
  .practice-showcase[data-showcase-running="false"] .showcase-ranked-row,
  .practice-showcase[data-showcase-running="false"] .showcase-pack,
  .practice-showcase[data-showcase-running="false"] .showcase-ready-status { animation-play-state:paused; }
  @keyframes showcase-file-drop {
    0%,25% { opacity:0; transform:translate(145px,-420px) rotate(-6deg); }
    34% { opacity:1; }
    68% { opacity:1; transform:translate(0,-5px) rotate(0); }
    76%,86% { opacity:1; transform:none; }
    100% { opacity:0; transform:none; }
  }
  @keyframes showcase-drop-receive {
    0%,67% { border-color:#babab1; background:#fafaf8; }
    76%,90% { border-color:#62625f; background:#f1f5e4; }
    100% { border-color:#babab1; background:#fafaf8; }
  }
  @keyframes showcase-import-away { from { opacity:1; } to { opacity:0; visibility:hidden; } }
  @keyframes showcase-dashboard-in { from { opacity:0; } to { opacity:1; } }
  @keyframes showcase-content-settle { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
  @keyframes showcase-ready-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
}
@media (max-width:1050px) {
  .showcase-dashboard { grid-template-columns:138px minmax(0,1fr); }
  .showcase-sidebar { padding-inline:7px; }
  .showcase-navigation>span { gap:5px; padding-inline:7px; font-size:12px; }
  .showcase-main { padding:21px; }
  .showcase-toolbar h2 { font-size:25px; }
  .showcase-metric { padding:14px 12px; }
  .showcase-split { gap:12px; }
  .showcase-pack { padding:17px; }
}
@media (max-width:850px) {
  .showcase-dashboard { grid-template-columns:1fr; }
  .showcase-sidebar { display:none; }
  .showcase-main { padding:24px; }
  .showcase-toolbar h2 { font-size:27px; }
  .showcase-metric { padding:16px; }
  .showcase-pack { padding:20px; }
}
@media (max-width:600px) {
  .showcase-frame { border-radius:22px; }
  .showcase-titlebar { grid-template-columns:1fr auto; gap:8px; min-height:40px; padding:10px 14px; font-size:12px; }
  .showcase-window-dots { display:none; }
  .showcase-main { padding:20px 14px 16px; }
  .showcase-toolbar { align-items:flex-start; gap:8px; }
  .showcase-toolbar h2 { font-size:25px; }
  .showcase-toolbar .showcase-eyebrow { display:none; }
  .showcase-import-complete { display:none; }
  .showcase-context { display:none; }
  .showcase-metrics { grid-template-columns:1fr 1fr; gap:9px; margin-top:17px; }
  .showcase-metric { padding:13px 14px; border-radius:15px; }
  .showcase-metric--total { display:block; }
  .showcase-metric:last-child { display:none; }
  .showcase-metric>strong { font-size:25px; margin-top:5px; margin-bottom:4px; }
  .showcase-metric>small { display:none; }
  .showcase-split { grid-template-columns:1fr; gap:12px; margin-top:14px; }
  .showcase-list-heading { min-height:42px; padding:11px 7px; }
  .showcase-list-heading h3 { font-size:14px; }
  .showcase-sort { font-size:12px; }
  .showcase-client-list { height:185px; }
  .showcase-ranked-row { flex-basis:74px; grid-template-columns:28px minmax(0,1fr) auto; gap:3px 8px; padding:8px; }
  .showcase-ranked-row>.showcase-avatar { grid-row:1 / 3; align-self:start; width:28px; height:28px; font-size:11px; border-radius:9px; }
  .showcase-client-name { grid-column:2; padding:0; }
  .showcase-client-name h4 { font-size:13px; }
  .showcase-client-name small { display:none; }
  .showcase-client-amount { grid-column:3; grid-row:1; margin:0; font-size:16px; }
  .showcase-client-state { grid-column:2 / -1; margin-top:5px; }
  .showcase-client-chevron { display:none; }
  .showcase-list-footer { display:none; }
  .showcase-pack { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:11px; padding:16px; }
  .showcase-pack-heading,.showcase-document-list { display:none; }
  .showcase-document { border:0; padding:0; gap:9px; }
  .showcase-document strong { font-size:13px; }
  .showcase-document small { font-size:12px; }
  .showcase-document-icon { width:28px; height:34px; flex-basis:28px; }
  .showcase-document-icon .showcase-icon { width:18px; height:18px; }
  .showcase-ready-status { gap:4px; min-height:32px; padding:7px 8px; font-size:12px; border-radius:9px; }
  .showcase-ready-status .showcase-icon { width:14px; height:14px; flex-basis:14px; }
  .showcase-filing-note { grid-column:1 / -1; margin:0; font-size:12px; line-height:1.4; }
  .showcase-bottom { margin-top:14px; font-size:12px; }
  .showcase-bottom>span:last-child:not(:first-child) { display:none; }
  .showcase-dropzone { width:calc(100% - 32px); min-height:315px; padding:25px 21px; }
  .showcase-drop-copy h3 { font-size:25px; }
  .showcase-drop-copy p { font-size:14px; }
  .showcase-import-file { top:43%; width:202px; margin-left:-101px; padding-inline:14px; }
  .showcase-playback { flex-direction:column; gap:0; margin-top:14px; }
  .showcase-playback>p { font-size:13px; }
  .showcase-playback button { font-size:12px; }
}
@media (max-width:374px) {
  .showcase-titlebar { padding-inline:12px; font-size:11px; }
  .showcase-main { padding-inline:11px; }
  .showcase-toolbar h2 { font-size:23px; }
  .showcase-metric { padding-inline:11px; }
  .showcase-ranked-row { grid-template-columns:minmax(0,1fr) auto; }
  .showcase-ranked-row>.showcase-avatar { display:none; }
  .showcase-client-name { grid-column:1; }
  .showcase-client-amount { grid-column:2; }
  .showcase-client-state { grid-column:1 / -1; }
  .showcase-pack { padding:14px; gap:10px; }
}
