:root{
  --s-ink:#1B1B1B;
  --s-paper:#FAF7F2;
  --s-paper2:#F3EEE6;
  --s-accent:#E08700;
  --s-line:#E2DACE;
  --s-muted:#6B6560;
  --s-display:"Playfair Display",Georgia,serif;
  --s-body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.s-wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}

/* header */
.s-head{position:sticky;top:0;z-index:90;background:rgba(27,27,27,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.s-head-in{height:74px;display:flex;align-items:center;gap:24px}
.s-brand{display:inline-flex;align-items:center;text-decoration:none;border:0}
.s-brand img{height:52px;width:auto}
.s-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.s-nav a{color:rgba(255,255,255,.72);font-family:var(--s-body);font-size:.88rem;font-weight:500;padding:.5rem .76rem;border-radius:999px;text-decoration:none;border:0;transition:color .2s,background .2s;white-space:nowrap}
.s-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.s-nav a[aria-current="page"]{color:#fff}
.s-cta{background:var(--s-accent);color:var(--s-ink)!important;font-weight:600;margin-left:8px;padding:.62rem 1.05rem!important}
.s-cta:hover{background:#c97800;color:var(--s-ink)!important}
.s-toggle{display:none;width:42px;height:42px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:transparent;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.s-toggle span{display:block;width:16px;height:1.5px;background:var(--s-paper);transition:transform .25s}
.s-head.open .s-toggle span:first-child{transform:translateY(3.25px) rotate(45deg)}
.s-head.open .s-toggle span:last-child{transform:translateY(-3.25px) rotate(-45deg)}

/* breadcrumbs */
.s-crumbs{background:var(--s-ink);border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--s-body);font-size:.76rem;color:rgba(255,255,255,.55)}
.s-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;margin:0;padding:10px 0}
.s-crumbs li{display:flex;align-items:center;gap:6px}
.s-crumbs li+li::before{content:"/";color:rgba(255,255,255,.25)}
.s-crumbs a{color:rgba(255,255,255,.55);text-decoration:none;border:0}
.s-crumbs a:hover{color:#fff}

/* buttons on inner pages, aligned to the new system */
.btn{border-radius:999px;font-family:var(--s-body);font-weight:600;text-decoration:none}
.btn-primary{background:var(--s-accent);color:var(--s-ink);border-color:var(--s-accent)}
.btn-primary:hover{background:#c97800;border-color:#c97800;color:var(--s-ink)}
.btn-quiet{background:transparent;color:var(--s-ink);border-color:var(--s-line)}
.btn-quiet:hover{background:var(--s-paper2);border-color:var(--s-accent);color:var(--s-ink)}
.btn-onDark{background:var(--s-paper);color:var(--s-ink);border-color:var(--s-paper)}
.btn-onDark:hover{background:var(--s-accent);border-color:var(--s-accent);color:var(--s-ink)}

/* footer */
.s-foot{background:var(--s-ink);color:rgba(255,255,255,.6);padding:60px 0 26px;font-family:var(--s-body)}
.s-foot-grid{display:grid;grid-template-columns:1.4fr .9fr .9fr 1fr;gap:32px}
.s-foot-brand a{display:inline-block;border:0}
.s-foot-brand img{height:40px;width:auto;margin-bottom:14px}
.s-foot-brand p{font-size:.84rem;max-width:34ch;color:rgba(255,255,255,.45);margin:0}
.s-foot-col{display:flex;flex-direction:column;gap:8px;font-size:.86rem}
.s-foot-col span{color:rgba(255,255,255,.35);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}
.s-foot-col a{color:rgba(255,255,255,.7);text-decoration:none;border:0}
.s-foot-col a:hover{color:var(--s-accent)}
.s-foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:.7rem;color:rgba(255,255,255,.35)}
.s-foot-bottom a{color:inherit;border:0}

@media (max-width:900px){
  .s-head-in{height:66px}
  .s-brand img{height:44px}
  .s-toggle{display:flex;margin-left:auto}
  .s-nav{position:absolute;top:66px;left:0;right:0;background:rgba(27,27,27,.98);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.1);flex-direction:column;align-items:stretch;padding:14px clamp(20px,5vw,48px) 20px;display:none;gap:2px}
  .s-head.open .s-nav{display:flex}
  .s-nav a{padding:12px 4px;border-radius:0;font-size:1rem}
  .s-cta{margin:10px 0 0;text-align:center;border-radius:999px!important;padding:.8rem 1rem!important}
  .s-foot-grid{grid-template-columns:1fr 1fr}
  .s-foot-brand{grid-column:1/-1}
}
@media (max-width:600px){
  .s-foot-grid{grid-template-columns:1fr}
}

/* top-nav phone link */
.s-phone{color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;border-bottom:1px solid rgba(224,135,0,.7);padding:.35rem .5rem;white-space:nowrap}
.s-phone:hover{color:var(--s-accent)}
@media (max-width:900px){
  .s-phone{text-align:center;border-bottom:0;padding:12px 4px;font-size:1rem}
}

/* services dropdown */
.nav-drop{position:relative}
.nav-drop summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-size:.9rem;font-weight:500;color:#fff;opacity:.78;transition:opacity .2s}
.nav-drop summary::-webkit-details-marker{display:none}
.nav-drop summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.nav-drop[open] summary{opacity:1}
.nav-drop summary.is-active{color:#E08700;opacity:1}
.nav-drop[open] summary::after{transform:rotate(-135deg) translateY(0)}
.drop-menu{position:absolute;top:calc(100% + 14px);left:-14px;width:520px;max-width:calc(100vw - 40px);background:#1B1B1B;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:2px;box-shadow:0 30px 70px rgba(0,0,0,.55);z-index:80}
.drop-menu a{display:block;padding:11px 12px;border-radius:10px;color:rgba(255,255,255,.78);font-size:.86rem;text-decoration:none;border:0}
.drop-menu a:hover{background:rgba(224,135,0,.14);color:#fff}
.drop-menu .drop-all{grid-column:1/-1;margin-top:4px;border-top:1px solid rgba(255,255,255,.1);border-radius:0;color:#E08700;font-weight:600;padding:12px}
@media(max-width:900px){
  .nav-drop{width:100%}
  .nav-drop summary{justify-content:space-between;width:100%;padding:10px 0;font-size:1rem}
  .drop-menu{position:static;width:auto;max-width:none;grid-template-columns:1fr;box-shadow:none;border:0;background:transparent;padding:0 0 8px 14px}
  .drop-menu a{padding:9px 0;font-size:.9rem}
  .drop-menu .drop-all{border-top:0;padding:10px 0}
}

@media (min-width:901px){
  .s-nav .nav-drop summary{padding:8px 12.16px;font-size:14.08px;line-height:22.8px;display:flex;align-items:center}
}
