/* BANDing Studio theme layer — restrained blue, yellow and warm white */
:root { --banding-blue:#0010f5; --banding-yellow:#fdd800; --banding-ink:#0a0a0a; --banding-paper:#fff; }
body { color:var(--banding-ink); background:#fff; }
a { text-underline-offset: .2em; }
.banding-header { z-index:100; }
.banding-nav ul, .banding-nav .menu { display:flex; align-items:center; gap:1.6rem; list-style:none; padding:0; margin:0; }
.banding-nav li { list-style:none; }
.banding-nav a { transition:color .2s ease; }
.banding-nav a:hover { color:var(--banding-blue); }
.custom-logo { max-height:34px; width:auto; }
.banding-hero { overflow:hidden; background:linear-gradient(180deg,#fff 0%,#fbfbff 100%); }
.banding-hero-art { min-height:350px; display:flex; align-items:center; }
.banding-hero-art-inner { width:100%; min-height:390px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#0010f5; border-radius:2px; }
.banding-hero-art-inner:before { content:""; position:absolute; width:75%; aspect-ratio:1; border:1px solid rgba(255,255,255,.25); border-radius:50%; }
.banding-hero-art-inner:after { content:""; position:absolute; width:52%; aspect-ratio:1; border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.banding-hero-art-inner img { position:relative; z-index:2; width:88%; height:350px; object-fit:contain; mix-blend-mode:normal; }
.banding-hero-caption { position:absolute; z-index:3; bottom:18px; left:22px; right:22px; display:flex; justify-content:space-between; color:#fff; font-size:10px; font-weight:700; letter-spacing:.18em; }
.banding-client-strip { background:#fff; }
.banding-logo-row { display:flex; align-items:center; justify-content:space-between; gap:2.25rem; flex-wrap:wrap; }
.banding-client-logo { display:flex; align-items:center; justify-content:center; min-width:75px; max-width:125px; height:44px; }
.banding-client-logo img { max-width:100%; max-height:36px; width:auto; height:auto; object-fit:contain; filter:grayscale(1); opacity:.72; }
.banding-client-logo img:hover { filter:none; opacity:1; }
.banding-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.banding-text-link { display:inline-flex; align-items:center; gap:.6rem; font-size:.875rem; font-weight:700; white-space:nowrap; }
.banding-text-link:hover { color:var(--banding-blue); }
.banding-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.2rem 1.35rem; }
.banding-project-card { min-width:0; }
.banding-project-image { display:block; position:relative; aspect-ratio:1.28 / 1; background:#f0f1f6; overflow:hidden; }
.banding-project-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.banding-project-card:hover .banding-project-image img { transform:scale(1.035); }
.banding-project-arrow { position:absolute; right:14px; bottom:14px; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--banding-yellow); color:var(--banding-ink); font-size:1.2rem; font-weight:700; }
.banding-capability-section { background:#f7f7f5; }
.banding-capability-list { border-top:1px solid #d9d9d5; }
.banding-capability-row { display:grid; grid-template-columns:70px minmax(180px, .9fr) 1.2fr 24px; gap:1rem; align-items:center; padding:1.35rem 0; border-bottom:1px solid #d9d9d5; transition:padding .2s ease; }
a.banding-capability-row:hover { padding-left:.5rem; }
.banding-capability-number { color:var(--banding-blue); font-size:.8rem; font-weight:700; }
.banding-capability-name { font-family:Poppins, sans-serif; font-size:clamp(1.25rem,2.2vw,2rem); font-weight:800; text-transform:uppercase; line-height:1.1; }
.banding-capability-desc { color:#666; font-size:.9rem; line-height:1.5; }
.banding-capability-arrow { color:var(--banding-blue); font-size:1.4rem; }
.banding-solutions-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.banding-solution-panel { display:flex; min-height:350px; flex-direction:column; align-items:flex-start; padding:2rem; transition:transform .25s ease; }
.banding-solution-panel:hover { transform:translateY(-3px); }
.banding-solution-blue { background:var(--banding-blue); color:#fff; }
.banding-solution-light { background:#f1f2f8; color:var(--banding-ink); }
.banding-testimonial-section { background:#f7f7f5; }
.banding-testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.banding-testimonial { padding:1.5rem; background:#fff; border:1px solid #e7e7e3; }
.banding-testimonial>p { font-size:1rem; line-height:1.75; }
.banding-testimonial footer { display:flex; flex-direction:column; gap:.2rem; margin-top:1.5rem; font-size:.8rem; }
.banding-testimonial footer span { color:#666; }
.banding-cta-section { background:var(--banding-blue); }
.banding-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 1.5rem; }
.banding-service-image { display:block; aspect-ratio:1.45 / 1; background:#f1f2f8; overflow:hidden; }
.banding-service-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.banding-service-card:hover .banding-service-image img { transform:scale(1.03); }
.banding-inline-arrow { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; border:1px solid #ddd; border-radius:50%; }
.banding-service-hero-image { background:#f2f3f8; min-height:300px; }
.banding-service-hero-image img { width:100%; height:100%; max-height:580px; object-fit:cover; }
.banding-feature-list { border-top:1px solid #d9d9d5; }
.banding-feature-list>div { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid #d9d9d5; padding:1rem 0; font-weight:600; }
.banding-feature-list span { color:var(--banding-blue); }
.banding-filter-row { display:flex; flex-wrap:wrap; gap:.5rem; }
.banding-filter-row a { padding:.55rem .95rem; border:1px solid #ddd; border-radius:999px; font-size:.8rem; }
.banding-filter-row a:hover,.banding-filter-row a.is-active { background:var(--banding-blue); border-color:var(--banding-blue); color:#fff; }
.banding-project-hero { background:#f1f2f7; }
.banding-project-hero img { display:block; width:100%; max-height:680px; object-fit:cover; }
.banding-detail-block { border-top:1px solid #ddd; padding-top:1.25rem; }
.banding-detail-block h3 { margin-bottom:.6rem; font-family:Poppins,sans-serif; font-size:1.2rem; font-weight:800; text-transform:uppercase; }
.banding-detail-block p,.banding-detail-block li { color:#5c5c5c; line-height:1.75; }
.banding-detail-block ul { list-style:disc; padding-left:1.25rem; }
.banding-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.banding-gallery img { width:100%; height:100%; max-height:600px; object-fit:cover; background:#f2f2f2; }
.banding-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem 1.25rem; }
.banding-journal-image { display:block; aspect-ratio:1.35 / 1; background:#f1f2f7; overflow:hidden; }
.banding-journal-image img { display:block; width:100%; height:100%; object-fit:cover; }
.banding-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 1rem; }
.banding-team-card img { width:100%; aspect-ratio:4/5; object-fit:cover; background:#f1f2f7; }
.banding-process-list { border-top:1px solid #ddd; }
.banding-process-row { display:grid; grid-template-columns:50px .7fr 1fr 1fr; gap:1rem; align-items:center; padding:1.25rem 0; border-bottom:1px solid #ddd; }
.banding-process-row>span { color:var(--banding-blue); font-size:.8rem; font-weight:700; }
.banding-process-row h3 { font-family:Poppins,sans-serif; font-size:1.3rem; font-weight:800; text-transform:uppercase; }
.banding-process-row p { color:#333; }
.banding-process-row small { color:#666; }
.banding-prose { font-size:1rem; line-height:1.85; color:#333; }
.banding-prose h2,.banding-prose h3 { font-family:Poppins,sans-serif; text-transform:uppercase; font-weight:800; line-height:1.15; margin:2.2rem 0 1rem; }
.banding-prose h2 { font-size:clamp(1.6rem,3vw,2.3rem); }
.banding-prose h3 { font-size:1.4rem; }
.banding-prose p,.banding-prose ul,.banding-prose ol,.banding-prose blockquote { margin:0 0 1.2rem; }
.banding-prose ul,.banding-prose ol { padding-left:1.5rem; list-style:disc; }
.banding-prose blockquote { padding:1rem 1.5rem; border-left:3px solid var(--banding-blue); background:#f7f7f5; }
.banding-article-hero img { width:100%; height:auto; }
.banding-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.banding-form label { display:flex; flex-direction:column; gap:.5rem; font-size:.875rem; font-weight:600; }
.banding-form input,.banding-form select,.banding-form textarea { width:100%; min-height:48px; border:1px solid #d8d8d8; border-radius:8px; padding:.75rem .9rem; background:#fff; font-weight:400; }
.banding-form textarea { min-height:130px; resize:vertical; }
.banding-form input:focus,.banding-form select:focus,.banding-form textarea:focus { outline:2px solid rgba(0,16,245,.18); border-color:var(--banding-blue); }
.banding-form-wide { grid-column:1 / -1; }
.banding-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.banding-footer a:hover { color:var(--banding-yellow); }
.js-reveal { opacity:0; transform:translateY(14px); transition:opacity .65s ease,transform .65s ease; }
.js-reveal.is-visible { opacity:1; transform:translateY(0); }
@media(max-width:900px) {
  .banding-project-grid,.banding-journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .banding-testimonial-grid { grid-template-columns:1fr; }
  .banding-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .banding-process-row { grid-template-columns:40px 1fr 1fr; }
  .banding-process-row small { grid-column:2 / -1; }
}
@media(max-width:640px) {
  .banding-hero-art-inner { min-height:280px; }
  .banding-hero-art-inner img { height:250px; }
  .banding-section-heading { align-items:flex-start; flex-direction:column; }
  .banding-project-grid,.banding-service-grid,.banding-journal-grid,.banding-team-grid,.banding-solutions-grid { grid-template-columns:1fr; }
  .banding-capability-row { grid-template-columns:36px 1fr 20px; gap:.65rem; }
  .banding-capability-desc { grid-column:2 / 3; grid-row:2; }
  .banding-capability-arrow { grid-column:3; grid-row:1; }
  .banding-process-row { grid-template-columns:35px 1fr; gap:.5rem 1rem; }
  .banding-process-row p,.banding-process-row small { grid-column:2; }
  .banding-form-grid { grid-template-columns:1fr; }
  .banding-form-wide { grid-column:auto; }
  .banding-logo-row { justify-content:center; gap:1.4rem; }
}
