/* Premium Projects nav — dark bronze/gold, desktop dropdown + mobile drawer */
header{position:relative;z-index:100}
body.menu-open header{z-index:700!important}
body.menu-open .analytics-choice,
body.menu-open .availability-ribbon{display:none!important}body.menu-open .floating-call,
body.menu-open .back-to-top{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important}
body.menu-open .brand-more{visibility:hidden!important;pointer-events:none!important}
body.menu-open main,body.menu-open .announcement,body.menu-open footer{pointer-events:none}
.projects-dropdown{position:relative}
.projects-dropdown summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px}
.projects-dropdown summary::-webkit-details-marker{display:none}
.projects-dropdown summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.projects-dropdown[open] summary{color:var(--deepgold)}

/* Desktop: refined compact dropdown (not a mobile drawer dump) */
.projects-dropdown-panel{
  position:absolute;top:calc(100% + 12px);left:-20px;z-index:120;
  width:min(360px,calc(100vw - 48px));
  padding:14px 14px 12px;
  background:linear-gradient(180deg,#fbf8f1 0%,#f3ebe0 100%);
  border:1px solid #cbb892;
  border-top:2px solid var(--gold);
  box-shadow:0 18px 36px #1216122e,0 1px 0 #f7ecd8 inset;
  animation:detail-arrive .2s ease;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.projects-dropdown-panel::before{
  content:"";position:absolute;top:-7px;left:36px;width:12px;height:12px;
  background:#fbf8f1;border-left:1px solid #cbb892;border-top:1px solid #cbb892;
  transform:rotate(45deg);
}
.projects-dropdown-kicker{
  margin:0 0 8px;color:var(--ink);
  font:700 10px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;
}
.projects-dropdown-section{
  margin:12px 0 6px;color:var(--deepgold);
  font:700 9px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:.12em;text-transform:uppercase;
}
.projects-dropdown-all{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:38px;padding:0 12px;margin:0 0 2px;
  border:1px solid var(--gold);color:var(--deepgold);
  font:600 12px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:.02em;text-transform:none;
  background:linear-gradient(180deg,#fffdf8,#f4e8d4);
  transition:background .2s,border-color .2s,color .2s,box-shadow .2s;
}
.projects-dropdown-all:hover,.projects-dropdown-all:focus-visible{
  background:#1c211d;color:#f6e7c8;border-color:#1c211d;
  box-shadow:0 8px 18px #1c211d22;
}
.projects-dropdown-all span{color:inherit}

.projects-dropdown-appliances{
  display:grid;grid-template-columns:1fr 1fr;gap:5px;
}
.projects-dropdown-appliance{
  display:flex;align-items:center;min-height:34px;padding:6px 10px;
  border:1px solid #e0d6c4;background:#fffdf8;
  color:var(--ink);
  font:500 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.01em;text-transform:none;
  transition:background .18s,border-color .18s,color .18s;
}
.projects-dropdown-appliance:hover,.projects-dropdown-appliance:focus-visible{
  background:#1c211d;border-color:#1c211d;color:#f6e7c8;
}
/* Laundry: intentional full-width slim row (odd last child) — no blank hole */
.projects-dropdown-appliances .projects-dropdown-appliance:last-child:nth-child(odd){
  grid-column:1 / -1;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  letter-spacing:.03em;
}

.projects-dropdown-brands{display:grid;gap:5px;margin-top:0}
.projects-dropdown-brand{
  position:relative;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;
  min-height:44px;padding:5px 10px 5px 5px;overflow:hidden;
  border:1px solid #2a2f2a;color:#f4e6c8;
  background:linear-gradient(105deg,#1a1f1b 0%,#2a241c 55%,#1c211d 100%);
  text-transform:none;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.projects-dropdown-brand-media{
  display:block;width:40px;height:34px;border:1px solid #b9945d55;
  background-color:#111;background-position:center;background-size:cover;
  box-shadow:inset 0 0 0 1px #0006;
}
.projects-dropdown-brand-label{
  font:600 13px/1.2 "Playfair Display",Georgia,serif;letter-spacing:.02em;
}
.projects-dropdown-brand > span:last-child{color:var(--gold);font-size:14px}
.projects-dropdown-brand:hover,.projects-dropdown-brand:focus-visible{
  border-color:var(--gold);box-shadow:0 8px 18px #12161235;
  transform:translateY(-1px);
}

/* —— Mobile drawer —— */
@media(pointer:coarse){
  .projects-dropdown-appliances .projects-dropdown-appliance{min-height:44px!important}
  .projects-dropdown-all{min-height:44px}
  .projects-dropdown-panel{max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1100px){
  header{position:sticky;top:0;z-index:100}
  body.menu-open{
    overflow:hidden!important;
    touch-action:none;
    position:fixed;
    inset:0;
    width:100%;
  }
  body.menu-open header{
    position:fixed!important;
    top:0;left:0;right:0;
    z-index:700!important;
    padding:0;
    max-height:100dvh;
    display:flex;flex-direction:column;
    background:#faf8f0!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  body.menu-open header > nav{min-height:72px;flex:0 0 auto}
  body.menu-open .analytics-choice,
  body.menu-open .floating-call,
  body.menu-open .back-to-top{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important}
  body.menu-open .brand-more{visibility:hidden!important;pointer-events:none!important}
  body.menu-open main{visibility:hidden}
  .mobile-menu{
    display:none;flex-direction:column;
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    height:calc(100dvh - 72px);
    border-top:1px solid #cbb892;
    background:#fbf8f1;
    overscroll-behavior:contain;
    position:relative;z-index:2;
    isolation:isolate;
  }
  .mobile-menu.is-open{display:flex}
  .mobile-menu-scroll{
    flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;
    padding:20px 16px 16px;
    -webkit-overflow-scrolling:touch;
    background:#fbf8f1;
    min-height:0;
    width:100%;max-width:760px;margin-inline:auto;
    touch-action:pan-y pinch-zoom;
  }
  .mobile-menu a::after{content:none!important}
  .mobile-menu-kicker{
    margin:0 0 12px;color:var(--deepgold);
    font:700 11px/1.3 "DM Sans",Arial,sans-serif;
    letter-spacing:.16em;text-transform:uppercase;
  }
  .mobile-menu-section{
    margin:22px 0 10px;color:var(--deepgold);
    font:700 10px/1.3 "DM Sans",Arial,sans-serif;
    letter-spacing:.14em;text-transform:uppercase;
  }
  .mobile-menu-viewall{
    display:flex!important;align-items:center;justify-content:space-between;
    min-height:46px!important;padding:0 14px!important;margin:0 0 2px;
    border:1px solid var(--gold)!important;border-bottom-color:var(--gold)!important;
    color:var(--deepgold)!important;
    background:linear-gradient(180deg,#fffdf8,#f3e6d0);
    font:600 13px/1.3 "DM Sans",Arial,sans-serif!important;
    letter-spacing:.03em!important;text-transform:none!important;
  }
  .mobile-menu-viewall span{color:inherit}
  .mobile-menu-appliances{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  }
  .mobile-menu-appliance{
    display:flex!important;align-items:center;justify-content:flex-start!important;
    min-height:54px!important;padding:10px 12px!important;
    border:1px solid #d9cfbc!important;border-bottom-color:#d9cfbc!important;
    background:#fffdf8;color:var(--ink)!important;
    font:600 12px/1.25 "DM Sans",Arial,sans-serif!important;
    letter-spacing:.01em!important;text-transform:none!important;
  }
  .mobile-menu-appliances .mobile-menu-viewall{
    justify-content:space-between!important;gap:8px;margin:0;
    border-color:#bda477!important;color:#694b28!important;
    background:#eee4d2;
  }
  .mobile-menu-brands{display:grid;gap:8px}
  .mobile-menu-brand{
    position:relative;display:grid!important;
    grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:14px;
    min-height:66px!important;padding:8px 14px 8px 8px!important;overflow:hidden;
    border:1px solid #2a2f2a!important;border-bottom-color:#2a2f2a!important;
    color:#f4e6c8!important;
    background:linear-gradient(110deg,#161b17 0%,#2c241c 52%,#1a1f1b 100%);
    font:inherit!important;letter-spacing:0!important;text-transform:none!important;
  }
  .mobile-menu-brand-media{
    display:block;width:48px;height:48px;
    border:1px solid #b9945d66;
    background-color:#0e110f;background-size:cover;background-position:center;
  }
  .mobile-menu-brand-label{
    font:600 18px/1.2 "Playfair Display",Georgia,serif;letter-spacing:.01em;
  }
  .mobile-menu-brand > span:last-child{color:var(--gold);font-size:17px}
  .mobile-menu-links{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
    margin-top:22px;padding-top:16px;border-top:1px solid #d5c9b2;
  }
  .mobile-menu-links a{
    display:flex!important;align-items:center;justify-content:center!important;
    min-height:44px!important;padding:0 12px!important;
    border:1px solid #e0d7c7!important;background:#f5f0e7;
    color:var(--deepgold)!important;
    font:700 10px/1.2 "DM Sans",Arial,sans-serif!important;
    letter-spacing:.12em!important;text-transform:uppercase!important;
  }
  .mobile-menu-call{
    flex:0 0 auto;
    display:flex!important;align-items:center;justify-content:center!important;
    min-height:calc(52px + env(safe-area-inset-bottom))!important;margin:0;padding:0 18px env(safe-area-inset-bottom)!important;
    border:0!important;border-top:1px solid #b9945d!important;
    color:#f7ead4!important;background:#1c211d!important;
    font:700 12px/1 "DM Sans",Arial,sans-serif!important;
    letter-spacing:.14em!important;text-transform:uppercase!important;
    box-shadow:0 -8px 24px #12161218;
  }
  .mobile-menu.is-open{animation:detail-arrive .25s ease both}
}

@media(prefers-reduced-motion:reduce){.projects-dropdown-panel,.mobile-menu.is-open{animation:none}}

@media(hover:hover) and (pointer:fine){
  .projects-dropdown-brand:hover .projects-dropdown-brand-media{filter:brightness(1.08)}
}


.category-burst{position:fixed;inset:0;z-index:1001;pointer-events:none;overflow:hidden;contain:strict}
.category-burst span{position:absolute;font:26px/1 "Apple Color Emoji","Segoe UI Emoji",sans-serif;user-select:none;pointer-events:none}
@media(pointer:coarse){.category-burst span{font-size:23px}}
@media(prefers-reduced-motion:reduce){.category-burst{display:none}}
.gold-ripple{position:fixed;z-index:1000;width:94px;height:94px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ead29b55 0%,#d4ac6466 40%,transparent 70%);border:1px solid #dbb97788}
.button,.portfolio-page-button,.menu-toggle,.pager a,.lightbox-close,.lightbox .close{transition:background-color .2s,color .2s,box-shadow .2s,scale .2s cubic-bezier(.22,1,.36,1)}
.button:active,.portfolio-page-button:active,.menu-toggle:active,.pager a:active,.lightbox-close:active,.lightbox .close:active{scale:.96}
:is(a,button):focus-visible{outline:2px solid #b48a46;outline-offset:5px}
.filter-pill{background:linear-gradient(115deg,#26332b,#1b251f);box-shadow:inset 3px 0 #dabb80,0 5px 16px #17221915;transition:transform .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1)}
.project{position:relative;isolation:isolate}
.project::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;border:1px solid transparent;opacity:0;transition:opacity .3s;background:radial-gradient(ellipse at var(--shine-x,50%) 0%,#ecd39b24,transparent 60%)}
.project img{transition:transform .65s cubic-bezier(.22,1,.36,1),filter .4s}
.lightbox-copy,.modal-copy{animation:detail-arrive .4s ease both}
@keyframes detail-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes soft-settle{0%{opacity:.65;transform:translateY(9px)}75%{opacity:1;transform:translateY(-1px)}100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .projects-dropdown-panel{animation:soft-settle .26s cubic-bezier(.22,1,.36,1) both}
}
@media(hover:hover) and (pointer:fine){
 .project:hover::after{opacity:1;border-color:#c4a16666}
 .project:hover img{transform:scale(1.025);filter:brightness(1.035)}
 .button:hover,.portfolio-page-button:not(:disabled):hover,.pager a:hover{box-shadow:0 7px 20px #75603b24}
}
@media(max-width:760px), (pointer:coarse) and (max-width:1100px){
 header{background:#faf8f0ed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
 .mobile-menu.is-open{animation:detail-arrive .2s ease both}
 .mobile-menu.is-open a{animation:none}
 .mobile-menu.is-open :is(.mobile-menu-appliances,.mobile-menu-brands,.mobile-menu-links){animation:soft-settle .28s cubic-bezier(.22,1,.36,1) both}
 .mobile-menu.is-open .mobile-menu-brands{animation-delay:25ms}
 .mobile-menu.is-open .mobile-menu-links{animation-delay:45ms}
}
@media(prefers-reduced-motion:reduce){
 .project,.project img,.project::after,.filter-pill,.button,.portfolio-page-button,.menu-toggle,.pager a,.lightbox-close,.lightbox .close,.lightbox-copy,.modal-copy,.mobile-menu.is-open,.mobile-menu.is-open a,.mobile-menu-appliances,.mobile-menu-brands,.mobile-menu-links{animation:none!important;transition:none!important;scale:none!important}
 .project:hover img{transform:none}
}
