/* Accounting is the product; TallyAI demonstrates help within that system. */
.home-page .hero { padding: 0 var(--gutter) 48px; }
.hero-layout{max-width:calc(var(--content-width) - 2 * var(--gutter));margin-inline:auto;container-type:inline-size}
.home-page .hero::before { display: none; }
.home-page .hero-inner {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(36px, 5vw, 72px);
  min-height: 650px;
  padding-block: 56px 64px;
  align-items: start;
}
.home-page .hero-copy { padding: 0; }
.home-page .hero h1 { font-size: clamp(3.5rem, 5vw, 4.75rem); line-height: 1.08; overflow-wrap: anywhere; }
.home-page .hero h1 span { white-space: normal; }
.home-page .hero-description { max-width: 37ch; margin: 24px 0 0; font-size: 1.25rem; line-height: 1.6; }
.hero-copilot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 24px 0 26px; }
.hero-copilot img { width: 66px; height: 66px; object-fit: contain; flex: none; }
.hero-copilot p { flex: 1 1 12em; min-width: 0; color: #e2f4e9; font-size: 0.9375rem; line-height: 1.5; }
.hero-copilot strong { display: block; color: var(--paper); font-size: 1.25rem; margin-bottom: 3px; }
.mascot-greeting { position: relative; flex: none; width: 120px; height: calc(120px + 1.25rem); }
.mascot-art { position: relative; width: 120px; height: 120px; }
.hero-copilot .mascot-art img { position: absolute; inset: 0; width: 100%; height: 100%; }
.mascot-arm { transform-origin: 62% 52%; }
.mascot-body { pointer-events: none; }
.mascot-hello { position: absolute; top: 4px; right: 0; padding: 5px 9px; border-radius: 7px; background: var(--paper); color: var(--ink); font-size: 0.875rem; font-weight: 700; line-height: 1.2; }
.mascot-hello::after { content: ''; position: absolute; bottom: -5px; left: 9px; border-top: 6px solid var(--paper); border-right: 6px solid transparent; }
.mascot-replay { position: absolute; inset: 0; width: 100%; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--paper); cursor: pointer; touch-action: manipulation; }
.mascot-replay span { position: absolute; bottom: 0; left: 0; width: 100%; font-size: 0.875rem; line-height: 1.25rem; text-decoration: underline; text-underline-offset: 3px; }
.mascot-replay:hover span { color: var(--accent-mint); }
.mascot-replay:focus-visible { outline: 3px solid #bf8220; outline-offset: 4px; }
.home-page .hero-actions { gap: 12px 22px; }
.home-page .hero-actions .button { font-size: 1.125rem; }
.home-page .hero .hero-actions .text-link { color: var(--paper); font-size: 1.0625rem; }
.home-page .hero .trial-note { margin-top: 14px; }
.hero .home-ai-chat { width: 100%; color: var(--ink); align-self: start; }
.hero .chat-identity h2 { font-family: Figtree, Arial, sans-serif; font-size: 1.125rem; line-height: 1.4; letter-spacing: 0; word-spacing: normal; }
.home-reports { min-width: 0; width: 100%; max-width: 464px; justify-self: center; }
.home-reports > figcaption { color: var(--secondary); font-size: .9375rem; }
.home-reports .screenshot-open { color: var(--green); }
.home-page .home-capabilities { padding-block: 76px 82px; }
.home-page .capabilities-intro { align-items: center; margin-bottom: 36px; }
.home-page .capabilities-intro h2 { font-size: clamp(2.125rem, 3.4vw, 3rem); max-width: 22ch; }
.capabilities-support { max-width: 65ch; margin: -12px 0 28px; color: var(--secondary); font-size: 1.125rem; line-height: 1.6; }
.home-page .capability-links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 40px; }
.home-page .capability-links > a { padding: 22px 0 12px; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.home-page .capability-links .cap-icon { width: 44px; height: 44px; border-radius: 11px; margin-bottom: 16px; }
.home-page .capability-links .cap-icon img { width: 26px; height: 26px; }
.home-page .capability-links h3 { font-size: 1.25rem; max-width: 25ch; }
.home-page .capability-links p { font-size: 1.0625rem; max-width: 32ch; }
.home-page .capability-links .arrow { margin-top: 12px; }
.home-ai {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: 8%;
  padding-inline: max(var(--gutter), calc((100vw - var(--content-width))/2 + var(--gutter)));
  background: var(--mint);
}
.home-ai-copy h2 { font-size: clamp(2.1875rem, 3.4vw, 3.125rem); max-width: 18ch; }
.home-ai-copy > p { margin-top: 24px; font-size: 1.25rem; line-height: 1.6; color: var(--secondary); max-width: 36ch; }
.home-ai-copy .text-link { margin-top: 18px; font-size: 1.0625rem; }
.home-ai-chat { color: var(--ink); min-width: 0; }
.home-ai-chat .task-options { grid-template-columns: 1fr; }
.home-ai-chat .task-picker { padding: 26px 24px 28px; }
.home-ai-chat .task-choice { min-height: 66px; }
.home-ai-chat .chat-controls { padding-inline: 24px; }
.home-proof .proof-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;align-items:start;margin-bottom:36px}
.home-proof h2{font-size:clamp(2.125rem,3.4vw,3rem);line-height:1.2}
.proof-intro>p{font-size:1.125rem;line-height:1.6;color:var(--secondary);max-width:53ch}
.proof-stages{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.proof-stages h3{font-family:Figtree,Arial,sans-serif;font-size:1.3125rem;line-height:1.4;margin-bottom:18px;letter-spacing:0;word-spacing:normal}
.proof-invoice .invoice-visual{margin:16px}
.proof-invoice .invoice-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.proof-invoice .screenshot-frame .invoice-description{width:100%;max-width:400px;align-self:end}
.proof-invoice .screenshot-frame .invoice-quantity{width:100%;max-width:360px}
.proof-invoice .screenshot-frame .invoice-totals{grid-column:1 / -1;width:100%;max-width:640px}
.proof-approval{max-width:500px}
.proof-approval .native-phone-crop{margin:16px}
.home-proof [tabindex],.home-ai [tabindex]{scroll-margin-top:12px}
.home-page .home-companion { background: var(--paper); }
.home-page .home-companion::before { display: none; }
/* The mascot greets once; task playback remains on demand. */
@view-transition { navigation: none; }
@media (max-width: 1100px) and (min-width: 1001px) {
  .home-page .hero h1 { font-size: 3.625rem; }
  .home-page .hero-inner { gap: 32px; }
}
@media (max-width: 1000px) {
  .home-page .hero-inner { grid-template-columns: 1fr; min-height: 0; gap: 34px; padding-block: 44px 40px; }
  .home-page .hero-copy { max-width: 700px; }
  .home-page .hero h1 { font-size: 4rem; }
  .home-page .hero-description { max-width: 48ch; }
  .hero .home-ai-chat { max-width: 700px; justify-self: start; }
  .home-ai { gap: 5%; }
  .home-page .capability-links { gap: 24px 28px; }
}
@media (max-width: 700px) {
  .home-proof .proof-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}
  .proof-stages{grid-template-columns:1fr;gap:32px}
  .proof-invoice .invoice-details{grid-template-columns:1fr}
  .proof-invoice .screenshot-frame .invoice-description,
  .proof-invoice .screenshot-frame .invoice-quantity,
  .proof-invoice .screenshot-frame .invoice-totals{width:100%;max-width:360px}
  .proof-stages h3{font-size:1.1875rem;margin-bottom:14px}
  .home-page .hero { padding-bottom: 28px; }
  .home-page .hero-inner { display: grid; padding-block: 32px 26px; gap: 28px; }
  .home-page .hero h1 { font-size: clamp(1.625rem, 12vw, 3.625rem); line-height: 1.1; }
  .home-page .hero-description { font-size: 1.125rem; margin-top: 20px; }
  .hero-copilot { margin-block: 20px 22px; gap: 10px; }
  .hero-copilot img { width: 58px; height: 58px; }
  .mascot-greeting { width: 104px; height: calc(104px + 1.25rem); }
  .mascot-art { width: 104px; height: 104px; }
  .hero-copilot strong { font-size: 1.125rem; }
  .hero-copilot p { font-size: 0.875rem; }
  .home-page .hero-actions .button { font-size: 1.0625rem; }
  .home-page .hero .hero-actions .text-link { font-size: 1rem; }
  .home-page .home-capabilities { padding-block: 52px 58px; }
  .home-page .capabilities-intro { margin-bottom: 26px; }
  .home-page .capabilities-intro h2 { font-size: 2.125rem; }
  .home-page .capability-links { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8em), 1fr)); gap: 22px; }
  .home-page .capability-links > a { padding-top: 18px; }
  .home-page .capability-links h3 { font-size: 1.1875rem; }
  .home-page .capability-links p { font-size: 1rem; }
  .home-ai { grid-template-columns: 1fr; gap: 28px; }
  .home-ai-copy h2 { font-size: 2.125rem; }
  .home-ai-copy > p { font-size: 1.125rem; margin-top: 20px; }
  .home-ai-copy .text-link { font-size: 1rem; margin-top: 14px; }
  .home-ai-chat .task-picker { padding: 24px 16px; }
  .home-ai-chat .task-picker h3 { font-size: 1.3125rem; }
  .home-ai-chat .task-choice { font-size: 1rem; }
  .home-ai-chat .chat-controls { padding-inline: 16px; }
}
@container(max-width:50em){.home-page .hero-inner{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce) {
  .mascot-arm { transform: none !important; }
}
