/* Inner pages: aligns the older page layouts with the Halo design. Loaded after each page's own stylesheet. */
body{font-family:var(--sans)}
h1,h2,h3,h4,.section-title,.section-heading{font-family:var(--display);font-weight:600;letter-spacing:-.025em}

/* Page heroes: plain, left aligned, big display heading */
.page-header,.page-hero,.p-hero,.pub-hero,.blog-hero,.aff-hero{background:var(--bg)!important}
.page-header::before,.page-header::after,.hero-bg,.p-hero::before,.p-hero::after,.pub-hero::before,.pub-hero::after{display:none!important}
.page-header{padding:96px 0 64px!important;border-bottom:1px solid var(--line);text-align:left!important}
.page-header .container,.page-header .wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.page-header h1{margin:20px 0 0!important;font-family:var(--display);font-size:3rem!important;font-weight:600!important;line-height:1!important;letter-spacing:-.025em!important;max-width:16ch;text-align:left!important}
.page-header .section-subtitle,.page-header p{margin:24px 0 0!important;max-width:36rem;font-size:1.125rem;line-height:1.6;color:var(--muted);text-align:left!important}
.page-header .topper{text-align:left!important}
@media (min-width:768px){.page-header{padding:128px 0 80px!important}.page-header h1{font-size:4.5rem!important}}

/* Small uppercase labels */
.topper,.p-kicker,.kicker,.eyebrow,.section-kicker{font-size:11px!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--faint)!important}

/* Section headings */
.section-title{font-weight:600!important;letter-spacing:-.025em!important;line-height:1.1!important}
.section-title::after,.section-heading::after{display:none!important}
.section-subtitle{color:var(--muted)}

/* Cards: flat, thin border, no lift */
.service-card,.card,.p-card,.pub-card,.post-card,.blog-card,.product-card,.value-card,.team-card,.feature-card,.portfolio-item,.case-card,.app-card,.price-card,.step-card,.info-card,.contact-card,.aff-card{box-shadow:none!important;border-radius:var(--radius)!important}
.service-card:hover,.card:hover,.post-card:hover,.blog-card:hover,.product-card:hover,.portfolio-item:hover,.case-card:hover,.app-card:hover,.feature-card:hover,.value-card:hover{transform:none!important;box-shadow:none!important;border-color:var(--line-strong)!important}

/* Form fields */
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=search],select,textarea{border-radius:4px!important;font-family:var(--sans)}
input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important;outline:0}

/* Filters: one row of quiet chips (swipe sideways on phones) */
.portfolio-filters{justify-content:flex-start!important;gap:4px!important;margin:0 0 40px!important}
.filter-btn{height:34px;padding:0 12px!important;border:0!important;border-radius:4px!important;background:transparent!important;color:var(--muted)!important;font-size:.875rem;font-weight:500;box-shadow:none!important;white-space:nowrap;cursor:pointer}
.filter-btn:hover{background:color-mix(in srgb,var(--text) 6%,transparent)!important;color:var(--text)!important}
.filter-btn.active{background:color-mix(in srgb,var(--text) 8%,transparent)!important;color:var(--text)!important}
.cs-list{padding-top:40px!important}
@media (max-width:767px){
  .portfolio-filters{flex-wrap:nowrap!important;overflow-x:auto;margin-left:-16px!important;margin-right:-16px!important;padding:0 16px;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,#000 85%,transparent);mask:linear-gradient(90deg,#000 85%,transparent)}
  .portfolio-filters::-webkit-scrollbar{display:none}
  .page-work .page-header{padding:72px 0 40px!important}
}

/* Buttons: accent for the main action, soft grey for the second */
.btn-primary,.btn-dark{background:var(--btn-bg)!important;color:var(--btn-fg)!important;border-color:transparent!important;border-radius:4px!important;box-shadow:none!important;transform:none!important}
.btn-primary:hover,.btn-dark:hover{background:var(--btn-hover)!important;color:var(--btn-fg)!important}
.btn-secondary,.btn-outline{background:color-mix(in srgb,var(--text) 6%,transparent)!important;color:var(--text)!important;border-color:transparent!important;border-radius:4px!important;box-shadow:none!important;transform:none!important}
.btn-secondary:hover,.btn-outline:hover{background:color-mix(in srgb,var(--text) 11%,transparent)!important}
.btn{border-radius:4px!important}

/* Hero action rows follow the left alignment */
.page-header .pub-actions,.page-header .hero-actions,.page-header .btn-row,.page-header .actions{justify-content:flex-start!important;margin-top:36px!important}

/* Stats bands: quiet tinted strip with ink numbers */
.stats-section{background:var(--bg-tint)!important;color:var(--text)!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-section::before,.stats-section::after{display:none!important}
.stats-section h3,.stats-section .counter{color:var(--text)!important;font-family:var(--display)}
.stats-section p{color:var(--muted)!important}
.stat-item{border-color:var(--line)!important}
.btn{display:inline-flex!important;align-items:center;justify-content:center}

/* Legal and long-form text */
.content-section h2,.content-section h3{margin:48px 0 12px!important;line-height:1.2!important}
.content-section h2:first-child,.content-section h3:first-child{margin-top:0!important}
.content-section h2{font-size:1.5rem!important}
.content-section h3{font-size:1.125rem!important}
.content-section ul{margin:12px 0 16px}
