/* Wil Theme 0.4.3 — optional editorial and state presentation. */
.wil-page-hero { position:relative; min-height:clamp(300px,46vw,610px); display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; background:#101014; border-bottom:1px solid var(--wil-edge); }
.wil-page-hero__image,.wil-page-image img { position:absolute; inset:0; width:100%; height:100%!important; object-fit:cover; object-position:var(--wil-focal-x,50%) var(--wil-focal-y,50%); z-index:-2; }
.wil-page-hero__shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,5,8,.94) 0,rgba(5,5,8,.63) 50%,rgba(5,5,8,.15)),linear-gradient(0deg,rgba(5,5,8,.75),transparent 55%); }
.wil-page-hero__content { width:min(100%,var(--wil-container)); margin:auto; padding:clamp(90px,14vw,190px) clamp(18px,3vw,44px) clamp(40px,6vw,80px); }
.wil-page-hero h1 { max-width:950px; margin:0; color:#fff; font-size:clamp(43px,7.6vw,108px); line-height:.94; letter-spacing:-.065em; }
.wil-page-hero__intro { max-width:650px; margin:19px 0 0; color:#d0d0d8; font-size:clamp(17px,2vw,22px); }
.wil-breadcrumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:5px; padding:0; margin:0 0 19px; font-size:12px; }
.wil-breadcrumbs li:not(:last-child)::after { content:"/"; margin-left:5px; color:#6e6e78; }
.wil-breadcrumbs a { color:#c4c4cd!important; text-decoration:none!important; }
.wil-breadcrumbs [aria-current] { color:#8fbeff; }
.wil-page-image { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:18px; margin-bottom:30px; background:#19191f; }
.wil-image-ratio-4-3 .wil-page-image { aspect-ratio:4/3; }.wil-image-ratio-3-2 .wil-page-image { aspect-ratio:3/2; }.wil-image-ratio-square .wil-page-image { aspect-ratio:1; }.wil-image-ratio-portrait .wil-page-image { aspect-ratio:4/5; }.wil-image-ratio-auto .wil-page-image { aspect-ratio:auto; min-height:280px; }
.wil-section-nav { position:sticky; top:82px; z-index:20; width:min(100%,var(--wil-container)); margin:0 auto 24px; padding:0 clamp(18px,3vw,44px); }
.wil-section-nav__inner { display:flex; gap:8px; overflow:auto; padding:8px; border:1px solid var(--wil-edge); border-radius:12px; background:rgba(19,19,23,.92); backdrop-filter:blur(14px); scrollbar-width:none; }
.wil-section-nav a { flex:0 0 auto; padding:7px 11px; border-radius:8px; color:#aaaab4!important; text-decoration:none!important; font-size:12px; font-weight:700; }
.wil-section-nav a.is-active { background:#fff; color:#111!important; }
body.admin-bar .wil-section-nav { top:114px; }
.wil-error-page { max-width:1000px; }
.wil-error-page .wil-search-form { margin:28px auto; }
.wil-recovery-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:32px 0; text-align:left; }
.wil-recovery-card { position:relative; min-height:145px; display:flex; flex-direction:column; justify-content:flex-end; padding:19px; border:1px solid var(--wil-edge); border-radius:16px; background:#15151a; color:#fff!important; text-decoration:none!important; }
.wil-recovery-card strong { font-size:18px; }.wil-recovery-card span { color:#a7a7b0; font-size:12px; }.wil-recovery-card b { position:absolute; right:17px; top:14px; color:#76b4ff; }
.wil-empty-state { max-width:980px; margin:35px auto; padding:clamp(24px,5vw,60px); border:1px solid var(--wil-edge); border-radius:22px; background:#141419; text-align:center; }
.wil-pattern { margin-block:clamp(45px,7vw,100px); }
.wil-pattern-hero,.wil-pattern-cta { padding:clamp(35px,7vw,100px) clamp(20px,5vw,74px); border:1px solid var(--wil-edge); border-radius:16px; background:#141419; }
.wil-pattern-hero h1 { max-width:1000px; font-size:clamp(42px,7vw,100px); line-height:.96; letter-spacing:-.065em; }
.wil-pattern-media { gap:clamp(24px,5vw,70px); align-items:center!important; }.wil-pattern-media img { min-height:390px; object-fit:cover; border-radius:16px; }.wil-pattern-media__placeholder { min-height:390px; display:grid; place-items:center; border:1px dashed rgba(255,255,255,.28); border-radius:16px; background:#15151a; color:#9999a4; text-align:center; }
.wil-pattern-faq details { border-top:1px solid var(--wil-edge); padding:20px 0; }.wil-pattern-faq summary { cursor:pointer; font-weight:750; font-size:18px; }.wil-pattern-faq details p { color:var(--wil-muted); }
.wil-pattern-testimonials blockquote,.wil-service-card { height:100%; margin:0; padding:24px; border:1px solid var(--wil-edge); border-radius:16px; background:#15151b; }
.wil-service-card.is-featured { border-color:var(--wil-accessible-accent); box-shadow:0 0 0 1px var(--wil-accessible-accent); }.wil-service-price { font-weight:800; color:#8fbeff; }
.wil-state { padding:18px; border:1px solid var(--wil-edge); border-radius:13px; background:#17171c; }.wil-state.is-success { border-color:#3c8f66; }.wil-state.is-error { border-color:#b9535b; }.wil-state.is-notice { border-color:#477eb8; }
.wil-back-to-top { position:fixed; right:18px; bottom:18px; z-index:900; width:44px; height:44px; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(20,20,25,.88); color:#fff; box-shadow:0 8px 30px rgba(0,0,0,.35); cursor:pointer; backdrop-filter:blur(12px); }
.wil-back-to-top[hidden] { display:none; }
img[data-wil-loaded] { opacity:0; transition:opacity .3s ease; }img[data-wil-loaded].is-loaded { opacity:1; }
@media (max-width:921px) { .wil-recovery-links { grid-template-columns:1fr; } }
@media (max-width:600px) { .wil-page-hero__content { padding-inline:18px; }.wil-section-nav { padding-inline:10px; } }
@media (prefers-reduced-motion:reduce) { img[data-wil-loaded] { transition:none!important; } }
