/* OwlGuard multi-page additions (2026-10-08). Loaded after site.css. */

/* Utilities missing from the compiled site.css */
.space-y-2>*+*{margin-top:.5rem}
.space-y-6>*+*{margin-top:1.5rem}
.list-disc{list-style:disc}
.pl-5{padding-left:1.25rem}
.max-w-4xl{max-width:56rem}
.mt-16{margin-top:4rem}
.mb-4{margin-bottom:1rem}
.p-8{padding:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}
  .lg\:flex-row{flex-direction:row}
  .lg\:justify-between{justify-content:space-between}
  .lg\:sticky{position:sticky}
  .lg\:top-28{top:7rem}
}

/* Hero image box: aspect-ratio + min-height forced a 410px-wide column and horizontal scroll on phones */
@media (max-width:639px){#top .min-h-\[32rem\]{min-height:0}}
#top>div>div{min-width:0}

/* Links */
.text-link{color:var(--accent);text-underline-offset:3px}
.text-link:hover{text-decoration:underline}
.nav-current{color:var(--accent)}

/* Breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--fg-2)}
.crumbs a:hover{color:var(--accent)}

/* Long-form copy blocks */
.copy h2{font-size:1.5rem;line-height:1.2;font-weight:600;color:var(--fg);margin-top:2.75rem}
.copy h2:first-child{margin-top:0}
.copy h3{font-size:1.05rem;font-weight:600;color:var(--fg);margin-top:1.75rem}
.copy p{margin-top:1rem;color:var(--fg-2);line-height:1.75;font-size:.95rem}
.copy ul{list-style:disc;padding-left:1.25rem;margin-top:1rem;color:var(--fg-2);line-height:1.7;font-size:.95rem}
.copy li+li{margin-top:.45rem}
.copy li::marker{color:var(--accent)}
.copy a{color:var(--accent);text-underline-offset:3px}
.copy a:hover{text-decoration:underline}
.copy strong{color:var(--fg);font-weight:600}

/* Trust badges */
.trust-row{display:flex;flex-wrap:wrap;gap:.6rem}
.trust-badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid color-mix(in oklab,var(--border),transparent 10%);border-radius:999px;padding:.4rem .8rem;font-size:.75rem;color:var(--fg-2);background:color-mix(in oklab,var(--surface),transparent 20%)}
.trust-badge svg{width:.95rem;height:.95rem;flex:none;stroke:var(--success);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* FAQ accordions */
.faq-list{display:grid;gap:.75rem}
.faq-item{border:1px solid color-mix(in oklab,var(--border),transparent 10%);border-radius:1rem;background:var(--surface);padding:1rem 1.25rem}
.faq-item summary{cursor:pointer;list-style:none;font-weight:600;color:var(--fg);display:flex;justify-content:space-between;gap:1rem;font-size:.95rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--accent);font-weight:400}
.faq-item[open] summary::after{content:"\2013"}
.faq-item p{margin-top:.75rem;color:var(--fg-2);line-height:1.7;font-size:.9rem}

/* Project gallery */
.project-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}
.project-card img{display:block}

/* Contact form inline errors */
.input-field[aria-invalid="true"]{border-color:var(--danger)}
.field-msg{margin-top:.4rem;font-size:.78rem;color:color-mix(in oklab,var(--danger),#fff 20%)}
.field-msg[hidden]{display:none}
.form-hint{margin-top:.4rem;font-size:.75rem;color:var(--muted)}
