/* Mago's shared floating header. Espresso glass, brass details, clear navigation. */
.header.nano-header {
  top: 8px; left: 16px; right: 16px; height: 90px;
  padding: 8px 18px 8px 8px; gap: 24px;
  border: 1px solid #d5b47b4d; border-radius: 12px;
  color: #f7f1e6;
  background: linear-gradient(110deg,#30271ef5,#191714fa 45%,#26211af5);
  box-shadow: 0 9px 35px #1c191529, inset 0 1px #f3ddb31a;
  backdrop-filter: blur(22px);
}
.nano-header::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  background: repeating-linear-gradient(90deg,transparent 0,transparent 63px,#d5b47b06 63px,#d5b47b06 64px);
  pointer-events: none;
}
.nano-header::after {
  left: 25px; right: 25px; bottom: -1px;
  background: linear-gradient(90deg,transparent,#e4c894 16%,#d5b47b33 38%,transparent 70%,#d5b47b66 92%,transparent);
}
.nano-header .brand {
  position: relative; display: flex; align-items: center; flex: none;
  padding: 0 12px; background: #f7f5ef; border: 1px solid #f3dfb999;
  border-radius: 6px; height: 74px; box-shadow: inset 0 0 0 3px #e7e0d644;
}
.nano-header .logo-lockup {width: 204px; height: 69px;}
.nano-header .logo-lockup img {width: 237px!important; left: -16px; top: -12px;}
.nano-header .logo-tagline {top: 58px; left: 0; right: 0; font-size: 7.8px; letter-spacing: .35px; color: #54412c;}
.nano-header .logo-tagline::before {top: -5px; left: 5px; right: 5px;}
.nano-header .nav {
  align-self: stretch; display: flex; align-items: center; justify-content: center;
  margin: 0 auto; padding: 0; gap: 4px; min-height: 0;
  background: none; border: 0; border-radius: 0; box-shadow: none;
}
.nano-header .nav>a,.nano-header .nav>.services-menu>summary {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 47px; padding: 14px 15px; border-radius: 5px;
  font: 500 12px/1.4 var(--sans); letter-spacing: .15px; color: #e8dfd1;
  white-space: nowrap; position: relative;
  transition: background .2s,color .2s;
}
.nano-header .nav>a:hover,.nano-header .nav>.services-menu>summary:hover,
.nano-header .nav>a[aria-current],.nano-header .services-menu[open]>summary {
  background: #d5b47b12; color: #f2d6a5;
}
.nano-header .nav>a[aria-current]::after {
  height: 2px; bottom: 5px; left: 15px; right: 15px; background: var(--gold);
}
.nano-header .nav>.services-menu>summary>span {font-size: 18px; color: var(--gold);}
.nano-header .nano-shop>span {font-size: 19px; color: var(--gold);}
.nano-header-actions {display: flex; align-items: center; gap: 22px; position: relative; flex: none;}
.nano-phone {display: flex; align-items: center; gap: 10px; color: #e4d5bb; font: 11px var(--mono); min-height: 44px;}
.nano-phone svg {width: 17px; height: 17px; color: var(--gold);}
.nano-estimate {display: flex; align-items: center; justify-content: space-between; gap: 19px; min-height: 50px; padding: 7px 8px 7px 18px; background: linear-gradient(120deg,#ecd5ac,#caa568); color: #251d13; border: 1px solid #f5dfb7; border-radius: 5px; font-size: 12px; font-weight: 700; box-shadow: 0 0 22px #d5b47b0d; transition: box-shadow .2s,background .2s;}
.nano-cta-arrow {display: grid; place-items: center; width: 35px; height: 34px; border-left: 1px solid #5b422b42; font-size: 25px; font-weight: 400;}
.nano-estimate:hover {color: #251d13; background: #f2d7a7; box-shadow: 0 0 22px #d5b47b29;}
.nano-header a:focus-visible,.nano-header summary:focus-visible,.nano-header button:focus-visible {outline: 2px solid #f1ce91; outline-offset: 3px;}
.nano-header .menu-toggle {display: none;}
.nano-header .services-mega {top: 97px; left: 0; right: 0; max-height: calc(100dvh - 184px); padding: 25px 28px 30px; background: #201c17fa; border: 1px solid #cda66866; border-radius: 9px; box-shadow: 0 25px 60px #0005; backdrop-filter: blur(25px);}
.nano-header .mega-top {padding-bottom: 17px; margin-bottom: 23px;}
.nano-header .mega-top .eyebrow {font-size: 10px; letter-spacing: 1px;}
.nano-header .mega-grid {gap: 29px 35px;}
.nano-header .nav .mega-group .mega-heading {font-size: 18px; min-height: 44px;}
.nano-header .nav .mega-group>a:not(.mega-heading) {padding: 9px 0; font-size: 12px; min-height: 38px; color: #dbd1c1;}
.nano-header .nav .mega-group>a:hover {color: #f0c98a;}
.nano-header .mega-group>p {font-size: 9px; color: #c3a77d;}
.nano-header #mobile-menu[hidden] {display: none!important;}
@media(max-width:1320px) {.nano-phone {display: none;}.nano-header .nav>a,.nano-header .nav>.services-menu>summary {padding-inline: 13px;}.header.nano-header {gap: 18px;}}
@media(max-width:1100px) {
  .nano-header .nav {display: none;}
  .nano-header-actions {margin-left: auto;}
  .nano-header .menu-toggle {display: flex; position: relative; align-items: center; justify-content: space-between; gap: 14px; min-height: 50px; min-width: 96px; padding: 12px 14px; margin: 0; border: 1px solid #d5b47b5e; border-radius: 5px; background: #d5b47b0a; color: #f5e8d3;}
  .nano-header .menu-label {font: 500 12px var(--sans);}
  .nano-header .nano-menu-icon {width: 21px; height: 17px; position: relative; display: block;}
  .nano-menu-icon i {position: absolute; right: 0; top: 3px; height: 1px; width: 21px; background: #e8c894; transition: transform .2s,width .2s;}
  .nano-menu-icon i:last-child {top: 12px; width: 14px;}
  .menu-toggle[aria-expanded=true] .nano-menu-icon i:first-child {transform: translateY(4.5px) rotate(45deg);}
  .menu-toggle[aria-expanded=true] .nano-menu-icon i:last-child {width: 21px; transform: translateY(-4.5px) rotate(-45deg);}
  .nano-header #mobile-menu {position: absolute; display: block; top: 97px; left: 0; right: 0; max-height: calc(100dvh - 182px); overflow-y: auto; overscroll-behavior: contain; padding: 23px 26px 25px; background: #211d17fc; color: #f2eadd; border: 1px solid #d5b47b55; border-radius: 9px; box-shadow: 0 22px 55px #0005; scrollbar-color: #ac8956 #211d17;}
  .nano-mobile-heading {display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 21px;}
  .nano-mobile-heading .eyebrow {font-size: 9px; letter-spacing: .7px; color: #dabb89; margin: 0;}
  .nano-mobile-heading>span:last-child {font: 8px var(--mono); color: #bdb09b;}
  .nano-mobile-shortcuts {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px;}
  .nano-mobile-shortcuts>a {display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 60px; padding: 15px; background: #d5b47b10; border: 1px solid #d5b47b42; border-radius: 4px; font: 500 18px var(--serif); letter-spacing: -.6px;}
  .nano-mobile-shortcuts>a>span {font-size: 22px; color: #dec08c;}
  .nano-header #mobile-menu>a.nano-mobile-main {display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 14px 0; color: #eee6d8; border-bottom: 1px solid #d5b47b2b; font-size: 14px;}
  .nano-mobile-main>span {color: #d4b580; font-size: 19px;}
  .nano-header .mobile-service-group>summary {min-height: 50px; padding: 14px 0; gap: 20px; border-color: #d5b47b2b; color: #d4cab9; font-size: 13px; line-height: 1.5;}
  .nano-header .mobile-service-group>summary::after {color: #dab985; font-size: 20px;}
  .nano-header .mobile-service-group[open]>summary {color: #f1ce99;}
  .nano-header #mobile-menu .mobile-service-group a {padding: 12px 0 12px 14px; color: #ded3bf; font-size: 12px; border-left: 1px solid #d5b47b4d; margin: 5px 0;}
  .nano-header #mobile-menu .mobile-service-group .group-overview {color: #e4bf84; font-weight: 600;}
  .nano-mobile-contact {display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 24px; padding-top: 5px;}
  .nano-mobile-contact>a:first-child {font-size: 13px; color: #e6cfaa; min-height: 44px; display: flex; align-items: center;}
  .nano-mobile-contact>a:last-child {display: flex; gap: 20px; align-items: center; min-height: 44px; padding: 10px 15px; font-size: 11px; background: var(--gold); color: var(--night); border-radius: 3px;}
}
@media(max-width:600px) {
  .header.nano-header {top: 5px; left: 7px; right: 7px; height: 77px; padding: 5px; gap: 10px; border-radius: 8px;}
  .nano-header .brand {height: 65px; padding: 0 9px; border-radius: 4px;}
  .nano-header .logo-lockup {width: 175px; height: 60px;}
  .nano-header .logo-lockup img {width: 204px!important; top: -10px; left: -14px;}
  .nano-header .logo-tagline {top: 50px; font-size: 6.9px; letter-spacing: .12px;}
  .nano-header .logo-tagline::before {top: -4px;}
  .nano-header-actions {display: none;}
  .nano-header .menu-toggle {margin-left: auto; min-width: 89px; min-height: 49px; padding: 11px 12px; gap: 11px; border-radius: 4px;}
  .nano-header .menu-label {font-size: 11px;}
  .nano-header #mobile-menu {top: 83px; max-height: calc(100dvh - 165px); padding: 21px 18px 24px; border-radius: 7px;}
  .nano-mobile-heading {gap: 10px;}
  .nano-mobile-heading .eyebrow {font-size: 8px; letter-spacing: .35px;}
  .nano-mobile-heading>span:last-child {font-size: 7px;}
  .nano-mobile-shortcuts {gap: 10px;}
  .nano-mobile-shortcuts>a {min-height: 56px; padding: 13px 12px; font-size: 17px; gap: 8px;}
  .nano-header .mobile-service-group>summary {font-size: 13px;}
}
@media(prefers-reduced-motion:reduce) {.nano-header *, .nano-header *::before,.nano-header *::after {transition: none!important;}}
/* Keep global legacy mobile-link rules from flattening the shortcut cards. */
.nano-header #mobile-menu .nano-mobile-shortcuts>a {padding:15px; font:500 18px/1.25 var(--serif); border:1px solid #d5b47b42;}
.nano-header #mobile-menu .nano-mobile-contact>a {border:0;}
.nano-header #mobile-menu .nano-mobile-contact>a:last-child {padding:10px 15px;}
@media(max-width:600px){.nano-header #mobile-menu .nano-mobile-shortcuts>a{padding:13px 12px;font-size:17px;}}
@media(max-width:360px){
  .header.nano-header{gap:7px;}
  .nano-header .brand{padding-inline:8px;}
  .nano-header .logo-lockup{width:158px;height:56px;}
  .nano-header .logo-lockup img{width:185px!important;left:-13px;top:-9px;}
  .nano-header .logo-tagline{top:46px;font-size:6.2px;letter-spacing:0;}
  .nano-header .menu-toggle{min-width:80px;padding:11px 9px;gap:9px;}
}

/* Compact service chooser: one readable category at a time. */
.nano-header .service-browser{width:min(1160px,calc(100vw - 50px));left:50%;right:auto;transform:translateX(-50%);padding:0;background:#211d18;backdrop-filter:none;overflow-y:auto;max-height:calc(100dvh - 177px);scrollbar-color:#9e8157 #211d18;overscroll-behavior:contain}
.service-browser-top{display:flex;align-items:center;gap:24px;padding:14px 22px 14px 26px;border-bottom:1px solid #d5b47b40;background:#29231c}
.service-browser-top>span{font:500 18px/1.4 var(--serif);letter-spacing:-.3px}
.nano-header .service-browser-top>a{font-size:14px;color:#e8c795;padding:10px 0;min-height:44px;display:flex;gap:18px;align-items:center;margin-left:auto}
.service-browser-close{width:44px;height:44px;font:28px/1 var(--sans);color:#e6d7c0;border:1px solid #d5b47b50;border-radius:4px;background:transparent;cursor:pointer}
.service-browser-close:hover{background:#d5b47b20}
.service-browser-body{display:grid;grid-template-columns:290px minmax(0,1fr)}
.service-switcher{padding:15px;background:#191612;border-right:1px solid #d5b47b33}
.service-switcher[hidden]{display:none}.service-browser-body:has(.service-switcher[hidden]){grid-template-columns:1fr}
.service-switcher button{width:100%;display:flex;align-items:center;gap:11px;min-height:50px;text-align:left;padding:11px 12px;font:500 15px/1.4 var(--sans);color:#e2d8c8;background:none;border:1px solid transparent;border-radius:5px;cursor:pointer}
.service-switcher button+button{margin-top:2px}.service-tab-number{font:11px var(--mono);color:#b89c70}.service-switcher button>span:last-child{margin-left:auto;color:#ceb58c;font-size:20px}.service-switcher button:hover{background:#d5b47b12}.service-switcher button[aria-selected=true]{color:#f9f0e0;background:#d5b47b20;border-color:#d5b47b70;box-shadow:inset 3px 0 #dbb67a}
.service-menu-panels{min-width:0;padding:28px 30px}.service-menu-panel[hidden]{display:none}.service-menu-panel+.service-menu-panel:not([hidden]){border-top:1px solid #d5b47b40;padding-top:30px;margin-top:30px}
.service-menu-intro{display:grid;grid-template-columns:1fr 160px;gap:25px;align-items:start;margin-bottom:24px}.service-menu-kicker{font:600 12px/1.4 var(--sans);letter-spacing:1px;text-transform:uppercase;color:#dab985}.service-menu-intro h2{font-size:30px;line-height:1.13;letter-spacing:-1px;color:#faf4e9;margin:12px 0}.service-menu-intro p{font-size:15px;line-height:1.7;color:#cfc3b2;margin:0;max-width:460px}.service-menu-intro img{width:160px;height:150px;object-fit:cover;border-radius:4px;border:1px solid #d5b47b50}
.service-menu-options{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.nano-header .nav .service-menu-options>a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:57px;padding:12px 0;font:500 15px/1.5 var(--sans);color:#f3e9da;border-bottom:1px solid #d5b47b30}.service-menu-options>a>span{font-size:20px;color:#d5b47b;flex:none}.nano-header .nav .service-menu-options>a:hover{color:#e8c48c}.nano-header .nav .service-menu-overview{display:inline-flex;align-items:center;gap:28px;font:600 14px/1.4 var(--sans);padding:13px 18px;margin-top:26px;min-height:48px;background:#d5b47b;color:#201910;border:1px solid #e2c38f;border-radius:3px}.service-menu-overview>span{font-size:22px}.nano-header .nav .service-menu-overview:hover{background:#e9cfa5}
.service-browser-bottom{display:flex;align-items:center;gap:24px;justify-content:space-between;border-top:1px solid #d5b47b33;padding:12px 26px;background:#29231c;font:400 14px/1.6 var(--sans);color:#cfc1ab}.nano-header .nav .service-browser-bottom>a{font-size:14px;color:#ead1aa;padding:9px 0;display:flex;gap:24px;min-height:44px;align-items:center}
@media(max-width:1100px){.nano-header #mobile-menu{background:#211d18;backdrop-filter:none}.nano-header .mobile-service-group>summary{font-size:16px;min-height:56px}.nano-header #mobile-menu .mobile-service-group a{font-size:15px;min-height:48px}.nano-header #mobile-menu>a.nano-mobile-main{font-size:16px}.nano-mobile-heading .eyebrow{font:600 13px var(--sans);letter-spacing:.5px}.nano-mobile-heading>span:last-child{display:none}.nano-mobile-contact>a:first-child{font-size:15px}.nano-mobile-contact>a:last-child{font-size:14px}}
@media(min-width:1101px){.service-switcher{padding:12px}.service-switcher button{min-height:42px;padding:9px 11px;font-size:14px}.service-menu-panels{padding:24px 28px}.service-menu-intro{grid-template-columns:1fr 140px;gap:22px;margin-bottom:18px}.service-menu-intro img{width:140px;height:120px}.service-menu-intro h2{font-size:28px;margin:9px 0}.service-menu-intro p{font-size:14px;line-height:1.7}.nano-header .nav .service-menu-options>a{min-height:52px;font-size:14px;padding:10px 0}.nano-header .nav .service-menu-overview{margin-top:22px}.service-browser-top{padding-block:8px}.service-browser-bottom{padding-block:7px}.nano-header .nav>a,.nano-header .nav>.services-menu>summary{padding-inline:10px}.nano-header .nav{gap:0}}

/* Larger, readable shared navigation. */
.nano-header .nav>a,.nano-header .nav>.services-menu>summary{font-size:15px;font-weight:600;letter-spacing:0;padding-inline:10px}
.nano-phone{font:500 14px var(--sans)}.nano-estimate{font-size:14px}.nano-header .menu-label{font-size:14px}
@media(min-width:1101px) and (max-width:1380px){.header.nano-header{gap:12px}.nano-header .nav>a,.nano-header .nav>.services-menu>summary{padding-inline:8px}.nano-phone{display:none}}
@media(max-width:600px){.nano-header .menu-label{font-size:13px}}

/* Owner requested a more readable header on November 9. */
.nano-header .nav>a,.nano-header .nav>.services-menu>summary{font-size:16px}
.nano-phone{font-size:15px}.nano-estimate{font-size:15px}
.nano-header .menu-label{font-size:15px}
@media(min-width:1101px) and (max-width:1240px){.nano-header .nav>a,.nano-header .nav>.services-menu>summary{padding-inline:6px}.header.nano-header{gap:10px}}
