/* Application hub and pilot detail. Shared UI contract: docs/uiux-visual-spec.md. */
.application-hero { padding:56px 0 48px; background:var(--brand-green-050); border-bottom:1px solid var(--line-soft); }
.application-hero>.container { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; align-items:center; }
.application-hero-copy h1 { font-size:clamp(34px,3.1vw,44px); line-height:1.2!important; margin:16px 0 22px; max-width:none; text-align:left; }
.application-hero-copy>p { color:var(--ink-700); font-size:17px; max-width:58ch; }
.application-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:28px; }
.application-text-link { display:inline-flex; align-items:center; min-height:44px; gap:12px; color:var(--brand-green-700); font-size:14px; font-weight:600; }
.application-hero figure { margin:0; min-width:0; }
.application-hero figure img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:12px; }
.application-hero figcaption { margin-top:10px; font-size:12px; line-height:1.5; color:var(--ink-500); }
.application-intro { padding:40px 0; border-bottom:1px solid var(--line-soft); }
.application-intro>.container { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:48px; align-items:start; }
.application-intro h2 { font-size:23px; margin:0; }
.application-intro p { margin:0; max-width:76ch; }
.application-heading { max-width:800px; margin-bottom:32px; }
.application-heading h2 { margin:0 0 14px; font-size:clamp(26px,2.6vw,36px); }
.application-heading p { color:var(--ink-500); max-width:68ch; }
.application-heading .section-eyebrow { display:block; margin-bottom:12px; }
.application-card-grid,.application-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.application-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line-soft); border-radius:12px; color:var(--ink-900); background:#fff; transition:border-color 160ms; }
.application-card:hover { border-color:var(--brand-green-700); color:var(--ink-900); }
.application-card-media { position:relative; }
.application-card-media img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.application-card-media>span { position:absolute; left:16px; bottom:16px; padding:5px 9px; border-radius:4px; background:#fff; color:var(--brand-green-800); font-size:11px; font-weight:600; }
.application-card-copy { flex:1; display:flex; flex-direction:column; padding:24px; }
.application-card h3 { margin:0 0 12px; font-size:22px; }
.application-card p { font-size:15px; color:var(--ink-500); margin:0 0 24px; flex:1; }
.application-card-copy>span { font-size:14px; font-weight:650; color:var(--brand-green-700); }
.application-note { font-size:13px; color:var(--ink-500); margin:16px 0 0; }
.application-auto-summary { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:32px; margin-top:32px; border-top:1px solid var(--line-soft); }
.application-auto-summary h3 { font-size:20px; margin-bottom:10px; }
.application-auto-summary p { max-width:76ch; font-size:14px; }
.application-auto-summary>a { flex:none; max-width:30%; min-height:44px; display:inline-flex; align-items:center; color:var(--brand-green-700); font-size:14px; font-weight:600; }
.application-issues,.application-method,.application-reading { background:var(--surface-050); border-block:1px solid var(--line-soft); }
.application-issue-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
.application-issue-grid article { display:flex; flex-direction:column; padding-top:20px; border-top:2px solid var(--brand-green-700); min-width:0; }
.application-issue-grid h3 { font-size:18px; margin-bottom:12px; }
.application-issue-grid p { font-size:14px; flex:1; margin-bottom:16px; }
.application-issue-grid a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; font-weight:600; color:var(--brand-green-700); }
.application-context { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; padding-block:32px; border-bottom:1px solid var(--line-soft); }
.application-context:first-child { padding-top:0; }
.application-context:last-child { border-bottom:0; padding-bottom:0; }
.application-context h3 { font-size:25px; margin:0 0 16px; }
.application-context .btn-cta { margin-top:20px; }
.application-series { display:flex; flex-wrap:wrap; gap:10px; }
.application-series a { display:inline-flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; padding:10px 16px; border:1px solid var(--line-soft); border-radius:8px; font-size:14px; background:#fff; color:var(--brand-green-700); }
.application-series a:hover { border-color:var(--brand-green-700); }
.application-method ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; padding:0; margin:0 0 32px; }
.application-method li { margin:0; min-width:0; padding-top:20px; border-top:1px solid var(--line-soft); }
.application-method li>span { color:var(--brand-green-700); font-size:13px; font-variant-numeric:tabular-nums; }
.application-method h3 { font-size:19px; margin:12px 0; }
.application-method li p { font-size:14px; }
.application-guide-grid>a { display:flex; flex-direction:column; padding:24px; background:#fff; border:1px solid var(--line-soft); border-radius:12px; }
.application-guide-grid>a:hover { border-color:var(--brand-green-700); }
.application-guide-grid h3 { font-size:21px; margin:0 0 16px; }
.application-guide-grid p { flex:1; margin-bottom:24px; font-size:15px; color:var(--ink-500); }
.application-guide-grid span { font-size:14px; font-weight:600; color:var(--brand-green-700); }
.application-other-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 40px; }
.application-other-grid article { border-top:1px solid var(--line-soft); padding-top:20px; }
.application-other-grid h3 { font-size:20px; margin:0 0 12px; }
.application-other-grid p { font-size:15px; margin-bottom:12px; }
.application-other-grid a,.application-printing a { min-height:44px; display:inline-flex; align-items:center; color:var(--brand-green-700); font-size:14px; font-weight:600; }
.application-printing { padding:28px; border:1px solid var(--line-soft); background:var(--brand-green-050); margin-top:40px; border-radius:12px; }
.application-printing h3 { font-size:23px; margin-bottom:12px; }
.application-printing>div { display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:12px; }
.application-checklist-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 40px; }
.application-checklist-grid>div { padding-top:20px; border-top:1px solid var(--line-soft); }
.application-checklist-grid h3 { font-size:20px; margin:0 0 12px; }
.application-checklist-grid p { font-size:15px; }
.application-contact { background:var(--brand-green-900); }
.application-contact>.container { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.application-contact h2 { color:#fff; margin-bottom:16px; font-size:clamp(26px,2.8vw,36px); }
.application-contact p { max-width:68ch; color:#e0eae5; }
.application-contact .btn-cta { flex:none; max-width:32%; background:#fff; color:var(--brand-green-900); border-color:#fff; }
.application-contact a:focus-visible { outline-color:#fff; }
.application-local-nav { display:flex; flex-wrap:wrap; gap:8px 24px; padding-block:16px; border-bottom:1px solid var(--line-soft); }
.application-local-nav a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; color:var(--brand-green-700); }
.application-process-table { width:100%; border-collapse:collapse; min-width:660px; }
.application-process-table th,.application-process-table td { text-align:left; vertical-align:top; padding:20px; border-bottom:1px solid var(--line-soft); font-size:15px; }
.application-process-table thead { background:var(--brand-green-050); }
.application-process-table tbody th { width:22%; }
.application-process-table tr:last-child>* { border-bottom:0; }
.application-boundary { border-left:3px solid var(--brand-green-700); background:var(--surface-050); padding:24px; margin-top:28px; }
.application-boundary h3,.application-series-heading { font-size:21px; margin-bottom:12px; }
.application-series-heading { margin-top:32px; }
.application-faq details { border-top:1px solid var(--line-soft); padding:4px 0; }
.application-faq details:last-child { border-bottom:1px solid var(--line-soft); }
.application-faq summary { cursor:pointer; padding:16px 8px; min-height:56px; font-weight:600; }
.application-faq details p { padding:0 8px 20px; max-width:76ch; }
.application-card:focus-visible,.application-guide-grid>a:focus-visible { outline:3px solid var(--focus-ring); outline-offset:4px; }
@media(max-width:1000px) {
 .application-hero>.container { gap:28px; }
 .application-hero-copy h1 { font-size:36px; }
 .application-card-grid,.application-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .application-issue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .application-method ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .application-hero { padding:32px 0; }
 .application-hero>.container,.application-intro>.container,.application-context { grid-template-columns:minmax(0,1fr); gap:24px; }
 .application-hero-copy h1 { font-size:32px; max-width:none; }
 .application-hero-copy>p { font-size:16px; }
 .application-hero-actions { gap:12px; align-items:stretch; flex-direction:column; margin-top:24px; }
 .application-hero-actions .btn-cta { width:100%; }
 .application-hero figure img { max-height:280px; }
 .application-hero figure { margin-top:4px; }
 .application-intro { padding-block:32px; }
 .application-intro>.container { gap:16px; }
 .application-intro h2 { font-size:22px; }
 .application-issue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; }
 .application-auto-summary,.application-contact>.container { flex-direction:column; align-items:flex-start; gap:24px; }
 .application-auto-summary>a,.application-contact .btn-cta { max-width:none; width:100%; }
 .application-heading { margin-bottom:24px; }
 .application-printing { padding:24px 20px; }
}
@media(max-width:600px) {
 .application-card-grid,.application-guide-grid,.application-other-grid,.application-checklist-grid,.application-method ol { grid-template-columns:minmax(0,1fr); }
 .application-card-copy,.application-guide-grid>a { padding:20px; }
 .application-method ol { gap:24px; }
 .application-hero-copy h1 { font-size:30px; }
 .application-series a { width:100%; }
 .application-local-nav { gap:4px 20px; }
 .application-process-table th,.application-process-table td { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .application-card { transition:none; } }
@media print {
 .application-hero,.application-contact,.application-local-nav { display:none; }
 .application-checklist { padding:24px 0; }
 .application-checklist-grid>div { break-inside:avoid; }
}
.application-print-button { margin-top:24px; cursor:pointer; }
.application-print-button[hidden] { display:none; }
@media print {
 body.print-application-checklist :is(header,footer,.page-breadcrumb,.whatsapp-float,.back-to-top,.application-print-button) { display:none!important; }
 body.print-application-checklist main>:not(#trial-checklist) { display:none!important; }
 body.print-application-checklist .application-checklist { display:block!important; }
 body.print-application-checklist .application-checklist-grid { grid-template-columns:1fr 1fr; }
}
/* Hub shortcuts stay in normal flow, without covering content on small screens. */
.application-hub-nav { display:flex; flex-wrap:wrap; gap:4px 28px; padding-block:12px; border-bottom:1px solid var(--line-soft); }
.application-hub-nav a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--brand-green-700); font-size:14px; font-weight:600; }
.application-hub-nav a:focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; }
.page-industries .application-issue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.page-industries .application-issue-grid article { padding:24px; border:1px solid var(--line-soft); border-radius:12px; background:#fff; }
.page-industries .application-issue-grid h3 { font-size:20px; }
.page-industries .application-issue-grid p { font-size:15px; }
.application-card-copy>span { display:flex; align-items:center; min-height:44px; }
@media(max-width:1000px) { .page-industries .application-issue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .page-industries .application-issue-grid { grid-template-columns:minmax(0,1fr); } .application-hub-nav { gap:4px 20px; } .page-industries .application-issue-grid article { padding:20px; } }
