/* ===== Studio PASE v63 — Selected Work gallery, trust strip, lightbox, mega-menu ===== */
.sw-section{background:#faf8f3}
.sw-block{margin-top:24px}
.sw-block:first-of-type{margin-top:8px}
.sw-block__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;border-bottom:1px solid #e5e1d8;padding-bottom:8px}
.sw-cap{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#1f4e5f;font-weight:600}
.sw-view{font-size:.82rem;color:#9a7b3f;white-space:nowrap;text-decoration:none}
.sw-view:hover{text-decoration:underline}
.sw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sw-item{display:block;overflow:hidden;border-radius:4px;background:#ece8df;aspect-ratio:3/2}
.sw-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease;cursor:zoom-in}
.sw-item:hover img{transform:scale(1.05)}
@media(max-width:760px){.sw-grid{grid-template-columns:1fr 1fr;gap:8px}}
.sw-trust{background:#1f4e5f;color:#fff}
.sw-trust__inner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:16px 20px;text-align:center}
.sw-trust__stars{color:#f0c969;letter-spacing:2px;font-size:1rem}
.sw-trust__rating{font-weight:600;letter-spacing:.02em}
.sw-trust__sep{opacity:.45}
.sw-trust__line{opacity:.92;font-size:.95rem}
@media(max-width:520px){.sw-trust__sep{display:none}.sw-trust__inner{gap:6px}}
.sw-lb{position:fixed;inset:0;background:rgba(15,20,22,.93);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}
.sw-lb[hidden]{display:none}
.sw-lb__img{max-width:94vw;max-height:90vh;object-fit:contain;border-radius:4px}
.sw-lb__close{position:absolute;top:14px;right:22px;font-size:2.2rem;line-height:1;background:none;border:none;color:#fff;cursor:pointer;opacity:.85}
.sw-lb__close:hover{opacity:1}
.has-mega .mega-nav{position:absolute;top:100%;left:0;display:flex;gap:26px;background:var(--ink-soft);border:1px solid var(--hairline-dark);padding:22px 26px;opacity:0;visibility:hidden;transition:opacity var(--t-fast);box-shadow:0 22px 48px rgba(0,0,0,.5);z-index:60}
.has-mega:hover .mega-nav,.has-mega:focus-within .mega-nav{opacity:1;visibility:visible}
.mega-col{min-width:158px}
.mega-h{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-bright);margin:0 0 9px;font-weight:600;border-bottom:1px solid var(--hairline-dark);padding-bottom:6px}
.mega-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.mega-col a{display:block;font-size:.84rem;text-transform:none;letter-spacing:.02em;font-weight:400;line-height:1.3;color:var(--text-soft);padding:1px 0}
.mega-col a:hover{color:var(--brass-bright)}
.mega-col a:before{display:none}
.main-nav>ul>li.menu-lang{margin-left:auto}
@media(max-width:860px){
  .has-mega .mega-nav{position:static;transform:none;opacity:1;visibility:visible;display:block;border:none;box-shadow:none;background:var(--ink-soft);padding:6px 0}
  .mega-col{min-width:0;padding:2px 0}
  .mega-h{padding:6px 24px 4px;border:none}
  .mega-col a{padding-left:44px}
  .main-nav>ul>li.menu-lang{margin-left:0}
}

/* ===== v65 image-led homepage components ===== */
.proj-rail{scrollbar-width:thin;scrollbar-color:#c9c2b3 transparent}
.proj-rail::-webkit-scrollbar{height:6px}.proj-rail::-webkit-scrollbar-thumb{background:#c9c2b3;border-radius:3px}.proj-rail::-webkit-scrollbar-track{background:transparent}
.proj-rail a img{transition:transform .5s ease}.proj-rail a:hover img{transform:scale(1.04)}
.sw-grid{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#c9c2b3 transparent}
.sw-grid::-webkit-scrollbar{height:6px}.sw-grid::-webkit-scrollbar-thumb{background:#c9c2b3;border-radius:3px}
.sw-item{flex:0 0 300px;scroll-snap-align:start}
@media(max-width:760px){.sw-item{flex:0 0 80%}}
#contact .icon-circle{border:1px solid rgba(29,48,53,.35)!important;color:#1d3035!important}
#contact .form-row{display:flex;gap:16px;flex-wrap:wrap}
#contact .form-row .field{flex:1 1 200px}

/* v70 — lead capture on tool pages */
.lead-capture{margin-top:28px;padding:24px;border:1px solid #e7e0d4;border-radius:14px;background:#f6f2ea}
.lead-capture h3{margin:0 0 6px;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;line-height:1.15;color:#1d3035}
.lead-capture p{margin:0 0 14px;color:#42504f;font-size:.97rem;line-height:1.5}
.lead-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lead-form input[type=email]{flex:1 1 240px;min-width:0;padding:12px 14px;border:1px solid #cfc7b8;border-radius:10px;font:inherit;background:#fff;color:#1d3035}
.lead-form .btn{flex:0 0 auto}
.lc-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.lc-msg{flex:1 1 100%;margin:4px 0 0;font-size:.9rem;min-height:1em}
.lc-err{color:#a3402f}
.lc-done{margin:0;color:#1d3035;font-size:1.05rem;font-family:'Cormorant Garamond',Georgia,serif}
.lc-consent{flex:1 1 100%;margin:8px 0 0;font-size:.8rem;color:#6b7572}

/* v73 — seamless mobile nav accordion (tap section to expand; no toggle button) */
.nav-caret{display:none}            /* legacy: ensure any stray caret never shows */
.nav-overview{display:none}         /* hub-overview clone hidden on desktop */
@media(max-width:860px){
  .main-nav>ul>li.has-sub>a{position:relative;padding-right:52px}
  .main-nav>ul>li.has-sub>a::after{content:"";position:absolute;right:24px;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.55;transition:transform .25s ease}
  .main-nav>ul>li.has-sub.open>a::after{transform:translateY(-30%) rotate(-135deg);opacity:.8}
  .main-nav>ul>li.has-sub>.sub-nav,
  .main-nav>ul>li.has-sub>.mega-nav{display:none}
  .main-nav>ul>li.has-sub.open>.sub-nav{display:flex}
  .main-nav>ul>li.has-sub.open>.mega-nav{display:block}
  li.nav-overview{display:block}
  a.nav-overview{display:block}
  .nav-overview a,a.nav-overview{font-style:italic;opacity:.85}
}
