/* Reinke Outdoor Services — site styles.
   The visual design lives here (plus inline styles on the markup in the
   template files). Edit with care: changing these changes the look. */

:root{--accent:#f4b41a;--mq:30s;}
*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;}
body{margin:0;background:#14160e;color:#f2efe6;font-family:'Barlow',sans-serif;overflow-x:clip;}

.ros-site{position:relative;overflow-x:clip;}

@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mqr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes kb{0%{transform:scale(1.04)}100%{transform:scale(1.16)}}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.9}50%{transform:translateY(9px);opacity:.4}}
.mq-track{animation:mq var(--mq) linear infinite;}
.mq-track.rev{animation-name:mqr;}
.marquee:hover .mq-track{animation-play-state:paused;}

.svc-card{transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s,background .4s,opacity .6s ease;}
.svc-card:hover{transform:translateY(-10px)!important;border-color:var(--accent)!important;background:#222715!important;}
.svc-card:hover .svc-num{color:var(--accent)!important;}
.svc-card:hover .svc-bar{width:100%!important;}
.equip-card{transition:transform .4s,border-color .4s,opacity .6s ease;}
.equip-card:hover{transform:translateY(-8px)!important;border-color:var(--accent)!important;}
.equip-card:hover .equip-img{transform:scale(1.09)!important;}
.btn{transition:transform .2s,filter .2s,background .25s,color .25s,border-color .25s;}
.btn-pri:hover{transform:translateY(-3px)!important;filter:brightness(1.07);}
.btn-sec:hover{transform:translateY(-3px)!important;background:#f2efe6!important;color:#14160e!important;}
.town:hover{background:var(--accent)!important;color:#14160e!important;border-color:var(--accent)!important;transform:translateY(-3px);}
.town{transition:transform .25s,background .25s,color .25s,border-color .25s;}
.navlink{transition:color .25s;position:relative;}
.navlink:hover{color:var(--accent)!important;}
.step:hover .step-num{background:var(--accent)!important;color:#14160e!important;}
.step-num{transition:background .3s,color .3s;}
.q-field{transition:border-color .2s,background .2s;}
.q-field:focus{outline:none;border-color:var(--accent)!important;background:#1b1f13!important;}
.q-field::placeholder{color:#6b6f5e;}
select.q-field{-webkit-appearance:none;appearance:none;cursor:pointer;}

[data-reveal]{opacity:0;}

/* Primary navigation (WordPress menu output, styled to match the design) */
.nav-links ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:34px;}
.nav-links li{margin:0;}
.nav-links a{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:14px;color:#dcdfd2;text-decoration:none;transition:color .25s;}
.nav-links a:hover{color:var(--accent);}
.nav-links .current-menu-item>a{color:var(--accent);}

/* Footer custom logo (replaces the bundled image when one is set) */
.ros-footer-logo img{width:170px;height:auto;display:block;}

/* Social links in footer */
.ros-social{display:flex;gap:14px;margin-top:14px;}
.ros-social a{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:#3a4a23;text-decoration:none;border:1px solid #cfcbbd;border-radius:30px;padding:6px 13px;transition:background .2s,color .2s;}
.ros-social a:hover{background:#3a4a23;color:#f2efe6;}

/* Interior pages (rendered via the_content) */
.page-shell{background:#14160e;min-height:70vh;padding:140px 32px 120px;}
.page-content{max-width:760px;margin:0 auto;font-family:'Barlow',sans-serif;color:#cfd2c4;font-size:18px;line-height:1.7;}
.page-content .page-title{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;color:#f4f2e9;font-size:clamp(34px,5vw,62px);line-height:1;margin:0 0 28px;}
.page-content h1,.page-content h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;color:#f2efe6;font-size:28px;margin:34px 0 12px;}
.page-content h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;color:#f2efe6;font-size:22px;margin:26px 0 10px;}
.page-content a{color:var(--accent);}
.page-content img{max-width:100%;height:auto;border-radius:6px;}
.page-content ul,.page-content ol{padding-left:22px;}
.page-content blockquote{border-left:4px solid var(--accent);margin:24px 0;padding:6px 0 6px 20px;color:#aeb2a0;}

@media(max-width:820px){.nav-links{display:none!important;}}
@media(max-width:680px){.cb-word{display:none!important;}}
@media(max-width:600px){
#rosHeader{padding:12px 15px!important;}
#rosHeader .btn-pri{font-size:13px!important;padding:9px 12px!important;letter-spacing:.03em!important;gap:6px!important;}
#callbar{padding:9px 11px!important;gap:8px!important;}
#callbar .btn{font-size:12.5px!important;padding:9px 12px!important;}
.page-shell{padding:120px 20px 90px;}
}
