/*
Theme Name: KCWrigging1
Theme URI: https://kcwrigging.com
Description: Lean theme for KCW(tm)rigging. No jQuery, no page builder, one stylesheet.
Author: KCW(tm)rigging
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: kcwrigging1
*/

:root{
  --ink:#1c1c1c; --ink-soft:#4a4a4a; --paper:#fff; --rule:#e3e3e3;
  --bar:rgba(20,20,20,.55); --bar-solid:#141414; --accent:#c8a54b;
  --sans:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --display:"Montserrat",var(--sans);
  --wrap:1140px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.7 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:999}

/* header */
.site-head{position:absolute;top:0;left:0;right:0;z-index:20;
  background:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,0))}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:64px}
.brand img{max-height:26px;width:auto}
.brand .txt{font:700 18px/1 var(--display);letter-spacing:.06em;color:#fff}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:22px;padding:6px 10px;cursor:pointer}
.site-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.site-nav a{color:#fff;font:600 11px/1 var(--display);letter-spacing:.14em;
  text-transform:uppercase;opacity:.9}
.site-nav a:hover,.site-nav .current-menu-item>a{opacity:1;color:var(--accent)}
.site-nav ul ul{display:none;position:absolute;background:var(--bar-solid);
  flex-direction:column;gap:0;padding:8px 0;min-width:180px}
.site-nav li{position:relative}
.site-nav li:hover>ul{display:flex}
.site-nav ul ul a{display:block;padding:9px 16px;letter-spacing:.08em}

/* slider */
.hero{position:relative;height:72vh;min-height:380px;background:#0d0d0d;overflow:hidden}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;
  background-size:cover;background-position:center}
.hero .slide.on{opacity:1}
.hero-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;
  border:0;background:rgba(0,0,0,.35);color:#fff;font-size:20px;cursor:pointer;z-index:5}
.hero-nav:hover{background:rgba(0,0,0,.6)}
.hero-prev{left:0}.hero-next{right:0}
.hero-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;
  gap:9px;z-index:5}
.hero-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.45)}
.hero-dots button[aria-current="true"]{background:#fff}

/* content */
.site-main{padding:56px 0 72px}
.home .site-main{padding:44px 0 64px}
.entry-title{font:700 clamp(22px,3vw,34px)/1.25 var(--display);letter-spacing:.01em;margin:0 0 18px}
.entry-content p{margin:0 0 1.1em;max-width:70ch}
.entry-content h2{font:700 22px/1.3 var(--display);margin:1.8em 0 .6em}
.entry-content h3{font:700 17px/1.3 var(--display);margin:1.6em 0 .5em}
.entry-content ul,.entry-content ol{max-width:70ch}
.post-list{list-style:none;margin:0;padding:0;display:grid;gap:28px}
.post-list article{border-bottom:1px solid var(--rule);padding-bottom:22px}
.post-list h2{font:700 19px/1.35 var(--display);margin:0 0 6px}
.meta{color:var(--ink-soft);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase}

/* footer */
.site-foot{border-top:1px solid var(--rule);padding:30px 0;color:var(--ink-soft);font-size:13px}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.site-foot ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.kcw-network-footer{margin-top:10px;font-size:12px;color:var(--ink-soft)}

@media (max-width:860px){
  .nav-toggle{display:block}
  .site-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bar-solid);padding:10px 0}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;gap:0}
  .site-nav a{display:block;padding:12px 20px}
  .site-nav ul ul{position:static;display:block;padding:0 0 0 14px}
  .hero{height:56vh}
}
@media (prefers-reduced-motion:reduce){
  .hero .slide{transition:none}
}
