/* Inner pages shared styles */

/* ---------- about page ---------- */
.about-intro{padding:90px 0}
.about-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.about-intro .img{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/4.7}
.about-intro .img img{width:100%;height:100%;object-fit:cover}
.about-intro p{color:var(--muted);margin:20px 0;font-size:1.06rem}
.about-intro p strong{color:var(--ink)}
.sign{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--blue);margin-top:8px}

.timeline{padding:100px 0;background:var(--ink);color:#fff;overflow:hidden}
.timeline .sec-title{color:#fff}.timeline .eyebrow{color:var(--blue-lite)}.timeline .eyebrow::before{background:var(--blue-lite)}
.tl-list{margin-top:56px;display:grid;gap:0}
.tl-item{display:grid;grid-template-columns:180px 1fr;gap:40px;padding:32px 0;border-top:1px solid rgba(255,255,255,.12);align-items:baseline}
.tl-item:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.tl-item .yr{font-family:var(--serif);font-size:1.3rem;color:var(--blue-lite)}
.tl-item h3{font-size:1.45rem;color:#fff;margin-bottom:8px}
.tl-item p{color:rgba(255,255,255,.6);font-size:.98rem;max-width:46rem}

.vm{padding:100px 0}
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.vm-card{padding:46px 42px;border-radius:var(--r);position:relative;overflow:hidden}
.vm-card.v{background:var(--ink);color:#fff}.vm-card.m{background:var(--blue-soft)}
.vm-card h3{font-size:1.9rem;margin-bottom:18px}.vm-card.v h3{color:#fff}
.vm-card p{font-size:1.03rem}.vm-card.v p{color:rgba(255,255,255,.72)}.vm-card.m p{color:var(--muted)}
.vm-card .glyph{position:absolute;right:-16px;bottom:-30px;font-family:var(--serif);font-size:9rem;font-style:italic;opacity:.08;line-height:1}

.creds{padding:100px 0;background:var(--paper-2)}
.creds-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
.cred{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--r);padding:30px 26px;text-align:center}
.cred b{font-family:var(--serif);font-size:2.6rem;color:var(--blue);display:block;line-height:1}
.cred span{font-size:.92rem;color:var(--muted);margin-top:8px;display:block}

/* ---------- services page ---------- */
.svc-intro{padding:80px 0}
.svc-intro p{color:var(--muted);font-size:1.1rem;max-width:52rem}
.svc-group{padding:70px 0;border-top:1px solid var(--line-soft)}
.svc-group:nth-child(even){background:var(--paper-2)}
.svc-group-head{display:flex;gap:22px;align-items:center;margin-bottom:40px}
.svc-group-head .ico{width:64px;height:64px;border-radius:16px;background:var(--blue);color:#fff;display:grid;place-items:center;flex-shrink:0}
.svc-group-head .ico svg{width:32px;height:32px}
.svc-group-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}
.svc-group-head p{color:var(--muted);font-size:.98rem;margin-top:4px}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--r);padding:30px 28px;transition:all .5s var(--ease)}
.svc-group:nth-child(even) .svc-card{background:var(--white)}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm);border-color:transparent}
.svc-card h3{font-size:1.3rem;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.svc-card h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}
.svc-card p{font-size:.94rem;color:var(--muted)}

/* ---------- blog listing ---------- */
.blog-list{padding:80px 0}
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.bl-card{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;transition:all .5s var(--ease);display:flex;flex-direction:column}
.bl-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.bl-thumb{aspect-ratio:16/10;background:linear-gradient(130deg,var(--blue),#1a29b8);position:relative;overflow:hidden;display:grid;place-items:center}
.bl-thumb img{width:46%;opacity:.9}
.bl-thumb.t2{background:linear-gradient(130deg,#3a4de8,#5b6cff)}
.bl-thumb.t3{background:linear-gradient(130deg,#131B44,var(--blue))}
.bl-body{padding:28px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.bl-body .meta{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-weight:600}
.bl-body h2{font-size:1.4rem;line-height:1.2}
.bl-body p{font-size:.94rem;color:var(--muted);flex:1}
.bl-body .more{font-size:.86rem;font-weight:600;color:var(--blue)}

/* ---------- article ---------- */
.article{padding:70px 0 90px}
.article-wrap{max-width:760px;margin-inline:auto}
.article .meta{display:flex;gap:14px;align-items:center;font-size:.82rem;color:var(--muted);margin-bottom:26px}
.article .meta .tag{background:var(--blue-soft);color:var(--blue);padding:5px 12px;border-radius:100px;font-weight:600;letter-spacing:.04em}
.prose h2{font-size:1.7rem;margin:40px 0 16px}
.prose h3{font-size:1.3rem;margin:30px 0 12px}
.prose p{color:#3a4062;margin:16px 0;font-size:1.06rem;line-height:1.75}
.prose ul{margin:16px 0 16px 4px;padding-left:20px;color:#3a4062}
.prose li{margin:9px 0;font-size:1.05rem;line-height:1.7}
.prose strong{color:var(--ink)}
.prose blockquote{border-left:3px solid var(--blue);padding:6px 0 6px 24px;margin:26px 0;font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--ink)}
.callout{background:var(--blue-soft);border-radius:var(--r);padding:26px 28px;margin:30px 0;font-size:.98rem;color:var(--ink)}
.callout b{color:var(--blue)}
.article-nav{max-width:760px;margin:50px auto 0;padding-top:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* ---------- contact ---------- */
.contact{padding:80px 0 100px}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.ct-info{background:var(--ink);color:#fff;padding:56px 50px}
.ct-info .sec-title{color:#fff;font-size:2.2rem}
.ct-info>p{color:rgba(255,255,255,.65);margin:18px 0 34px;max-width:26rem}
.ct-row{display:flex;gap:18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12)}
.ct-row .ci{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;flex-shrink:0;color:var(--blue-lite)}
.ct-row .ci svg{width:22px;height:22px}
.ct-row small{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5)}
.ct-row a,.ct-row span{display:block;font-size:1.04rem;color:#fff;margin-top:3px}
.ct-row a:hover{color:var(--blue-lite)}
.ct-map{position:relative;min-height:520px}
.ct-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3)}
.hours{padding:70px 0 0}
.hours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hour{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--r);padding:28px 26px}
.hour b{font-family:var(--serif);font-size:1.2rem;display:block;margin-bottom:6px}
.hour span{color:var(--muted);font-size:.95rem}

/* ---------- legal ---------- */
.legal{padding:70px 0 100px}
.legal-wrap{max-width:820px;margin-inline:auto}
.legal-wrap h2{font-size:1.5rem;margin:36px 0 12px;color:var(--ink)}
.legal-wrap h2:first-child{margin-top:0}
.legal-wrap p{color:#3a4062;margin:14px 0;font-size:1.02rem;line-height:1.75}
.legal-wrap ul{margin:14px 0 14px 20px;color:#3a4062}
.legal-wrap li{margin:8px 0;line-height:1.7}
.legal-updated{color:var(--muted);font-size:.9rem;margin-bottom:30px;display:block}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .about-intro-grid,.vm-grid,.ct-grid{grid-template-columns:1fr}
  .about-intro .img{max-width:440px;margin-inline:auto}
  .creds-grid{grid-template-columns:1fr 1fr}
  .svc-cards,.bl-grid{grid-template-columns:1fr 1fr}
  .hours-grid{grid-template-columns:1fr}
  .tl-item{grid-template-columns:1fr;gap:6px}
  .ct-map{min-height:360px}
}
@media(max-width:640px){
  .creds-grid,.svc-cards,.bl-grid{grid-template-columns:1fr}
  .svc-group-head{flex-direction:column;align-items:flex-start;gap:14px}
  .ct-info{padding:40px 26px}
}
