/* Shared navigation. Derived from the approved local mockup; no preview controls. */
.site-header { --ink: var(--primary-color); --muted: #62645f; --yellow: var(--accent-color); --paper: var(--bg-band); --line: #e8e6df; color: var(--ink); padding: 0; box-shadow: none; line-height: 1.5; }
.site-header .mobile-toggle { min-width: 44px; min-height: 44px; }
.site-header [hidden], .page-scrim[hidden] { display: none !important; }
.site-header :where(a) { color: inherit; padding: 0; font-size: inherit; font-weight: inherit; text-transform: none; letter-spacing: normal; position: static; }
.site-header :where(button) { font: inherit; cursor: pointer; }
.site-header :where(svg) { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.site-header .nav-item[aria-current="page"], .site-header .nav-item.is-current { color: var(--accent-deep); }
.site-header {
    position:sticky;
    top:0;
    background:#fff;
    z-index:50;
    border-bottom:1px solid var(--line)
}
.site-header .header-inner {
    max-width:1520px;
    min-height:86px;
    margin:auto;
    padding:16px 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px
}
.site-header .brand {
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0
}
.site-header .brand img {
    width:52px;
    height:52px;
    object-fit:contain
}
.site-header .brand strong {
    display:block;
    font-size:15px;
    font-weight:900;
    letter-spacing:.02em;
    line-height:1.2
}
.site-header .brand small {
    display:block;
    font-size:11px;
    color:#4f5752;
    letter-spacing:.03em
}
.site-header .site-nav {
    display:flex;
    align-items:center;
    gap:28px
}
.site-header .nav-item {
    display:inline-flex;
    gap:7px;
    align-items:center;
    min-height:44px;
    background:none;
    border:0;
    padding:8px 0;
    font-size:12px;
    font-weight:650;
    text-transform:uppercase;
    letter-spacing:.065em;
    position:relative;
    white-space:nowrap
}
.site-header .nav-item:hover,.site-header .nav-item[aria-expanded="true"] {
    color:#806000
}
.site-header .nav-item[aria-expanded="true"]:after {
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:2px;
    background:var(--yellow)
}
.site-header .menu-trigger svg {
    width:11px;
    height:11px;
    transition:transform .15s
}
.site-header .menu-trigger[aria-expanded="true"] svg {
    transform:rotate(180deg)
}
.site-header .header-actions {
    display:flex;
    gap:26px;
    align-items:center
}
.site-header .phone-link {
    display:flex;
    align-items:center;
    gap:9px;
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
    min-height:44px
}
.site-header .phone-link svg {
    width:17px;
    height:17px
}
.site-header .quote-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:12px 23px;
    background:var(--yellow);
    border-radius:3px;
    text-transform:uppercase;
    font-size:12px;
    font-weight:800;
    letter-spacing:.07em;
    white-space:nowrap
}
.site-header .quote-button:hover,.site-header .primary-button:hover {
    background:#e3b809
}
.site-header .mobile-toggle {
    display:none
}
.site-header .mega-panel {
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    box-shadow:0 18px 24px -20px #0005;
    border-top:1px solid var(--line)
}
.site-header .mega-inner {
    max-width:1120px;
    margin:auto;
    padding:32px 24px 30px;
    display:grid;
    gap:52px
}
.site-header .mobilier-layout {
    grid-template-columns:1fr 1fr 1.12fr
}
.site-header .menu-eyebrow {
    color:var(--muted);
    font-size:10px;
    font-weight:650;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom:14px
}
.site-header .category-links a {
    display:inline-flex;
    align-items:center;
    min-height:40px;
    font-size:24px;
    font-weight:700;
    letter-spacing:-.025em;
    line-height:1.35
}
.site-header .category-links a:hover {
    text-decoration:underline;
    text-decoration-color:var(--yellow);
    text-underline-offset:5px
}
.site-header .category-links .sub-link {
    font-size:13px;
    font-weight:500;
    color:#62645f;
    min-height:28px;
    letter-spacing:0;
    margin:0 0 8px
}
.site-header .sub-link span {
    margin-left:10px
}
.site-header .text-link {
    display:inline-flex;
    gap:18px;
    align-items:center;
    min-height:36px;
    font-size:12px;
    font-weight:650
}
.site-header .text-link:hover {
    text-decoration:underline;
    text-underline-offset:4px
}
.site-header .all-furniture {
    margin-top:18px
}
.site-header .furniture-feature {
    padding-left:30px;
    border-left:1px solid var(--line)
}
.site-header .feature-image {
    height:165px;
    background:var(--paper);
    margin-bottom:16px;
    overflow:hidden
}
.site-header .feature-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 48%
}
.site-header .furniture-feature .menu-eyebrow {
    margin-bottom:5px;
    font-size:9px
}
.site-header .feature-title {
    font-size:19px;
    font-weight:700;
    letter-spacing:-.025em;
    line-height:1.25;
    display:flex;
    gap:20px;
    justify-content:space-between
}
.site-header .feature-title>span {
    font-size:21px;
    font-weight:400
}
.site-header .feature-caption {
    font-size:12px;
    color:var(--muted);
    margin-top:6px
}
.site-header .mega-bottom {
    background:#faf9f6;
    border-top:1px solid #eeece6
}
.site-header .mega-bottom>div {
    max-width:1120px;
    margin:auto;
    min-height:58px;
    padding:10px 24px;
    display:flex;
    gap:20px;
    align-items:center;
    justify-content:space-between
}
.site-header .mega-bottom span {
    font-size:12px;
    color:#62645f
}
.site-header .mega-bottom .text-link span {
    color:var(--ink);
    font-size:17px
}
.site-header .services-layout {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:64px
}
.site-header .service-link {
    display:flex;
    flex-direction:column;
    align-items:flex-start
}
.site-header .service-icon {
    width:25px;
    height:25px;
    margin-bottom:19px
}
.site-header .service-link .menu-eyebrow {
    margin-bottom:10px
}
.site-header .service-link h2 {
    font-size:27px;
    letter-spacing:-.035em;
    font-weight:750;
    line-height:1.15
}
.site-header .service-link>p:not(.menu-eyebrow) {
    font-size:13px;
    color:var(--muted);
    max-width:27ch;
    line-height:1.65;
    margin:14px 0 18px
}
.site-header .service-link>.text-link {
    margin-top:auto
}
.site-header .services-more {
    grid-column:1/-1;
    display:flex;
    flex-wrap:wrap;
    gap:0 28px;
    margin:0;
    padding-top:6px;
    border-top:1px solid var(--line)
}
.site-header .services-more a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:14px;
    font-weight:700
}
.site-header .services-more a:hover {
    text-decoration:underline;
    text-underline-offset:4px
}
.site-header .service-link:hover .text-link {
    text-decoration:underline;
    text-underline-offset:4px
}
.page-scrim {
    position:fixed;
    top:var(--header-bottom);
    inset-inline:0;
    bottom:0;
    z-index:40;
    background:#0003
}
@media(min-width:1600px) {
    .header-inner {
    padding-inline:48px
}

}
@media(max-width:1200px) {
    .header-inner {
    padding-inline:24px;
    gap:20px
}
.site-header .brand {
    gap:10px
}
.site-header .brand strong {
    font-size:13px
}
.site-header .brand img {
    width:44px;
    height:44px
}
.site-header .site-nav {
    gap:22px
}
.site-header .header-actions {
    gap:18px
}
.site-header .phone-link span {
    display:none
}
.site-header .phone-link {
    min-width:44px;
    justify-content:center
}
.site-header .quote-button {
    padding-inline:18px
}
.site-header .mega-inner {
    gap:36px
}
.site-header .brand small {
    font-size:10px
}

}
@media(max-width:850px) {
    .header-inner {
    padding:12px 20px;
    gap:16px;
    min-height:76px
}
.site-header .site-nav {
    gap:18px
}
.site-header .brand small {
    display:none
}
.site-header .brand strong {
    max-width:120px;
    font-size:12px
}
.site-header .brand img {
    width:38px;
    height:38px
}
.site-header .quote-button {
    padding-inline:13px;
    font-size:10px;
    min-height:44px
}
.site-header .nav-item {
    font-size:11px
}
.site-header .phone-link {
    display:flex;
    min-width:44px
}
.site-header .header-actions {
    gap:8px
}
.site-header .mega-inner {
    gap:26px
}
.site-header .category-links a {
    font-size:21px
}
.site-header .furniture-feature {
    padding-left:20px
}
.site-header .feature-title {
    font-size:17px
}
.site-header .service-link h2 {
    font-size:23px
}
.site-header .services-layout {
    gap:25px
}

}
@media(max-width:700px) {
    .site-header {
    position:relative
}
.site-header .header-inner {
    padding:12px 16px;
    min-height:76px;
    gap:10px;
    flex-wrap:wrap
}
.site-header .brand {
    flex:1;
    gap:9px
}
.site-header .brand img {
    width:34px;
    height:34px
}
.site-header .brand strong {
    max-width:145px;
    font-size:11px;
    letter-spacing:0;
    line-height:1.2
}
.site-header .header-actions {
    gap:0
}
.site-header .quote-button {
    font-size:10px;
    padding:10px 13px;
    min-height:44px;
    letter-spacing:.04em
}
.site-header .mobile-toggle {
    display:flex;
    width:44px;
    height:44px;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    align-items:center;
    padding:10px;
    border:0;
    background:none
}
.site-header .mobile-toggle span {
    width:23px;
    height:2px;
    background:var(--ink);
    transition:transform .15s
}
.site-header .mobile-toggle[aria-expanded="true"] span:first-child {
    transform:translateY(4px) rotate(45deg)
}
.site-header .mobile-toggle[aria-expanded="true"] span:last-child {
    transform:translateY(-4px) rotate(-45deg)
}
.site-header .site-nav {
    display:flex;
    flex-wrap:wrap;
    order:4;
    width:100%;
    padding-top:10px;
    gap:0
}
.site-header.mobile-open .site-nav {
    display:block
}
.site-header .nav-item {
    width:100%;
    min-height:54px;
    font-size:14px;
    letter-spacing:0;
    text-transform:none;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    padding:12px 2px
}
.site-header .nav-item[aria-expanded="true"]:after {
    display:none
}
.site-header .menu-trigger svg {
    width:14px;
    height:14px
}
.site-header .mega-panel {
    position:static;
    border:0;
    box-shadow:none
}
.site-header .mega-inner {
    display:block;
    padding:16px 14px 22px
}
.site-header .menu-column+.menu-column {
    margin-top:24px
}
.site-header .menu-eyebrow {
    font-size:9px;
    margin-bottom:7px
}
.site-header .category-links a {
    min-height:44px;
    font-size:21px
}
.site-header .category-links .sub-link {
    min-height:38px;
    font-size:13px;
    margin-bottom:2px
}
.site-header .furniture-feature {
    display:none
}
.site-header .all-furniture {
    margin-top:12px;
    min-height:44px
}
.site-header .mega-bottom {
    display:none
}
.site-header .services-layout {
    padding:20px 14px 10px
}
.site-header .service-link+.service-link {
    margin-top:28px
}
.site-header .service-icon {
    width:23px;
    height:23px;
    margin-bottom:10px
}
.site-header .service-link h2 {
    font-size:24px
}
.site-header .service-link h2 br {
    display:none
}
.site-header .service-link>p:not(.menu-eyebrow) {
    max-width:35ch;
    font-size:13px;
    margin:10px 0
}
.site-header .service-link .text-link {
    min-height:44px
}
.page-scrim {
    display:none
}

}
@media(max-width:700px) {
    .phone-link {
    display:flex;
    min-width:44px;
    min-height:44px;
    justify-content:center
}
.site-header .brand {
    min-width:0
}
.site-header .brand>span {
    min-width:0
}
.site-header .brand img {
    flex-shrink:0
}

}
@media(max-width:380px) {
    .brand img {
    width:34px;
    height:34px
}
.site-header .brand>span { display:none; }
.site-header .brand strong {
    font-size:10px;
    max-width:117px
}
.site-header .header-inner {
    gap:6px;
    padding-inline:12px
}
.site-header .brand {
    gap:7px
}
.site-header .quote-button {
    padding-inline:10px
}

}
@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
    transition:none!important;
    scroll-behavior:auto!important
}

}

/* Without JavaScript, the parent links remain available on every screen. */
.site-header .mobile-phone { display:none; }
.site-header .header-search { position:static; }
.site-header .header-search summary {
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    cursor:pointer;
    list-style:none;
    border-radius:3px;
}
.site-header .header-search summary::-webkit-details-marker { display:none; }
.site-header .header-search summary svg { width:21px; height:21px; }
.site-header .header-search summary:hover,
.site-header .header-search[open] summary { background:var(--paper); }
.site-header :is(summary, button, a, input):focus-visible {
    outline:2px solid var(--ink);
    outline-offset:3px;
}
.site-header .header-search-panel {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:22px 24px 26px;
    background:#fff;
    border-block:1px solid var(--line);
    box-shadow:0 14px 24px -20px #0005;
}
.site-header .header-search-panel form { max-width:720px; margin:0 auto; }
.site-header .header-search-panel label {
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:650;
}
.site-header .header-search-row { display:flex; gap:10px; }
.site-header .header-search-row input {
    flex:1;
    min-width:0;
    min-height:48px;
    padding:10px 12px;
    border:1px solid #767676;
    border-radius:3px;
    font:inherit;
    font-size:16px;
    color:var(--ink);
    background:#fff;
}
.site-header .header-search-row input::placeholder { color:#62645f; opacity:1; }
.site-header .header-search-row button {
    min-height:48px;
    padding:10px 16px;
    border:0;
    border-radius:3px;
    background:var(--yellow);
    color:var(--ink);
    font-size:14px;
    font-weight:700;
}
.site-header .header-search-row button:hover { background:#e3b809; }
.site-header.menu-ready .menu-fallback { display: none; }
@media (max-width: 700px) {
  .site-header { position:sticky; top:0; }
  .site-header .header-actions { flex-shrink:0; }
  .site-header .header-actions .phone-link { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
  .site-header .header-actions .phone-link span { display:none; }
  .site-header .header-inner { flex-wrap:nowrap; gap:6px; padding-inline:12px; }
  .site-header .header-actions .selection-link { min-width:44px; }
  .site-header .mobile-phone { display:flex; }
  .site-header .mobile-phone span { font-size:13px; letter-spacing:0; }
  .site-header .header-search-panel { padding:18px 16px 22px; }
  .site-header .header-search-row { gap:8px; }
  .site-header .header-search-row button { padding-inline:12px; }
  .has-js .site-header:not(.menu-ready) .site-nav { display: none; }
  .site-header.menu-ready .site-nav { display: none; }
  .site-header.mobile-open .site-nav { display: block; }
  /* The open panel takes its own full-width row instead of widening the page. */
  .site-header.mobile-open .header-inner { flex-wrap:wrap; }
}
@media (max-width:480px) {
  .site-header .brand > span { display:none; }
}

/* Third primary link: retain all actions at narrow desktop widths. */
@media(min-width:701px) and (max-width:850px){header.site-header .header-inner{padding-inline:16px;gap:10px}header.site-header .site-nav{gap:12px}header.site-header .header-actions{gap:2px}}
