/* Hallmark · genre: editorial · macrostructure: Ecosystem Index + Photographic · tone: practical-reading · anchor hue: repair-orange
 * pre-emit critique: P5 H5 E5 S5 R5 V5 · theme: existing brand system · contrast: pass (40–41) · nav: preserved · footer: preserved · slop: pass (42–45)
 * honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30) · mobile: pass (34, 49, 50–57)
 */

.column-page main{background:var(--color-page)}
.column-breadcrumb-section{border-bottom:var(--rule);background:var(--color-page)}
.column-breadcrumb{display:flex;align-items:center;min-height:3.5rem}
.column-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none;font-size:var(--text-sm);font-weight:700;color:var(--color-accent-dark)}
.column-breadcrumb li{display:inline-flex;align-items:center;white-space:nowrap}
.column-breadcrumb li+li::before{content:"／";margin-inline-end:var(--space-2);color:var(--color-muted);font-weight:400}
.column-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;color:inherit}
.column-breadcrumb a:hover,.column-breadcrumb a:focus-visible{color:var(--color-ink)}
.column-breadcrumb a:active{color:var(--color-ink)}
.column-breadcrumb [aria-current="page"]{color:var(--color-muted);font-weight:700}

.column-intro{padding-block:var(--space-10) var(--space-8)}
.column-intro-inner{max-width:58rem;padding-inline-start:var(--space-6);border-inline-start:3px solid var(--color-teal-dark)}
.column-intro h1{font-size:clamp(2.25rem,5vw,4rem);color:var(--color-teal-dark)}
.column-intro p{max-width:65ch;margin:var(--space-4) 0 0;color:var(--color-muted)}

.column-categories{display:flex;justify-content:center;border-bottom:var(--rule)}
.column-category-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-8);margin:0;padding:0;overflow-x:auto;list-style:none;scrollbar-width:thin}
.column-category-list.shell{width:fit-content;max-width:min(100% - 2rem,72rem);margin-inline:auto}
.column-category-list>li{flex:0 0 auto}
.column-category-list a{position:relative;display:inline-flex;align-items:center;min-height:52px;color:var(--color-muted);font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out)}
.column-category-list a::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;height:2px;background:var(--color-teal-dark);opacity:0;transform:scaleX(.5);transform-origin:left;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.column-category-list a:hover,.column-category-list a:focus-visible,.column-category-list a[aria-current="page"]{color:var(--color-teal-dark)}
.column-category-list a:hover::after,.column-category-list a:focus-visible::after,.column-category-list a[aria-current="page"]::after{opacity:1;transform:scaleX(1)}
.column-category-list a:active{color:var(--color-ink)}

.column-feature-section{padding-block:var(--space-10) var(--space-12)}
.column-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.column-category{color:var(--color-teal-dark);font-weight:800}

.column-latest{padding-block:var(--space-12) var(--space-16);background:var(--color-paper-2);border-top:var(--rule)}
.column-section-title{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}
.column-section-title::before{content:"";width:3px;height:2.5rem;background:var(--color-teal-dark)}
.column-section-title h2{margin:0;color:var(--color-teal-dark)}
.column-list{margin:0;padding:0;border-top:var(--rule);list-style:none}
.column-list-item{border-bottom:var(--rule)}
.column-list-item article{display:grid;grid-template-columns:minmax(12rem,.58fr) minmax(0,1.42fr);gap:var(--space-8);align-items:center;min-height:12rem;padding-block:var(--space-4)}
.column-list-image{display:block;min-width:0;overflow:hidden;background:var(--color-paper-3)}
.column-list-image img{display:block;width:100%;height:auto;transition:opacity var(--dur-fast) var(--ease-out)}
.column-list-image:hover img,.column-list-image:focus-visible img{opacity:.82}
.column-list-image:active img{opacity:.7}
.column-list-copy{min-width:0}
.column-list-copy h3{margin:0;font-size:clamp(1.2rem,2.3vw,1.75rem);line-height:1.45}
.column-list-copy h3 a{text-decoration:none}
.column-list-copy h3 a:hover,.column-list-copy h3 a:focus-visible{color:var(--color-accent-dark);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.column-list-copy h3 a:active{color:var(--color-ink)}

.column-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-8)}
.column-pagination a,.column-pagination span{display:inline-grid;place-items:center;min-width:44px;min-height:44px;line-height:1;text-decoration:none;white-space:nowrap}
.column-pagination [aria-current="page"]{background:var(--color-teal-dark);color:var(--color-page)}
.column-pagination a:hover,.column-pagination a:focus-visible{background:var(--color-paper-3);color:var(--color-accent-dark)}
.column-pagination a:active{background:var(--color-rule)}
.column-pagination .is-disabled,.column-pagination [aria-disabled="true"]{opacity:.45;cursor:not-allowed;color:var(--color-muted)}

.column-consult{background:var(--color-page)}
.column-consult .consult-panel{border-width:1px;border-radius:var(--radius-sm)}

.column-article-head{display:flex;flex-direction:column;align-items:center;padding-block:var(--space-10) var(--space-8);text-align:center}
.column-article-head .column-meta{justify-content:center}
.column-article-head h1{max-width:28ch;margin-inline:auto;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.3;color:var(--color-teal-dark);text-align:center}
.column-article-head .lede{max-width:48rem;margin:var(--space-5) auto 0;color:var(--color-muted);font-size:var(--text-lg);text-align:center}
.column-article-media{margin:0;padding-block:0 var(--space-6);background:transparent;overflow:visible}
.column-article-media-inner{margin-inline:auto;overflow:hidden;background:var(--color-paper-2);border:var(--rule)}
.column-article-media img{display:block;width:100%;height:auto}

.column-toc-wrap{padding-block:var(--space-6) var(--space-10)}
.column-toc{padding:var(--space-6) var(--space-8);border:var(--rule);background:var(--color-aqua-soft)}
.column-toc h2{margin-bottom:var(--space-3);font-size:var(--text-xl);color:var(--color-teal-dark)}
.column-toc ol{margin:0;padding:0;list-style:none;counter-reset:column-toc}
.column-toc li{counter-increment:column-toc;border-top:var(--rule)}
.column-toc a{position:relative;display:block;min-height:56px;padding-block:var(--space-3);padding-inline:2.75rem 1.75em;font-weight:700;line-height:1.45;text-decoration:none;overflow-wrap:anywhere;word-break:auto-phrase;line-break:strict}
.column-toc a::before{content:counter(column-toc,decimal-leading-zero);position:absolute;inset-inline-start:0;inset-block-start:var(--space-3);color:var(--color-teal-dark);font-variant-numeric:tabular-nums;line-height:1.45}
.column-toc a::after{content:"↓";position:absolute;inset-inline-end:0;inset-block-start:var(--space-3);color:var(--color-accent-dark);line-height:1.45}
.column-toc a:hover,.column-toc a:focus-visible{color:var(--color-accent-dark);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.2em}
.column-toc a:active{color:var(--color-ink)}

.column-service-banner{width:min(100% - 2rem,48rem);margin:var(--space-4) auto var(--space-10)}
.column-service-banner-button{display:block;width:100%;padding:0;border:var(--rule);border-bottom:0;border-radius:var(--radius-md) var(--radius-md) 0 0;background:transparent;overflow:hidden;cursor:pointer}
.column-service-banner-button img{display:block;width:100%;height:auto}
.column-service-banner-button:hover img,.column-service-banner-button:focus-visible img{opacity:.92}
.column-service-banner-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.column-service-regions{padding:var(--space-4);border:var(--rule);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-page)}
.column-service-regions-label{margin:0 0 var(--space-3);color:var(--color-teal-dark);font-size:var(--text-sm);font-weight:800}
.column-service-regions ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}
.column-service-regions a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:4.25rem;padding:var(--space-3);border:var(--rule);border-radius:var(--radius-sm);background:var(--color-paper);color:inherit;text-decoration:none}
.column-service-regions a>span:first-child{display:grid;gap:.15rem;min-width:0}
.column-service-regions b{font-family:var(--font-display);font-size:var(--text-base);line-height:1.35}
.column-service-regions small{color:var(--color-muted);font-size:.75rem;line-height:1.45}
.column-service-regions a>span:last-child{color:var(--color-accent-dark);font-weight:800}
.column-service-regions a:hover,.column-service-regions a:focus-visible{background:var(--color-paper-2);color:var(--color-accent-dark)}
.column-service-regions a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
@media(max-width:40rem){
  .column-service-regions ul{grid-template-columns:minmax(0,1fr)}
  .column-service-regions a{min-height:3.75rem}
}
.column-article-body{width:min(100% - 2rem,48rem);margin-inline:auto;padding-block:var(--space-2) var(--space-16)}
.column-article-body>section{scroll-margin-top:var(--space-8)}
.column-article-body>section+section{margin-top:var(--space-12)}
.column-article-body h2{padding-bottom:var(--space-3);border-bottom:2px solid var(--color-teal-dark);color:var(--color-teal-dark);font-size:clamp(1.65rem,3vw,2.25rem)}
.column-article-body h3{margin-top:var(--space-8);color:var(--color-teal-dark)}
.column-article-body p,.column-article-body li{max-width:70ch}
.column-article-body ul{display:grid;gap:var(--space-2);padding-inline-start:var(--space-6)}
.column-article-body strong{color:var(--color-ink)}
.column-article-body .column-table-wrap{margin:var(--space-6) 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.column-article-body table{width:100%;min-width:28rem;border-collapse:collapse;background:var(--color-paper)}
.column-article-body th,.column-article-body td{padding:.7rem .85rem;border:var(--rule);text-align:left;vertical-align:top;line-height:1.6}
.column-article-body th{background:var(--color-aqua-soft);color:var(--color-teal-dark);font-weight:800;white-space:nowrap}
.column-diagram{margin:var(--space-8) 0 0;border-block:var(--rule);padding-block:var(--space-5)}
.column-diagram img{width:100%;max-height:27rem;object-fit:cover}
.column-diagram figcaption{margin-top:var(--space-3);color:var(--color-muted);font-size:var(--text-sm)}
.column-checkpoints{margin-top:var(--space-6);padding:var(--space-6);border:var(--rule);background:var(--color-safe-soft)}
.column-checkpoints h3{margin:0 0 var(--space-3);font-size:var(--text-lg)}
.column-checkpoints ul{margin:0}

.column-author{padding-block:var(--space-10) var(--space-4)}
.column-author-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-6);align-items:start;max-width:48rem;margin-inline:auto;padding:var(--space-6) var(--space-8);border:var(--rule);background:var(--color-paper);border-radius:var(--radius-md)}
.column-author-avatar{width:5.5rem;height:5.5rem;overflow:hidden;border-radius:50%;border:var(--rule);background:var(--color-paper-2);flex-shrink:0}
.column-author-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.column-author-avatar-fallback{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-teal-dark);background:var(--color-aqua-soft)}
.column-author-copy{min-width:0}
.column-author-label{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;color:var(--color-teal-dark)}
.column-author-name{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.35;color:var(--color-ink)}
.column-author-role{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:700;color:var(--color-muted)}
.column-author-bio{margin:0;max-width:58ch;color:var(--color-muted);font-size:var(--text-base);line-height:1.8;white-space:pre-line}
@media(max-width:40rem){
  .column-author-card{grid-template-columns:minmax(0,1fr);justify-items:center;padding:var(--space-6);text-align:center}
  .column-author-bio{margin-inline:auto}
}

.column-inline-consult{margin-block:var(--space-4) var(--space-16)}
.column-inline-consult .consult-panel{grid-template-columns:minmax(0,1fr);border-width:1px;border-radius:var(--radius-sm)}
.column-inline-consult .consult-phone{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-6)}
.column-inline-consult .consult-detail{justify-content:flex-end}

.column-related{padding-block:var(--space-12);border-top:var(--rule);background:var(--color-paper-2)}
.column-related h2{margin-bottom:var(--space-6);text-align:center;color:var(--color-teal-dark)}
.column-related-list{margin:0;padding:0;border-top:var(--rule);list-style:none}
.column-related-list li{border-bottom:var(--rule)}
.column-related-list a{display:grid;grid-template-columns:10rem minmax(0,1fr) auto;align-items:center;gap:var(--space-5);min-height:7rem;padding-block:var(--space-3);text-decoration:none}
.column-related-list img{width:10rem;height:auto}
.column-related-copy{display:grid;gap:var(--space-1);min-width:0}
.column-related-copy strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.45}
.column-related-copy time{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.column-related-list a>span:last-child{color:var(--color-teal-dark);font-size:var(--text-xl)}
.column-related-list a:hover .column-related-copy strong,.column-related-list a:focus-visible .column-related-copy strong{color:var(--color-accent-dark);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.column-related-list a:active .column-related-copy strong{color:var(--color-ink)}

.column-breadcrumb a[aria-disabled="true"],.column-category-list a[aria-disabled="true"],.column-list-image[aria-disabled="true"],.column-list-copy h3 a[aria-disabled="true"],.column-pagination a[aria-disabled="true"],.column-toc a[aria-disabled="true"],.column-related-list a[aria-disabled="true"]{pointer-events:none;cursor:not-allowed;opacity:.55}

@media(max-width:52rem){
  .column-list-item article{grid-template-columns:minmax(10rem,.72fr) minmax(0,1.28fr);gap:var(--space-5)}
  .column-inline-consult .consult-phone{grid-template-columns:minmax(0,1fr)}
  .column-inline-consult .consult-detail{justify-content:flex-start}
}

@media(max-width:40rem){
  .column-intro{padding-block:var(--space-8) var(--space-6)}
  .column-intro-inner{padding-inline-start:var(--space-4)}
  .column-category-list{gap:var(--space-5)}
  .column-feature-section{padding-block:var(--space-8) var(--space-10)}
  .column-list-item article{grid-template-columns:minmax(0,1fr);gap:var(--space-3);padding-block:var(--space-5)}
  .column-toc{padding:var(--space-5)}
  .column-toc a{padding-inline:2.5rem 1.5em}
  .column-breadcrumb{min-height:3.25rem}
  .column-article-head{padding-block:var(--space-8) var(--space-6)}
  .column-related-list a{grid-template-columns:7rem minmax(0,1fr) auto;gap:var(--space-3)}
  .column-related-list img{width:7rem;height:auto}
  .column-related-copy strong{font-size:var(--text-base)}
}

@media(max-width:24rem){
  .column-related-list a{grid-template-columns:minmax(0,1fr) auto}
  .column-related-list img{grid-column:1/-1;width:100%;height:auto}
}

@media(prefers-reduced-motion:reduce){
  .column-category-list a,.column-category-list a::after,.column-list-image img{transition-duration:0ms!important}
}
