/* =========================================================================
   WWMR — inner-page components
   ========================================================================= */

/* service list (practice dept pages) */
.practice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.8rem}
.svc{display:flex;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.svc::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(176,138,79,.5),transparent);opacity:0;transition:opacity .3s}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.svc:hover::before{opacity:1}
.svc-n{font-family:var(--serif);color:var(--brass);font-size:1.05rem;font-weight:600;flex:none;line-height:1.3}
.svc h3{font-size:1.12rem;margin:0 0 .35rem}
.svc p{font-size:.92rem;color:var(--muted);margin:0}
@media(max-width:760px){.practice-list{grid-template-columns:1fr}}

.dept__intro{margin-inline:auto}

/* accolades grid */
.acc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.acc-card{padding:1.8rem}
.acc-card h3{font-size:1.2rem;color:var(--navy);padding-bottom:.7rem;border-bottom:1px solid var(--line);margin-bottom:1rem}
.acc-card .ticks li{font-size:.92rem;color:var(--ink)}
@media(max-width:900px){.acc-grid{grid-template-columns:1fr}}

/* attorneys grid */
.atty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.atty-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .35s,box-shadow .35s;display:block}
.atty-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.atty-card__img{aspect-ratio:3/4;overflow:hidden;background:var(--navy)}
.atty-card__img img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(.2);transition:transform .5s,filter .5s}
.atty-card:hover .atty-card__img img{transform:scale(1.05);filter:grayscale(0)}
.atty-card__body{padding:1.1rem 1.2rem 1.3rem;border-top:2px solid var(--brass)}
.atty-card__body b{font-family:var(--serif);font-size:1.08rem;color:var(--navy);display:block}
.atty-card__body span{font-size:.82rem;color:var(--brass);letter-spacing:.04em}
@media(max-width:900px){.atty-grid{grid-template-columns:repeat(2,1fr)}}

/* bio page */
.bio-head{display:grid;grid-template-columns:240px 1fr;gap:2.5rem;align-items:center}
.bio-photo img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg);aspect-ratio:3/4;object-fit:cover;object-position:top}
.bio-intro .eyebrow{color:var(--brass-light)}.bio-intro .eyebrow::before{background:var(--brass-light)}
.bio-intro h1{color:#fff;margin:.3rem 0 .6rem}
.bio-intro p{color:#c3cbd7;font-size:1.1rem}
.bio-body{display:grid;grid-template-columns:1.6fr 1fr;gap:2.5rem;align-items:start}
.bio-card{padding:1.5rem}
.bio-card h3{font-size:1.05rem;color:var(--navy);margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.bio-card + .bio-card{margin-top:1.3rem}
.bio-card .ticks li{font-size:.9rem;margin-bottom:.55rem}
@media(max-width:860px){.bio-head{grid-template-columns:1fr;text-align:left}.bio-photo{max-width:220px}.bio-body{grid-template-columns:1fr}}

/* contact list */
.contact-list li{display:flex;flex-direction:column;padding:1rem 0;border-bottom:1px solid var(--line)}
.contact-list li span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.contact-list li a,.contact-list li{font-weight:600;color:var(--navy)}
.contact-list li a:hover{color:var(--brass)}

/* FAQ accordion */
.faq-list{border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:1.4rem 0;font:600 1.1rem/1.4 var(--serif);color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-ico{position:relative;flex:none;width:20px;height:20px}
.faq-ico::before,.faq-ico::after{content:"";position:absolute;background:var(--brass);transition:transform .3s}
.faq-ico::before{top:9px;left:0;width:20px;height:2px}
.faq-ico::after{top:0;left:9px;width:2px;height:20px}
.faq.open .faq-ico::after{transform:scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-a p{padding:0 0 1.4rem;margin:0;color:var(--muted)}
