/* Clear Anvil's top-level service pages. The homepage keeps its established
   light sheet in detail.css; these pages share the same ink, clay, paper and
   signal-green language without changing the demo or article surfaces. */
:root{
  --page-ground:#f6f6f3;
  --page-panel:#fff;
  --page-clay:#f4f4f1;
  --page-ink:#1c231a;
  --page-dim:rgba(2,8,1,.7);
  --page-muted:rgba(2,8,1,.6);
  --page-line:rgba(2,8,1,.13);
  --page-live:#2f7a26;
  --page-green:#3f8f33;
  --page-wash:#eaf6e6;
  --page-data:'Barlow','Helvetica Neue',Arial,sans-serif;
}

.page-body{background:var(--page-ground);color:var(--page-ink)}
.page-body .label{color:var(--page-muted)}
.page-body .nav{color:#fff}
.page-body .nav .brand{color:#fff}
.page-body .nav-links a:hover{color:#fff}
.page-body .nav-plain:hover{color:#fff}
.page-body .nav-cta{color:var(--ink)}
.page-body :focus-visible{outline-color:var(--page-ink)}
.page-body .contact-section :focus-visible{outline-color:#fff}
.page-body .footer :focus-visible{outline-color:var(--blue)}
.footer-top{grid-template-columns:minmax(0,1.45fr) repeat(4,minmax(0,1fr))}

.page-hero{padding:clamp(58px,9vw,112px) 0 clamp(48px,7vw,82px);border-bottom:1px solid var(--page-line)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(32px,7vw,104px);align-items:end}
.page-hero h1{font-size:clamp(42px,7vw,92px);line-height:1.02;letter-spacing:-.04em;max-width:12ch;text-wrap:balance}
.page-hero h1 .accent{color:var(--page-live)}
.page-hero-dek{max-width:46ch;color:var(--page-dim);font-size:clamp(17px,1.8vw,21px);line-height:1.5}
.page-hero-aside{border-top:1px solid var(--page-line);padding-top:18px}
.page-hero-aside p{margin-top:14px;color:var(--page-dim);font-size:16px;max-width:34ch}
.page-status{display:inline-flex;align-items:center;gap:8px;color:var(--page-live);font:500 12px/1.4 var(--page-data);letter-spacing:.12em;text-transform:uppercase}
.page-status i{width:7px;height:7px;background:var(--page-green);display:inline-block}

.page-section{padding:clamp(58px,9vw,112px) 0;border-bottom:1px solid var(--page-line)}
.page-section.alt{background:var(--page-panel)}
.page-section-head{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2.1fr);gap:clamp(24px,4vw,60px);align-items:start}
.page-section-head>h2{grid-column:2;font-size:clamp(30px,4.6vw,62px);line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
.page-section-head>p{grid-column:2;margin-top:24px;max-width:58ch;color:var(--page-dim);font-size:17px}
.page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--page-line);border:1px solid var(--page-line);margin-top:clamp(42px,6vw,72px)}
.page-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:var(--page-panel);padding:clamp(22px,3vw,34px);transition:background .18s,transform .18s}
.page-card:hover{background:var(--page-clay);transform:translateY(-2px)}
.page-card h2,.page-card h3{margin-top:18px;font-size:clamp(21px,2.3vw,31px);line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.page-card p{margin-top:14px;color:var(--page-dim);font-size:16px;line-height:1.55}
.page-card .page-arrow{margin-top:auto;padding-top:28px;color:var(--page-live);font:500 14px/1.4 var(--page-data)}
.page-card .page-arrow:hover{text-decoration:underline;text-underline-offset:4px}
.page-card.tinted{background:var(--page-wash)}
.page-card.tinted:hover{background:#def0d9}
.page-card .page-status{margin-top:auto;padding-top:24px}

.page-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin-top:clamp(42px,6vw,72px);border-top:1px solid var(--page-line)}
.page-list li{padding:22px 0;border-bottom:1px solid var(--page-line);font-size:17px;color:var(--page-dim)}
.page-list li strong{display:block;color:var(--page-ink);font-size:18px;font-weight:500;margin-bottom:7px}
.page-list li::before{content:'+';display:inline-block;color:var(--page-live);font:500 18px/1 var(--page-data);margin-right:10px}

.page-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--page-line);border:1px solid var(--page-line);margin-top:clamp(42px,6vw,72px)}
.page-step{background:var(--page-panel);padding:26px 22px 30px}
.page-step .idx{display:block;color:var(--page-live);font:500 13px/1 var(--page-data);letter-spacing:.1em}
.page-step h3{margin-top:22px;font-size:21px;line-height:1.15;letter-spacing:-.02em}
.page-step p{margin-top:12px;color:var(--page-dim);font-size:15.5px}

.page-note{margin-top:clamp(28px,4vw,48px);max-width:78ch;border-left:2px solid var(--page-live);padding:5px 0 5px 18px;color:var(--page-dim);font-size:15px;line-height:1.55}
.page-note strong{color:var(--page-ink);font-weight:500}
.page-cta{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:clamp(30px,4vw,46px);margin-top:clamp(42px,6vw,72px);background:var(--page-wash);border:1px solid rgba(47,122,38,.24)}
.page-cta h2{font-size:clamp(26px,3.6vw,46px);line-height:1.08;letter-spacing:-.03em}
.page-cta p{margin-top:12px;max-width:52ch;color:var(--page-dim);font-size:16px}
.page-cta .button{flex:none;margin-top:0;background:var(--page-ink);color:#fff}
.page-cta .button:hover{background:#2d3a2d}

.home-services{padding-top:clamp(60px,8vw,102px)}
.home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--page-line);border:1px solid var(--page-line);margin-top:clamp(40px,5vw,64px)}
.home-service-card{display:flex;flex-direction:column;min-width:0;background:var(--page-panel);padding:28px 26px 30px;transition:background .18s,transform .18s}
.home-service-card:hover{background:var(--page-clay);transform:translateY(-2px)}
.home-service-card h3{margin-top:18px;font-size:clamp(21px,2.3vw,30px);line-height:1.12;letter-spacing:-.025em}
.home-service-card p{margin-top:13px;color:var(--page-dim);font-size:16px}
.home-service-card span:last-child{margin-top:auto;padding-top:26px;color:var(--page-live);font:500 14px/1.4 var(--page-data)}

/* Invoice evidence service: extend the existing service-page palette. */
.invoice-feature{padding:clamp(56px,7vw,96px) 0;background:#fff;color:var(--page-ink);border-bottom:1px solid var(--page-line);scroll-margin-top:100px}
.invoice-feature-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,7vw,100px)}
.invoice-feature .label,.invoice-example .label{color:var(--page-muted)}
.invoice-feature h2{font-size:clamp(32px,4.6vw,62px);line-height:1.07;letter-spacing:-.03em;margin:20px 0 24px;text-wrap:balance}
.invoice-feature p,.invoice-feature dd,.invoice-example p,.invoice-scope p{font-size:1rem;line-height:1.6;color:var(--page-dim);max-width:58ch}
.invoice-feature .button{background:var(--page-ink);color:#fff;margin-top:28px}
.invoice-feature .button:hover{background:#2d3a2d}
.invoice-service-label{display:inline-block;font:500 .875rem/1.5 var(--page-data);color:var(--page-live);padding-bottom:12px}
.invoice-feature-details dl{border-top:1px solid var(--page-line)}
.invoice-feature-details dl>div{padding:20px 0;border-bottom:1px solid var(--page-line)}
.invoice-feature dt{font-size:1.125rem;font-weight:500;margin-bottom:6px}
.invoice-feature dd,.invoice-example dd{margin:0}
.invoice-feature p.invoice-small{font-size:.9375rem;margin-top:20px}
.invoice-service{scroll-margin-top:90px}
.invoice-service-topline{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;margin-top:32px;border-bottom:1px solid var(--page-line);padding-bottom:12px}
.invoice-service-topline a{font-size:1rem;text-decoration:underline;text-underline-offset:4px}
.invoice-service .page-grid{margin-top:32px}
.invoice-example{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);margin-top:44px;padding:clamp(24px,4vw,42px);background:var(--page-panel);border:1px solid var(--page-line)}
.invoice-example h3,.invoice-scope h3{font-size:clamp(22px,2.6vw,32px);line-height:1.17;letter-spacing:-.02em;margin:16px 0}
.invoice-example-records{min-width:0;border-top:1px solid var(--page-line)}
.invoice-example-records>div{padding:16px 0;border-bottom:1px solid var(--page-line)}
.invoice-example-records dt{font:500 .875rem/1.5 var(--page-data);color:var(--page-muted);margin-bottom:5px}
.invoice-example-records dd{font-size:1rem;line-height:1.5;overflow-wrap:anywhere}
.invoice-example-records .invoice-example-finding{border-left:3px solid #9a5915;padding-left:16px;margin-top:12px;background:#fff8ee}
.invoice-example-finding dt{color:#78420b}
.invoice-scope{display:grid;grid-template-columns:1fr 1fr;gap:32px 56px;margin-top:32px}
.invoice-feature a:focus-visible,.invoice-service a:focus-visible{outline:3px solid #22599f;outline-offset:5px}
@media(max-width:760px){.invoice-feature-grid,.invoice-example,.invoice-scope{grid-template-columns:1fr}.invoice-feature .button{white-space:normal;text-align:left}.invoice-service .page-cta .button{white-space:normal}}

@media(max-width:1080px){
  .page-hero-grid{grid-template-columns:1fr;gap:34px}
  .page-hero h1{max-width:16ch}
  .page-section-head{grid-template-columns:1fr;gap:0}
  .page-section-head>h2,.page-section-head>p{grid-column:1}
  .page-grid{grid-template-columns:1fr}
  .page-steps{grid-template-columns:1fr 1fr}
  .home-service-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:repeat(4,minmax(0,1fr))}
  .footer-top>div:first-child{grid-column:1 / -1}
}
@media(max-width:760px){
  .page-hero{padding-top:52px}
  .page-hero h1{font-size:clamp(40px,11vw,66px)}
  .page-section-head>h2{font-size:clamp(31px,9vw,48px)}
  .page-list,.page-steps{grid-template-columns:1fr}
  .page-card{padding:24px 20px 26px}
  .page-card .page-arrow,.page-card .page-status{padding-top:22px}
  .page-cta{display:block}
  .page-cta .button{width:100%;justify-content:space-between;margin-top:24px}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){.footer-top{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .page-card,.home-service-card{transition:none}
}
@media print{
  .page-body{background:#fff!important;color:#000!important}
  .page-hero,.page-section,.page-section.alt{background:#fff!important;color:#000!important}
  .page-card,.page-step,.home-service-card{break-inside:avoid;background:#fff!important;color:#000!important}
  .page-cta{background:#fff!important;border:1px solid #999}
}

/* Invoice handoff enquiry: one clear, bounded starting point. */
.handoff-check{scroll-margin-top:100px;margin-top:40px;padding:clamp(24px,4vw,48px);border:1px solid var(--page-line);background:var(--page-panel)}
.handoff-check-intro h2{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-.025em;margin:14px 0 18px}
.handoff-check p{max-width:70ch;font-size:1rem;line-height:1.7}
.handoff-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0;padding:0;list-style:none;counter-reset:handoff}
.handoff-questions li{counter-increment:handoff;border-top:1px solid var(--page-line);padding-top:18px}
.handoff-questions li:before{content:"0" counter(handoff);display:block;color:var(--page-muted);font:500 .875rem/1.5 var(--page-data);margin-bottom:12px}
.handoff-questions strong,.handoff-questions span{display:block;font-size:1rem;line-height:1.6}
.handoff-questions strong{margin-bottom:6px}
.handoff-result{border-top:1px solid var(--page-line);padding-top:24px}
.handoff-result h3{font-size:1.375rem;line-height:1.3;margin:0 0 10px}
.handoff-actions{display:flex;align-items:center;gap:20px 28px;flex-wrap:wrap;margin-top:26px}
.handoff-actions .button{white-space:normal}
.handoff-check .handoff-note{font-size:.9375rem;color:var(--page-muted);margin:22px 0 0}
.handoff-note a,.invoice-small a{text-decoration:underline;text-underline-offset:3px}
#invoice-example{scroll-margin-top:100px}
@media(max-width:760px){.handoff-questions{grid-template-columns:1fr;gap:20px}.handoff-actions{align-items:flex-start;flex-direction:column}.handoff-actions .button{width:100%;justify-content:space-between}}
