/*
Theme Name: My Raw Theme
Theme URI: https://example.com
Author: Your Name
Author URI: https://example.com
Description: A minimal custom theme.
Version: 1.0
Requires PHP: 7.4
Text Domain: mytheme
*/

/* ==========================================================================
   Header
   ========================================================================== */
img.custom-logo {
    width: 7rem;
    height: auto;
}

.site-header {
	background:var(--paper);
    padding: .3rem 0;
}
.site-header .container{
	max-width: 1200px;
    margin: 0 auto;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: #000;
    color: #fff;
    padding: 8px 16px;
    z-index: 999999;
    text-decoration: none;
}

.skip-link:focus {
    top: 0;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* Site branding */
.site-branding {
    display: flex;
    flex-direction: column;
}

.site-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

.site-title a {
    color: #111;
    text-decoration: none;
}

.site-title a:hover {
    color: #555;
}

.site-description {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
    color: #666;
}

/* Navigation */
.main-navigation {
    display: flex;
    align-items: center;
}

.main-navigation ul {
    list-style: none;
    display: flex;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
}

.main-navigation ul ul {
    /* Submenus */
    position: absolute;
    display: none;
    flex-direction: column;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    padding: 0.5rem 0;
    min-width: 180px;
    z-index: 10;
}

.main-navigation li {
    position: relative;
}

.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul {
    display: flex;
}

.main-navigation ul ul li {
    padding: 0 1rem;
}

.main-navigation a {
    text-decoration: none;
    color: #111;
    font-size: 0.95rem;
    font-weight: 500;
    padding: 0.5rem 0;
    display: inline-block;
}

.main-navigation a:hover {
    color: #555;
}

/* Mobile menu toggle */
.menu-toggle {
    display: none;
    background: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 768px) {
    .site-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 1rem;
    }

    .menu-toggle {
        display: block;
        margin-top: 0.75rem;
    }

    .main-navigation ul {
        flex-direction: column;
        gap: 0.5rem;
        display: none;
        width: 100%;
        margin-top: 0.75rem;
    }

    .main-navigation.toggled ul {
        display: flex;
    }

    .main-navigation ul ul {
        position: static;
        box-shadow: none;
        padding-left: 1rem;
    }
}

 /* ---- these :root vars already exist on the site pages; kept here so the footer previews standalone ---- */
  :root{
    --ink:#0C2427;--ink-2:#103035;--ink-line:#1E3B3F;
    --brass:#B7924E;--brass-soft:#D8C39A;--sage:#6E8B7E;
    --t-on-ink:#E9E6DC;--t-on-ink-mute:#93A6A3;
    --maxw:1160px;--ease:cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:"Instrument Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
  .preview-spacer{height:70px}

  /* ===================== FOOTER ===================== */
.footer_logo{
	width:7rem;
	height: auto;
}
  .site-footer{
    background:var(--ink);color:var(--t-on-ink);
    border-top:1px solid var(--ink-line);
    position:relative;
  }
  .site-footer::before{content:"";position:absolute;top:-1px;left:0;width:120px;height:2px;background:linear-gradient(90deg,var(--brass),var(--brass-soft))}
  .site-footer a{color:inherit;text-decoration:none}
  .sf-wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(56px,7vw,88px) clamp(22px,5vw,64px) 0}

  .sf-top{
    display:grid;
    grid-template-columns:1.5fr 1fr 1.2fr 1.3fr;
    gap:clamp(30px,4vw,56px);
    padding-bottom:clamp(44px,5vw,64px);
  }
  @media (max-width:900px){.sf-top{grid-template-columns:1fr 1fr}}
  @media (max-width:560px){.sf-top{grid-template-columns:1fr;gap:38px}}

  /* brand block */
  .sf-logo{font-family:"Spectral",serif;font-size:1.5rem;letter-spacing:.02em;color:var(--t-on-ink);display:inline-block}
  .sf-logo b{color:var(--brass);font-weight:500}
  .sf-logo small{display:block;font-family:"Spline Sans Mono",monospace;font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:var(--t-on-ink-mute);margin-top:4px}
  .sf-tag{color:var(--t-on-ink-mute);font-size:.96rem;margin-top:20px;max-width:34ch;line-height:1.55}
  .sf-loc{display:flex;align-items:flex-start;gap:10px;margin-top:24px;font-family:"Spline Sans Mono",monospace;font-size:.78rem;letter-spacing:.04em;color:var(--t-on-ink);line-height:1.5}
  .sf-loc svg{flex:none;margin-top:2px}
  .sf-loc span small{display:block;color:var(--t-on-ink-mute);letter-spacing:.02em;text-transform:none;font-size:.72rem;margin-top:4px}

  /* social buttons */
  .sf-social{display:flex;gap:10px;margin-top:26px}
  .sf-social a{
    width:42px;height:42px;border:1px solid var(--ink-line);border-radius:3px;
    display:grid;place-items:center;color:var(--t-on-ink-mute);
    transition:.3s var(--ease);
  }
  .sf-social a:hover{color:var(--ink);background:var(--brass-soft);border-color:var(--brass-soft);transform:translateY(-2px)}

  /* column headings + link lists */
  .sf-col h4{font-family:"Spline Sans Mono",monospace;font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:20px}
  .sf-links{list-style:none;display:grid;gap:13px}
  .sf-links a{color:var(--t-on-ink-mute);font-size:.95rem;transition:color .25s var(--ease),padding-left .25s var(--ease);display:inline-flex;align-items:center;gap:8px}
  .sf-links a:hover{color:var(--brass-soft);padding-left:5px}

  /* consultants */
  .sf-person{margin-bottom:22px}
  .sf-person .nm{font-family:"Spectral",serif;font-size:1.12rem;color:var(--t-on-ink)}
  .sf-person .rl{font-family:"Spline Sans Mono",monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t-on-ink-mute);margin-top:3px}
  .sf-person a.li{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-size:.84rem;color:var(--brass-soft);transition:.25s var(--ease)}
  .sf-person a.li:hover{gap:11px;color:var(--brass)}
  .sf-person a.li svg{flex:none}

  /* legal + bottom bar */
  .sf-legal{border-top:1px solid var(--ink-line);padding:26px 0;font-size:.76rem;color:#5c6f6c;line-height:1.6}
  .sf-bar{
    border-top:1px solid var(--ink-line);
    display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;
    padding:24px 0 40px;
    font-family:"Spline Sans Mono",monospace;font-size:.72rem;letter-spacing:.05em;color:var(--t-on-ink-mute);
  }
  .sf-bar .dot{display:inline-flex;align-items:center;gap:9px}
  .sf-bar .dot::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--sage)}
  .sf-bar nav{display:flex;flex-wrap:wrap;gap:10px 20px}
  .sf-bar nav a{color:var(--t-on-ink-mute);transition:color .25s var(--ease)}
  .sf-bar nav a:hover{color:var(--brass-soft)}

  @media (prefers-reduced-motion:reduce){.sf-social a:hover,.sf-person a.li:hover,.sf-links a:hover{transform:none}}