:root { color-scheme: light; --ink:#202b39; --muted:#596b80; --accent:#587798; --line:#dbe3ec; --soft:#f3f6f9; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:#fff; font-synthesis:none; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:24px; } body { margin:0; } a { color:inherit; } button,input,select,textarea { font:inherit; } button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; } p { line-height:1.65; } h1,h2,h3,h4,p,figure { margin:0; } h1,h2 { letter-spacing:-.045em; line-height:1.12; } h1 { font-size:clamp(2.4rem,4.4vw,3.9rem); font-weight:730; } h2 { font-size:clamp(1.8rem,3vw,2.65rem); font-weight:700; } h3 { font-size:1.18rem; letter-spacing:-.025em; } a,button,summary { touch-action:manipulation; } :focus-visible { outline:3px solid var(--accent); outline-offset:4px; } [id] { scroll-margin-top:28px; } .wrap { width:min(1200px,calc(100% - 80px)); margin-inline:auto; }
.skip-link { position:absolute; top:8px; left:16px; padding:12px; background:#fff; z-index:5; transform:translateY(-160%); } .skip-link:focus { transform:none; } .site-header { display:flex; align-items:center; justify-content:space-between; gap:32px; min-height:94px; border-bottom:1px solid var(--line); } .brand { display:inline-flex; align-items:center; gap:10px; font-size:1.9rem; font-weight:750; text-decoration:none; letter-spacing:-.055em; } .brand-mark { display:block; width:40px; height:40px; flex:none; } .brand .brand-wordmark { color:var(--ink); } .brand span { color:var(--accent); } nav { display:flex; gap:28px; font-size:.9rem; } nav a { text-decoration:none; } nav a:hover { color:var(--accent); text-decoration:underline; }
.hero { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); column-gap:28px; padding-block:50px 20px; } .hero-intro { grid-column:1 / -1; max-width:770px; margin-bottom:28px; } .hero-description { max-width:690px; margin-top:18px; font-size:1.13rem; color:var(--muted); } .hero-art { display:flex; align-items:center; grid-column:2; min-width:0; } .hero-art img { width:100%; height:auto; display:block; } .upload-panel { grid-column:1; border:1px solid var(--line); border-radius:8px; padding:24px; min-width:0; } .upload-panel h2 { font-size:1.25rem; letter-spacing:-.025em; margin-bottom:18px; } .upload-placeholder { border:1px dashed #c8d6e5; padding:26px 16px; text-align:center; background:#fafbfd; border-radius:5px; } .upload-placeholder p { margin-top:8px; } .upload-placeholder small { color:var(--muted); } .card-reassurance { text-align:center; color:var(--muted); font-size:.83rem; margin-top:12px; } .muted { color:var(--muted); } .error { color:#9f3037; overflow-wrap:anywhere; font-size:.9rem; margin-top:16px; } .filename { overflow-wrap:anywhere; font-weight:650; } .pending > p { margin-block:10px; } .connection-message { margin-top:12px; }
button,.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:5px; padding:11px 18px; cursor:pointer; background:#fff; color:var(--ink); text-decoration:none; font-weight:600; font-size:.92rem; } button:hover,.button:hover { background:var(--soft); } button:disabled { opacity:.55; cursor:default; } .primary { background:var(--accent); color:#fff; border-color:var(--accent); } .primary:hover { background:#496887; } .text-button { padding:8px 0; background:none; border:0; font-weight:500; text-decoration:underline; } .actions { display:flex; flex-wrap:wrap; gap:10px; margin-block:16px; }
.upload-form label,.pending label { display:block; font-size:.85rem; font-weight:500; margin-block:15px; } input:not([type=file]),select,textarea { display:block; width:100%; padding:10px 12px; border:1px solid #cad6e3; border-radius:5px; background:#fff; color:var(--ink); margin-top:6px; font-size:.92rem; } textarea { resize:vertical; min-height:75px; } input::placeholder,textarea::placeholder { color:#65798f; } .upload-form .primary { width:100%; } .file-label { position:relative; display:flex !important; flex-direction:column; align-items:center; gap:9px; border:1px dashed #c8d6e5; border-radius:5px; background:#fafbfd; padding:20px; text-align:center; cursor:pointer; } .file-label input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; } .file-label:focus-within { outline:3px solid var(--accent); outline-offset:3px; } .file-label small { color:var(--muted); font-weight:400; } .file-name { margin-top:-5px; font-size:.83rem; color:var(--muted); overflow-wrap:anywhere; } .email-helper { border-top:1px solid var(--line); padding-top:13px; margin-top:14px; color:var(--muted); font-size:.77rem; text-align:center; }
.word-badge { display:inline-block; width:44px; height:40px; position:relative; font-family:Arial,sans-serif; vertical-align:middle; flex:none; } .word-page { position:absolute; inset:3px 0 3px 16px; background:#267bb8; color:#fff; border-radius:2px; font-weight:700; font-size:31px; line-height:32px; text-align:center; } .word-letter { position:absolute; left:0; top:5px; width:27px; height:31px; background:#24549b; color:#fff; line-height:31px; text-align:center; font-size:21px; font-weight:700; transform:skewY(-7deg); }
.section { padding-block:65px; } .section-heading { text-align:center; max-width:960px; margin:0 auto 30px; } .section-heading > p { margin-top:14px; color:var(--muted); font-size:1.02rem; } .output-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding-bottom:16px; } .output-card { min-width:0; display:flex; flex-direction:column; } .report-page { position:relative; font-family:Georgia,"Times New Roman",serif; padding:28px 28px 24px; flex:1; color:#222c39; background:#fff; border:1px solid var(--line); border-bottom:0; border-radius:6px 6px 0 0; } .report-page::after { content:""; position:absolute; left:-1px; right:-1px; bottom:-16px; height:18px; background:url("/static/landing/report-edge.svg") center / 100% 100% no-repeat; pointer-events:none; } .report-letterhead { display:flex; gap:15px; align-items:center; margin-bottom:15px; } .report-letterhead > span:last-child { height:2px; background:#69a0cf; flex:1; } .report-page h3 { color:#193951; font-size:1.3rem; } .report-page h4 { color:#245b88; font-size:.95rem; margin-block:9px 7px; } .report-page p { font-size:.87rem; line-height:1.45; } del { color:#a53940; text-decoration-thickness:1.5px; } ins { color:#2c7147; text-decoration:underline; text-underline-offset:2px; } .report-page table { width:100%; border-collapse:collapse; font-size:.74rem; margin-top:14px; } .report-page caption { caption-side:bottom; text-align:center; font-size:.77rem; font-weight:700; line-height:1.45; padding-top:8px; } .report-page .report-followup { margin-top:16px; } .report-page th,.report-page td { border:1px solid #bbcbdc; padding:5px 6px; text-align:center; } .report-page thead { background:#dceaf5; } .report-page tbody th { font-weight:400; text-align:left; } .output-card figcaption { margin:0 0 20px; text-align:center; font-size:.9rem; } .output-card figcaption strong,.output-card figcaption span { display:block; } .output-card figcaption strong { font-size:1.08rem; } .output-card figcaption span { color:var(--muted); margin-top:6px; }
.benefit-grid,.use-case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; } .benefit-grid article { padding:16px; } .benefit-grid article + article { border-left:1px solid var(--line); } .benefit-grid p,.use-case-grid p { margin-top:10px; color:var(--muted); font-size:.95rem; } .benefit-image { display:block; width:180px; max-width:100%; height:160px; margin:0 auto 18px; object-fit:contain; } .learning-note { text-align:center; color:var(--muted); margin-top:26px; font-size:.92rem; }
.soft-band { background:var(--soft); } .process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; list-style:none; margin:0; padding:12px 0; text-align:center; } .step-number { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:#dce6f0; color:#3e5875; font-weight:700; margin-bottom:18px; } .process-image { display:block; width:150px; max-width:100%; height:130px; margin:0 auto 18px; object-fit:contain; } .process-grid li { position:relative; } .process-grid li:not(:last-child)::after { content:"→"; position:absolute; top:109px; right:-23px; font-size:1.7rem; color:#8aa3bf; } .process-grid p { margin-top:12px; color:var(--muted); font-size:.9rem; }  .use-case-grid article { border:1px solid var(--line); border-radius:6px; padding:24px 20px; } .use-case-image { display:block; width:210px; max-width:100%; height:160px; margin:0 auto 20px; object-fit:contain; }
.pricing-panel { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:35px; border:1px solid var(--line); border-radius:6px; } .pricing-panel > div + div { border-left:1px solid var(--line); padding-left:40px; } .pricing-panel h3 { font-size:1.35rem; } .pricing-panel p { margin-top:12px; color:var(--muted); } .pricing-panel .button { margin-top:22px; min-width:180px; } .pricing-start { display:inline-flex; flex-direction:column; } .section-heading .pricing-reassurance { color:var(--ink); font-size:.95rem; font-weight:650; } .pricing-panel .credit-example { font-size:1.2rem; color:var(--ink); } .faq { max-width:960px; } details { border-bottom:1px solid var(--line); } details:first-of-type { border-top:1px solid var(--line); } summary { padding:20px 32px 20px 0; cursor:pointer; position:relative; font-weight:550; font-size:.95rem; list-style:none; } summary::-webkit-details-marker { display:none; } summary::after { content:"+"; position:absolute; right:6px; color:var(--accent); font-size:1.25rem; top:16px; } details[open] summary::after { content:"−"; } details > p { padding:0 32px 22px 0; color:var(--muted); font-size:.93rem; }
.closing { text-align:center; } .closing p { color:var(--muted); margin-top:16px; } .closing .button { margin-top:25px; min-width:240px; } .site-footer { padding-block:35px; } .site-footer .brand { font-size:1.35rem; gap:8px; } .site-footer .brand-mark { width:28px; height:28px; } .site-footer p { color:var(--muted); font-size:.8rem; margin-top:6px; }
@media (min-width:1450px) { .hero-art { margin-inline:-12px; } }
@media (max-width:900px) { .wrap { width:calc(100% - 40px); } .hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; } .hero-intro { max-width:720px; } .hero-art { align-self:center; } nav { gap:18px; } .upload-panel { padding:18px; } .report-page { padding-inline:22px; } .process-grid { grid-template-columns:repeat(2,1fr); row-gap:30px; } .process-grid li::after { display:none; } }
@media (max-width:640px) { .wrap { width:calc(100% - 32px); } .site-header { min-height:80px; flex-wrap:wrap; gap:14px; padding-block:16px; } .brand { font-size:1.55rem; } nav { flex-wrap:wrap; gap:12px 17px; font-size:.78rem; } .hero { display:flex; flex-direction:column; padding-top:34px; gap:22px; } .hero-intro { margin-bottom:0; } .hero-description { font-size:1rem; } .hero-art { margin:0; width:100%; } .section { padding-block:42px; } .section-heading { margin-bottom:24px; } .section-heading > p { font-size:.93rem; } .output-grid,.benefit-grid,.use-case-grid,.pricing-panel { grid-template-columns:1fr; } .output-grid { gap:42px; } .report-page { padding:22px 20px 20px; } .benefit-grid article + article { border-left:0; border-top:1px solid var(--line); padding-top:26px; } .benefit-image { margin-bottom:10px; } .pricing-panel { padding:24px; gap:26px; } .pricing-panel > div + div { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; } .process-grid { gap:28px 18px; } .process-grid p { font-size:.85rem; } .process-grid h3 { font-size:1rem; } .closing .button { min-width:0; width:100%; max-width:300px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
.claim-retry { text-align:center; padding-block:20px; }
.claim-retry p { color:var(--muted); margin-bottom:20px; }

/* Alternative hero is isolated so the original remains available. */
.hero-form-right-ribbon { grid-template-columns:minmax(0, 1.7fr) minmax(340px, 1fr); grid-template-rows:auto 1fr; gap:22px 30px; padding-top:36px; }
.hero-form-right-ribbon .hero-intro { grid-column:1; grid-row:1; margin:0; max-width:none; }
.hero-form-right-ribbon h1 { font-size:clamp(2.4rem,4.1vw,4rem); line-height:1.08; }
.hero-form-right-ribbon .hero-description { font-size:1.08rem; }
.hero-form-right-ribbon .hero-art { grid-column:1; grid-row:2; align-self:end; margin:0; }
.hero-form-right-ribbon .upload-panel { grid-column:2; grid-row:1 / 3; align-self:start; position:relative; padding-top:76px; }
.hero-form-right-ribbon .corner-ribbon { position:absolute; z-index:10; right:-10px; top:-10px; width:188px; height:188px; margin:0; overflow:hidden; pointer-events:none; font-size:1.2rem; letter-spacing:0; }
/* Fold edges follow the strip's 45-degree lower edge, with a slight overlap. */
.hero-form-right-ribbon .corner-ribbon::before,
.hero-form-right-ribbon .corner-ribbon::after {
  content:""; position:absolute; background:#b28bc1;
}
.hero-form-right-ribbon .corner-ribbon::before {
  top:0; left:0; width:20px; height:10px;
  clip-path:polygon(50% 0, 100% 100%, 0 100%);
}
.hero-form-right-ribbon .corner-ribbon::after {
  bottom:0; right:0; width:10px; height:20px;
  clip-path:polygon(0 0, 100% 50%, 0 100%);
}
.hero-form-right-ribbon .corner-ribbon span {
  position:absolute; z-index:1; top:38px; left:-31px; width:282px; padding:14px 0;
  line-height:24px; text-align:center; color:#50335f; transform:rotate(45deg);
  background:linear-gradient(110deg, #f3b7d5 0%, #d7b9f4 55%, #e8d5fa 100%);
  box-shadow:0 2px 4px #50335f22;
}
@media (min-width:641px) { .hero-form-right-ribbon .upload-panel { padding-inline:20px; } }
@media (max-width:900px) and (min-width:641px) { .hero-form-right-ribbon { grid-template-columns:minmax(0,1fr) minmax(300px,1fr); gap:20px; } }
@media (max-width:640px) { .hero-form-right-ribbon { display:flex; gap:24px; } .hero-form-right-ribbon .upload-panel { align-self:stretch; } .hero-form-right-ribbon .hero-art { align-self:stretch; } }

.hero-form-right-ribbon .upload-form .file-label { padding:16px 12px; gap:6px; }
.hero-form-right-ribbon .upload-form label { margin-block:12px; }

/* One gentle invitation; never animate a form the visitor is already using. */
@keyframes landing-form-pulse {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.025); }
}
@media (prefers-reduced-motion:no-preference) {
  .hero-form-right-ribbon .upload-panel { animation:landing-form-pulse 850ms ease-in-out 2s 1; transform-origin:center; }
  .hero-form-right-ribbon .upload-panel:focus-within,
  .hero-form-right-ribbon .upload-panel:hover { animation:none; }
}
