@font-face{font-family:"Manrope";src:url("/marketing/fonts/Manrope-VF.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/marketing/fonts/SourceSerif4-VF.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/marketing/fonts/SourceSerif4-Italic-VF.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
/* DeductIt marketing site — one stylesheet for every static page.
   Values come from the DeductIt design system (tokens.json); see design/TOKENS.md.
   Breakpoints: desktop ≥1024 · tablet 768–1023 · phone ≤767 · short landscape (max-height 520, landscape). */
body{margin:0}
a{color:#153f34}a:hover{color:#3d7461}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.sec{padding-top:80px;padding-bottom:80px}
.sec-hero{padding-top:96px;padding-bottom:96px}
.sec-footer{padding-top:96px;padding-bottom:40px}
.h1{font-size:64px;line-height:68px;letter-spacing:-0.02em}
.h2{font-size:48px;line-height:52px;letter-spacing:-0.02em}
.lead{font-size:18px;line-height:28px}
.hdr{min-height:72px}
.hdr>.wrap{gap:24px}
.logo{height:40px}
.nav{display:flex;gap:24px;margin-left:16px}
.nav a{font-size:15px;line-height:20px;font-weight:600;color:#153f34;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{border-bottom-color:#71b697}
.hdr-cta,.hdr-login{display:inline-flex}
.hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.sec-hero{overflow:hidden}
.hero-shots{display:flex;gap:16px;align-items:flex-end;justify-content:center;margin-bottom:-96px}
.hero-shots .shot-phone{aspect-ratio:auto;border-radius:12px 12px 0 0;justify-content:flex-start;padding-top:48px}
.hero-shot-1{width:280px;height:560px}
.hero-shot-2{width:220px;height:440px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:10px;font-size:16px;line-height:24px;font-weight:700;text-decoration:none;white-space:nowrap;box-sizing:border-box}
.btn-primary{background:#e9967a;color:#153f34}
.btn-primary:hover{background:#e08364;color:#153f34}
.btn-outline{border:2px solid #153f34;color:#153f34;background:transparent}
.btn-outline:hover{background:#f6faf8;color:#153f34}
.btn-ghost{color:#2f5f4f;text-decoration:underline;text-underline-offset:4px;padding:0 8px}
.on-dark .btn-ghost{color:#ffffff}.on-dark .btn-ghost:hover{color:#e9f5ef}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px;line-height:20px}
.btn.menu-btn{display:none}
.btn.only-phone{display:none}
.card{background:#ffffff;border:1px solid #dde5e1;border-radius:16px;padding:24px;box-sizing:border-box}
.link{color:#2f5f4f;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.link:hover{color:#153f34}
.shot{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;box-sizing:border-box}
.shot-phone{aspect-ratio:390/844;border-radius:12px;background:#e9f5ef;color:#3d7461}
.shot-wide{aspect-ratio:16/10;border-radius:12px;background:#e9f5ef;color:#3d7461}
.shot-photo{aspect-ratio:4/3;border-radius:10px;background:#fbeae4;color:#9c5640}
.on-dark .shot-phone,.on-dark .shot-wide{background:#1f4e41;color:#a6d6be}
.steps{display:grid;gap:12px}
.lockup-full{display:block}
.lockup-small{display:none}
.sec-hero{padding-top:96px;padding-bottom:96px;overflow:hidden}
.h1-sm{font-size:56px;line-height:60px;letter-spacing:-0.02em}
.nav a[aria-current="page"]{border-bottom-color:#153f34}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:13px;line-height:16px;font-weight:600;padding:8px 12px;border-radius:9999px;background:#f6faf8;color:#153f34;white-space:nowrap}
.on-dark .pill{background:#1f4e41;color:#e9f5ef}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px}
.hero-media{min-width:0}
.tbl{width:100%;border-collapse:collapse;font-size:16px;line-height:24px}
.tbl th,.tbl td{text-align:left;padding:16px 20px;border-bottom:1px solid #dde5e1;vertical-align:top}
.tbl th{font-size:12px;line-height:16px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#626b67}
.on-dark .shot-wide{background:#1f4e41;color:#a6d6be}
.tbl{width:100%;border-collapse:collapse;font-size:16px;line-height:24px;background:#ffffff}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.seg{display:inline-flex;gap:4px;border:1px solid #c6d0cb;border-radius:9999px;padding:4px;font-size:14px;line-height:20px;font-weight:600}
.seg button{font-family:inherit;font-size:inherit;font-weight:inherit;border:0;background:transparent;color:#153f34;border-radius:9999px;padding:10px 16px;min-height:40px;cursor:pointer}
.seg button[aria-pressed="true"]{background:#153f34;color:#ffffff}
.price{font-size:40px;line-height:44px;font-weight:800;letter-spacing:-0.02em}
.feat{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:24px;color:#474f4b}
.feat li{display:flex;gap:10px}
/* Keep the full navigation at 1024px without pushing the header actions offscreen. */
@media (min-width:1024px) and (max-width:1193px){
 .hdr>.wrap{gap:12px}
 .nav{gap:8px;margin-left:0}
}
.tbl th,.tbl td{text-align:left;padding:14px 20px;border-bottom:1px solid #dde5e1;vertical-align:top}
.tbl td.c{text-align:center;color:#626b67}
.tbl td.c strong{color:#153f34;font-weight:600}
@media (max-width:1023px){
 .nav{display:none}
 .btn.menu-btn{display:inline-flex}
 .sec{padding-top:64px;padding-bottom:64px}
 .sec-hero{padding-top:64px;padding-bottom:64px}
 .sec-footer{padding-top:64px}
 .h1{font-size:48px;line-height:52px}
 .h2{font-size:40px;line-height:44px}
 .hero-grid{gap:32px}
 .hero-shots{margin-bottom:-64px}
 .hero-shot-1{width:220px;height:440px}
 .hero-shot-2{width:170px;height:340px}
 .g3{gap:16px}
 .g3 h3{font-size:20px;line-height:28px}
 .card{padding:20px}
 .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .foot-grid{grid-template-columns:1fr 1fr}
 .h1-sm{font-size:48px;line-height:52px}
 .h1,.h1-sm{font-size:48px;line-height:52px}
 .price{font-size:32px;line-height:36px}
}
@media (max-width:767px){
 .hdr{min-height:64px}
 .logo{height:32px}
 .hdr-cta,.hdr-login{display:none}
 .wrap{padding-left:16px;padding-right:16px}
 .sec{padding-top:48px;padding-bottom:48px}
 .sec-hero{padding-top:40px;padding-bottom:48px}
 .sec-footer{padding-top:48px;padding-bottom:32px}
 .h1{font-size:36px;line-height:40px}
 .h2{font-size:36px;line-height:40px}
 .lead{font-size:16px;line-height:24px}
 .hero-grid,.g2,.g3,.g4,.faq-grid,.foot-grid{grid-template-columns:minmax(0,1fr)}
 .hero-grid,.g2{gap:32px}
 .hero-shots{margin-bottom:-48px}
 .hero-shot-1{width:220px;height:360px}
 .hero-shot-2,.shot.product-shot.hero-shot-2{display:none}
 .btn-row{flex-direction:column;align-items:stretch}
 .btn{width:100%}
 .btn-ghost{min-height:44px}
 .btn.only-phone{display:inline-flex}
 .btn.not-phone{display:none}
 .card{padding:20px}
 .lockup-full{display:none}
 .lockup-small{display:block}
 .h1-sm{font-size:36px;line-height:40px}
 .hero-grid,.g2,.g3,.faq-grid,.foot-grid{grid-template-columns:minmax(0,1fr)}
 .h1,.h1-sm{font-size:36px;line-height:40px}
 .g2-flip{display:flex;flex-direction:column-reverse}
 .tbl th,.tbl td{padding:12px 8px;font-size:14px;line-height:20px}
 .g3,.faq-grid,.foot-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-height:520px) and (orientation:landscape){
 .hdr{min-height:56px}
 .sec-hero{padding-top:20px;padding-bottom:24px}
 .hero-grid{grid-template-columns:1.25fr 1fr;gap:24px;align-items:center}
 .hero-copy{gap:12px}
 .hero-eyebrow{display:none}
 .hero-micro{display:none}
 .h1{font-size:34px;line-height:38px}
 .lead{font-size:15px;line-height:22px}
 .hero-shots{margin-bottom:-24px;justify-content:flex-end}
 .hero-shot-1{width:170px;height:270px;padding:16px 10px 10px;border-radius:16px 16px 0 0}
 .hero-shot-2,.shot.product-shot.hero-shot-2{display:none}
 .btn{min-height:44px}
 .hero-eyebrow,.hero-pills{display:none}
 .h1-sm{font-size:30px;line-height:34px}
 .hero-pills{display:none}
 .h1,.h1-sm{font-size:30px;line-height:34px}
 .hero-media{max-width:280px;margin-left:auto}
 .hero-eyebrow,.hero-micro{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}
.btn:focus-visible,.nav a:focus-visible,.link:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff,0 0 0 4px #153f34}
.on-dark .btn:focus-visible{box-shadow:0 0 0 2px #153f34,0 0 0 4px #e9967a}
/* Mobile menu (site.js) — not drawn in the proofs; built per design/RESPONSIVE.md. */
.menu-panel{position:fixed;left:0;right:0;bottom:0;z-index:10;overflow-y:auto;background:#f6faf8;border-top:1px solid #dde5e1;padding:8px 24px 24px;box-sizing:border-box;font-family:Manrope,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
.menu-panel[hidden]{display:none}
.menu-panel nav,.menu-actions{display:flex;flex-direction:column;max-width:1200px;margin:0 auto}
.menu-actions{margin-top:16px}
.menu-panel a{display:flex;align-items:center;min-height:44px;font-size:16px;line-height:24px;font-weight:600;color:#153f34;text-decoration:none;border-bottom:1px solid #dde5e1}
.menu-panel a[aria-current="page"]{color:#3d7461}
.menu-panel a:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff,0 0 0 4px #153f34}
html.menu-open,html.menu-open body{overflow:hidden}
@media (max-width:767px){.menu-panel{padding-left:16px;padding-right:16px}}
@media (min-width:1024px){.menu-panel{display:none}}
/* Phones held sideways (below 768, short landscape): the hero copy takes the full width so the primary button stays above the fold. */
@media (max-width:767px) and (max-height:520px) and (orientation:landscape){
 .hero-grid{grid-template-columns:minmax(0,1fr)}
 .hero-media,.hero-shots{display:none}
}

/* Captures from the running app; keep the screenshot inside each proof slot. */
.shot.product-shot{padding:0;overflow:hidden;display:block}
.shot.product-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.shot.product-shot.crop-entry img,.shot.product-shot.crop-type img,.shot.product-shot.crop-receipts img,.shot.product-shot.crop-detail img,.shot.product-shot.crop-summary img,.shot.product-shot.crop-report img{object-fit:contain;object-position:center}
.shot.product-shot.shot-photo{background:#ffffff}

/* Keep secondary benefits concise, especially on phones. */
.compact-kinds .card{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:8px 12px!important;padding:20px}
.compact-kinds .card>span{grid-row:1/3}
.compact-kinds .card p{grid-column:2;font-size:14px!important;line-height:21px!important}
.compact-benefits .card{gap:8px!important}
.compact-benefits .card h3{font-size:20px!important;line-height:28px!important}
.store-badge{display:inline-flex;align-items:center}
.store-badge img{display:block;width:auto;height:48px;max-width:100%}
@media(max-width:767px){
 .compact-kinds{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .compact-kinds .card{grid-template-columns:minmax(0,1fr);padding:16px}
 .compact-kinds .card>span{grid-row:auto}
 .compact-kinds .card p{grid-column:1}
 .compact-benefits{gap:12px}
}
.workflow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.workflow-step{display:flex;gap:16px;align-items:flex-start;padding:18px;text-align:left;font:inherit;color:inherit;background:white;border:1px solid #dde5e1;border-radius:16px;cursor:pointer}
.workflow-step>span:last-child{display:grid;gap:4px}
.workflow-step strong{font-size:18px;line-height:26px}
.workflow-step span span{font-size:14px;line-height:21px;color:#626b67}
.step-number{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:#e9f5ef;color:#153f34;font-weight:700}
.workflow-step[aria-selected=true]{border-color:#3d7461;box-shadow:0 0 0 1px #3d7461}
.workflow-step[aria-selected=true] .step-number{background:#153f34;color:white}
.workflow-step:focus-visible{outline:3px solid #9c5640;outline-offset:3px}
.workflow-panel{max-height:460px;background:white;border:1px solid #dde5e1;border-radius:16px}
.workflow-panel img{object-fit:contain!important;max-height:460px}
.workflow-panel[hidden]{display:none}
.workflow-panels{display:grid;gap:16px;min-width:0}
@media(max-width:767px){.workflow{grid-template-columns:minmax(0,1fr);gap:20px}.workflow-panel,.workflow-panel img{max-height:360px}}
.entry-method{display:flex;flex-direction:column;gap:12px;padding:20px}
.capture-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#626b67;margin-top:auto}
.entry-method .shot{aspect-ratio:1/1!important;background:#f6faf8;border:1px solid #cbd8d1;box-shadow:0 6px 18px #153f3410;border-radius:12px!important}
.entry-method .shot img{object-fit:cover!important;object-position:top!important}
.entry-capture{max-height:360px}
.report-preview{padding:0;max-height:440px;overflow:hidden;border-radius:16px;background:white}
.report-preview img{object-fit:contain!important}
.entry-method .shot img{object-position:bottom!important}

.transfer-video{margin:0;min-width:0}
.transfer-video video{box-sizing:border-box;display:block;width:100%;height:auto;border:1px solid #dde5e1;border-radius:12px;background:white}
.transfer-video figcaption{margin-top:10px;font-size:13px;line-height:20px;color:inherit}

.plan-prices{margin:0;font-size:20px;line-height:30px;font-weight:700;color:#153f34}
.compact-cta{padding-top:32px;padding-bottom:32px}
.compact-cta .h2{font-size:clamp(24px,3vw,34px);line-height:1.25}

.workflow-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.workflow-controls[hidden]{display:none}
.workflow-controls button,.video-controls button{min-height:44px;padding:8px 14px;font:inherit;font-weight:600;color:#153f34;background:#fff;border:1px solid #3d7461;border-radius:8px;cursor:pointer}
.workflow-controls button:disabled{opacity:.45;cursor:default}
.workflow-controls [data-step-status]{font-size:14px;text-align:center}
.workflow-display{min-width:0}
@media(max-width:767px){
 .workflow-ready .steps{gap:8px}
 .workflow-ready .workflow-step{padding:10px 12px;gap:10px;align-items:center;border-radius:10px}
 .workflow-ready .workflow-step .step-number{width:32px;height:32px;min-width:32px;font-size:16px}
 .workflow-ready .workflow-step strong{font-size:16px;line-height:22px}
 .workflow-ready .workflow-step[aria-selected=false] span span{display:none}
 .workflow-ready .workflow-step span span{font-size:13px;line-height:19px}
 .workflow-ready{gap:12px}
 .workflow-ready .workflow-panel,.workflow-ready .workflow-panel img{max-height:260px}
}
.video-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.video-controls[hidden]{display:none}
.video-status{font-size:14px}
@media(max-width:767px){
 .workflow-ready .workflow-panel{height:260px}
 .workflow-ready .workflow-panel img{object-fit:cover!important;object-position:center}
 .workflow-ready #workflow-panel-1 img{object-position:bottom}
 .workflow-ready #workflow-panel-3 img{object-position:top}
}

/* Mobile readers should meet the next benefit before another full-height app
   capture. Keep the copy readable and let longer text grow naturally. */
@media(max-width:767px){
 .sec:not(.sec-hero){padding-top:32px;padding-bottom:32px}
 .sec:not(.sec-hero)>.wrap{gap:24px!important}
 .sec .g2{gap:20px}
 .sec .card{padding:16px}
 .sec .g3,.sec .g4{gap:12px}
 .sec-footer{padding-top:32px;padding-bottom:24px}
 .entry-method{display:grid;grid-template-columns:minmax(0,1fr) 96px;grid-template-rows:auto auto 1fr;gap:8px 16px;padding:16px}
 .entry-method>div:first-child{grid-column:1;flex-wrap:wrap;gap:8px!important}
 .entry-method>div:first-child>span{width:32px!important;height:32px!important}
 .entry-method h3{font-size:20px!important;line-height:28px!important}
 .entry-method>p,.entry-method>.capture-label{grid-column:1}
 .entry-method>.capture-label{margin-top:0}
 .entry-method .shot{grid-column:2;grid-row:1/4;width:96px;height:160px;max-height:none;aspect-ratio:auto!important;align-self:start;box-shadow:none}
}
@media(max-width:359px){
 .entry-method{grid-template-columns:minmax(0,1fr) 72px;column-gap:12px}
 .entry-method .shot{width:72px;height:144px}
}

.entry-preview{display:block;width:100%;height:100%}
.entry-preview:focus-visible{outline:3px solid #153f34;outline-offset:-3px}
