/* ============================================================
   LVC site theme (2026-10-18). Self-contained — the original WordPress
   theme CSS was never captured in the mirror, so this styles the existing
   markup from scratch. Same content/words/structure; fresh modern look.
   ============================================================ */
:root{
  --navy:#0f2237; --navy-2:#13293f; --ink:#1b2733; --body:#3a4a5a;
  --amber:#f2a900; --amber-d:#d6930a; --red:#c0392b;
  --line:#e6eaef; --bg:#f6f8fa; --card:#ffffff; --sidebar-w:300px;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ margin:0; font-family:var(--sans); color:var(--body); background:var(--bg);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; line-height:1.7; font-size:17px; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--amber-d); text-decoration:none; transition:color .18s ease; }
a:hover{ color:var(--amber); }
h1,h2,h3,h4{ color:var(--ink); font-weight:800; line-height:1.15; letter-spacing:-.02em; margin:0 0 .5em; }
h1{ font-size:2.6rem; } h2{ font-size:1.9rem; } h3{ font-size:1.3rem; }
p{ margin:0 0 1.1em; }

/* ---------- layout: left sidebar + main ---------- */
#page.site{ display:flex; align-items:flex-start; min-height:100vh; }
#sidebar.sidebar{ width:var(--sidebar-w); flex:0 0 var(--sidebar-w); position:sticky; top:0; align-self:stretch;
  min-height:100vh; background:linear-gradient(180deg,var(--navy),var(--navy-2)); color:#cdd8e4; padding:0; }
.sidebar-container,.sidebar-inner{ height:auto; }
.sidebar-inner{ padding:30px 26px; }
.site-branding{ text-align:center; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:18px; }
.custom-logo-link img,.site-branding img{ margin:0 auto 12px; max-width:200px; filter:brightness(0) invert(1); }
.site-description{ color:#8fa6bd; font-size:.86rem; letter-spacing:.04em; text-transform:uppercase; margin:0; }
.secondary-toggle{ display:none; }

/* nav */
#secondary .main-navigation ul,.secondary-navigation ul{ list-style:none; margin:0; padding:0; }
.main-navigation .nav-menu>li{ border-bottom:1px solid rgba(255,255,255,.07); }
.main-navigation a,.secondary-navigation a{ display:block; color:#dbe5ef; padding:11px 10px; font-weight:600;
  font-size:.98rem; border-radius:7px; transition:background .15s ease,color .15s ease; }
.main-navigation a:hover,.secondary-navigation a:hover{ background:rgba(242,169,0,.14); color:#fff; }
.main-navigation .sub-menu{ margin:2px 0 8px; padding-left:8px; }
.main-navigation .sub-menu a{ padding:7px 10px; font-weight:500; font-size:.9rem; color:#aebccb; }
.main-navigation .sub-menu a:before{ content:"›"; color:var(--amber); margin-right:8px; }
.secondary-navigation{ margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.1); }
.secondary-navigation a{ color:var(--amber); font-weight:700; }

/* contact widget in sidebar */
.widget-area{ margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); font-size:.95rem; color:#aebccb; }
.widget-area a{ color:#fff; }
.widget-area strong{ color:#fff; }

/* ---------- main content ---------- */
#content.site-content{ flex:1 1 auto; min-width:0; }
#primary,#main{ max-width:1080px; margin:0 auto; padding:46px 48px 60px; }
.home-content,.entry-content{ font-size:1.05rem; }
.home-content figure,.entry-content figure{ margin:0 0 1.6em; }
.home-content img,.entry-content img{ border-radius:12px; box-shadow:0 14px 40px rgba(15,34,55,.14);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease; width:100%; object-fit:cover; }
.home-content figure:hover img,.entry-content figure:hover img{ transform:translateY(-3px); box-shadow:0 22px 60px rgba(15,34,55,.22); }
.home-content h1,.entry-content h1{ margin-bottom:.4em; }
.home-content h1 em,.home-content h1 strong{ color:var(--amber-d); font-style:normal; }
/* accent rule under big headings */
.home-content h1:after{ content:""; display:block; width:72px; height:5px; border-radius:3px;
  background:linear-gradient(90deg,var(--amber),var(--red)); margin:16px 0 0; }

/* two-up service / info blocks become cards */
.home-content>div>div h2{ font-size:1.25rem; }
.home-content>div{ margin-bottom:14px; }

/* buttons / CTAs */
.wp-block-button__link,.button,.wpcf7-submit,button[type=submit],input[type=submit]{
  display:inline-block; background:var(--amber); color:#1a1205!important; font-weight:800; border:0; cursor:pointer;
  padding:13px 26px; border-radius:9px; font-size:1rem; letter-spacing:.01em; box-shadow:0 6px 18px rgba(242,169,0,.32);
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease; }
.wp-block-button__link:hover,.button:hover,.wpcf7-submit:hover,button[type=submit]:hover,input[type=submit]:hover{
  background:var(--amber-d); transform:translateY(-2px); box-shadow:0 10px 26px rgba(242,169,0,.42); color:#1a1205!important; }

/* forms (contact + employment application) */
input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),textarea,select{
  width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:9px; font:inherit; color:var(--ink);
  background:#fff; margin:6px 0 14px; transition:border-color .18s ease,box-shadow .18s ease; }
input:focus,textarea:focus,select:focus{ outline:none; border-color:var(--amber); box-shadow:0 0 0 3px rgba(242,169,0,.18); }
label{ font-weight:600; color:var(--ink); }

/* tables, hr, blockquote */
hr{ border:0; height:1px; background:var(--line); margin:2em 0; }
blockquote{ border-left:4px solid var(--amber); margin:1.5em 0; padding:.4em 0 .4em 1.2em; color:var(--ink); font-style:italic; }
table{ width:100%; border-collapse:collapse; } table td,table th{ border:1px solid var(--line); padding:10px 12px; }

/* ---------- footer ---------- */
#colophon.site-footer{ background:var(--navy); color:#9fb1c4; margin-top:40px; }
#colophon .footer-content{ max-width:1080px; margin:0 auto; padding:36px 48px; display:flex; flex-wrap:wrap; gap:30px 60px; }
#colophon a{ color:#cdd8e4; } #colophon a:hover{ color:var(--amber); }
#colophon .nav-menu,#colophon .secondary-menu,#colophon ul{ list-style:none; margin:0; padding:0; }
#colophon .nav-menu>li>a{ font-weight:700; color:#fff; }
#colophon .sub-menu a{ font-size:.9rem; }
#colophon .widget-area{ border:0; margin:0; }
.site-info{ background:#0a1826; color:#64788c; text-align:center; padding:16px; font-size:.85rem; }
.topbutton{ position:fixed; right:22px; bottom:22px; background:var(--amber); color:#1a1205; width:46px; height:46px;
  border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.25); z-index:50; }

/* skip link */
.skip-link{ position:absolute; left:-9999px; }

/* ---------- entrance motion ---------- */
@media (prefers-reduced-motion: no-preference){
  .home-content>*,.entry-content>*{ animation:lvcFade .6s ease both; }
  @keyframes lvcFade{ from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
}

/* ---------- responsive: sidebar to top on mobile ---------- */
@media (max-width:900px){
  #page.site{ display:block; }
  #sidebar.sidebar{ width:100%; position:static; min-height:0; }
  .sidebar-inner{ padding:20px; }
  .site-branding{ display:flex; align-items:center; gap:14px; text-align:left; justify-content:space-between; flex-wrap:wrap; }
  .custom-logo-link img,.site-branding img{ margin:0; max-width:150px; }
  .site-description{ flex-basis:100%; text-align:left; }
  #secondary .main-navigation .nav-menu{ display:flex; flex-wrap:wrap; gap:4px; }
  .main-navigation .nav-menu>li{ border:0; }
  .main-navigation .sub-menu{ display:none; }   /* top-level only on phone to stay tidy */
  #primary,#main{ padding:26px 20px 40px; }
  h1{ font-size:2rem; } h2{ font-size:1.5rem; }
  #colophon .footer-content{ padding:26px 20px; gap:20px; }
}
