/* 20/20 Vision – Services dropdown + service pages */
.nav-dd{position:relative;display:inline-flex;align-items:center;gap:2px}
.nav-dd__btn{background:none;border:0;padding:6px;cursor:pointer;color:inherit;line-height:0}
.nav-dd__btn span{display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.nav-dd__menu{display:none;position:absolute;top:100%;left:-16px;z-index:1000;min-width:270px;padding:10px 0;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(255,255,255,.22);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.nav-dd__menu a{display:block;padding:9px 20px;color:#fff !important;text-shadow:0 1px 3px rgba(0,0,0,.6);text-decoration:none;font-size:15px;white-space:nowrap}
.nav-dd__menu a:hover,.nav-dd__menu a:focus{background:rgba(255,255,255,.14)}
.nav-dd__menu .nav-dd__all{border-top:1px solid rgba(255,255,255,.25);margin-top:6px;padding-top:12px;font-weight:600}
.nav-dd:hover .nav-dd__menu,.nav-dd:focus-within .nav-dd__menu,.nav-dd.is-open .nav-dd__menu{display:block}
.nav-dd.is-open .nav-dd__btn span{transform:rotate(-135deg)}
@media (max-width:960px){
  .nav-dd{flex-wrap:wrap;width:100%;justify-content:space-between}
  .nav-dd:hover .nav-dd__menu,.nav-dd:focus-within .nav-dd__menu{display:none}
  .nav-dd.is-open .nav-dd__menu{display:block}
  .nav-dd__menu{position:static;width:100%;min-width:0;box-shadow:none;background:transparent;padding:4px 0 8px 12px}
  .nav-dd__menu a{color:inherit !important;padding:8px 0;white-space:normal;opacity:.85}
  .nav-dd__menu a:hover{background:transparent;opacity:1}
}
/* service pages */
.svc-page{background:#fff;color:#161616}
.header--solid{position:relative;background:#000;color:#fff}
.svc-hero{background:#000;color:#fff;padding:56px 0 64px}
.svc-crumbs{font-size:13px;opacity:.7;margin-bottom:22px}
.svc-crumbs a{color:inherit}
.svc-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;opacity:.7;margin:0 0 10px}
.svc-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,6vw,62px);line-height:1.05;margin:0 0 18px;max-width:18ch}
.svc-lead{font-size:clamp(17px,2vw,20px);line-height:1.55;max-width:60ch;opacity:.9;margin:0 0 28px}
.svc-cta__btns{display:flex;flex-wrap:wrap;gap:12px}
.svc-body{padding:56px 0}
.svc-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.svc-main{font-size:17px;line-height:1.7;max-width:70ch}
.svc-main h2{font-family:"Playfair Display",Georgia,serif;font-size:28px;margin:40px 0 12px}
.svc-main h2:first-child{margin-top:0}
.svc-list{padding-left:1.2em;margin:0 0 16px}.svc-list li{margin:4px 0}
.svc-faq{border-top:1px solid #e5e5e5;padding:14px 0}
.svc-faq summary{cursor:pointer;font-weight:600}
.svc-faq p{margin:10px 0 0}
.svc-side{position:sticky;top:24px;display:grid;gap:20px}
.svc-card{border:1px solid #e5e5e5;border-radius:14px;padding:22px}
.svc-card h2{font-family:"Playfair Display",Georgia,serif;font-size:20px;margin:0 0 10px}
.svc-small{font-size:14px;opacity:.75}
.svc-links{list-style:none;padding:0;margin:0}
.svc-links a{display:block;padding:5px 0;color:inherit;text-decoration:none;font-size:15px}
.svc-links a:hover{text-decoration:underline}
.svc-links a[aria-current]{font-weight:700}
.svc-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.svc-tile{display:block;border:1px solid #e5e5e5;border-radius:14px;padding:26px;color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s}
.svc-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.08)}
.svc-tile h2{font-family:"Playfair Display",Georgia,serif;font-size:22px;margin:0 0 8px}
.svc-tile p{margin:0 0 14px;line-height:1.55;opacity:.85}
.svc-tile--feature{background:#000;color:#fff;border-color:#000}
.svc-cta{background:#f4f4f4;padding:56px 0;text-align:center}
.svc-cta h2{font-family:"Playfair Display",Georgia,serif;font-size:34px;margin:0 0 8px}
.svc-cta .svc-cta__btns{justify-content:center;margin-top:20px}
@media (max-width:900px){.svc-grid{grid-template-columns:1fr}.svc-side{position:static}}
