/* ==========================================================================
   Service Page Template — shared styles
   Used by: page-service.php (Template Name: Service Page)
   Enqueued conditionally — see functions.php snippet
   ========================================================================== */
:root{
  --bj-blue:#004F84;
  --impact:#222222;
  --graphite:#55514F;
  --deep:#0C235B;
  --muted:#65A3D0;
  --lime:#CEE07D;
  --mist:#DEDFD5;
  --mist-light:#F4F4F0;
  --white:#fff;
  --max:1140px;
}
.service-page *{box-sizing:border-box}
.service-page{background:#fff;color:var(--impact);font-family:"Raleway",Arial,sans-serif;font-weight:500;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
.service-page a{color:var(--bj-blue);text-decoration:none}
.service-page img{display:block;max-width:100%}
.service-page h1,.service-page h2,.service-page h3,.service-page h4{margin:0;color:var(--bj-blue);line-height:1.2}
.service-page h1{font-family:"Sorts Mill Goudy",Georgia,serif;font-weight:400;font-size:clamp(1.9rem,3vw,2.5rem)}
.service-page h2{font-family:"Sorts Mill Goudy",Georgia,serif;font-weight:400;font-size:clamp(1.6rem,2.4vw,2.05rem)}
.service-page h3{font-size:1.05rem;font-weight:700;color:var(--impact)}
.service-page p{margin:0 0 1rem;color:var(--impact)}
.service-page .wrap{width:min(calc(100% - 48px),var(--max));margin:auto}
.service-page .section{padding:64px 0}
.service-page .section-sm{padding:36px 0}
.service-page .rule{display:block;width:44px;height:2px;background:var(--lime);margin:16px 0 24px}
.service-page .kicker{display:block;margin-bottom:8px;color:var(--bj-blue);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.service-page .lead{color:var(--impact);font-size:1.05rem}
.service-page .secondary{color:var(--graphite)}
.service-page .btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 24px;border:2px solid var(--bj-blue);background:var(--bj-blue);color:#fff;font-size:.82rem;white-space:nowrap;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:.2s}
.service-page .btn:hover{background:var(--deep);border-color:var(--deep)}
.service-page .btn-outline{background:#fff;color:var(--bj-blue)}
.service-page .btn-outline:hover{background:var(--mist-light)}
.service-page .textlink{display:inline-block;white-space:nowrap;color:var(--bj-blue);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--lime);padding-bottom:2px}
.service-page .textlink::after{content:" →"}

/* Header */
.service-page .header{background:var(--bj-blue)}
.service-page .header-row{min-height:70px;display:flex;align-items:center;gap:28px}
.service-page .logo img{width:240px}
.service-page .nav{margin-left:auto;display:flex;gap:26px;align-items:center;font-size:.86rem;font-weight:600}
.service-page .nav a{color:#fff}
.service-page .breadcrumb{padding:12px 0;color:var(--impact);font-size:.8rem;border-bottom:1px solid var(--mist)}
.service-page .page-divider{border-bottom:1px solid var(--mist)}
.service-page .breadcrumb a{color:var(--graphite)}

/* Hero */
.service-page .hero{padding:64px 0 60px}
.service-page .hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:center}
.service-page .hero p{max-width:600px;margin:0 0 1.6rem;line-height:1.8}
.service-page .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}
.service-page .hero-img{position:relative;height:340px;overflow:hidden;background:var(--mist)}
.service-page .hero-img img{width:100%;height:100%;object-fit:cover}
.service-page .hero-img figcaption{position:absolute;left:0;right:0;bottom:0;padding:8px 14px;background:rgba(0,79,132,.85);color:#fff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}

/* Proof bar */
.service-page .proof{background:var(--mist-light);border-top:1px solid var(--mist);border-bottom:1px solid var(--mist)}
.service-page .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.service-page .proof-item{padding:26px 24px;border-left:1px solid #cfd0c6}
.service-page .proof-item:first-child{border-left:0}
.service-page .proof-item strong{display:block;color:var(--bj-blue);font-weight:700;font-size:2.1rem;line-height:1.1;letter-spacing:-.01em}
.service-page .proof-item span{display:block;margin-top:8px;color:var(--impact);font-size:.86rem;font-weight:600}

/* Two-column editorial */
.service-page .split{display:grid;grid-template-columns:1fr 1fr;gap:64px}

/* Fit list */
.service-page .fit-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--mist)}
.service-page .fit-list div{padding:14px 0;border-bottom:1px solid var(--mist);font-weight:600;color:var(--impact)}
.service-page .fit-list div:nth-child(even){padding-left:24px;border-left:1px solid var(--mist)}

/* Process */
.service-page .process{background:var(--mist-light)}
.service-page .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:26px}
.service-page .step{padding:20px 18px;background:#fff;border-top:3px solid var(--bj-blue)}
.service-page .step .n{color:var(--bj-blue);font-size:.72rem;font-weight:700;letter-spacing:.12em}
.service-page .step h3{margin-top:8px}
.service-page .step p{margin:8px 0 0;color:var(--impact);font-size:.9rem}

/* CTA band */
.service-page .cta-band{padding:36px 0}
.service-page .cta-box{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:28px 32px;border:1px solid var(--mist);border-left:4px solid var(--lime);background:#fff}
.service-page .cta-box h2{font-size:1.5rem}
.service-page .cta-box p{margin:6px 0 0;color:var(--impact)}

/* Considerations */
.service-page .cons-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:26px;border-top:1px solid var(--mist)}
.service-page .cons{padding:24px 28px 24px 0;border-bottom:1px solid var(--mist)}
.service-page .cons:nth-child(even){padding-left:28px;border-left:1px solid var(--mist)}
.service-page .cons p{margin:8px 0 0;color:var(--impact);font-size:.95rem}

.service-page .experience{background:var(--mist-light)}
.service-page .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px}
.service-page .section-head > a.textlink{flex:0 0 auto}

.service-page blockquote{margin:0;color:var(--impact);font-family:"Sorts Mill Goudy",Georgia,serif;font-style:italic;font-size:1.15rem;line-height:1.5}

/* Banker */
.service-page .banker{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:center}
.service-page .banker-photo{aspect-ratio:1/1.05;background:var(--mist);border:1px solid var(--mist);overflow:hidden}
.service-page .banker-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}

/* Featured transaction */
.service-page .feature{display:grid;grid-template-columns:1.4fr .6fr;margin-top:8px;background:var(--bj-blue);color:#fff}
.service-page .feature-copy{padding:44px 48px}
.service-page .feature-label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin-bottom:10px}
.service-page .feature-name{color:#fff;font-family:"Sorts Mill Goudy",Georgia,serif;font-weight:400;font-size:1.7rem;margin-bottom:14px}
.service-page .feature-copy p{color:#eef3f7;font-size:.98rem}
.service-page .feature-quote{margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.25);font-family:"Sorts Mill Goudy",Georgia,serif;font-style:italic;font-size:1.05rem}
.service-page .feature-quote span{display:block;margin-top:6px;font-family:"Raleway",Arial,sans-serif;font-style:normal;font-size:.8rem;font-weight:600;color:#cfdce6}
.service-page .feature-stats{display:flex;flex-direction:column;justify-content:center;gap:0;background:var(--deep);padding:24px 0}
.service-page .feature-stats div{padding:18px 36px;border-top:1px solid rgba(255,255,255,.15)}
.service-page .feature-stats div:first-child{border-top:0}
.service-page .feature-stats strong{display:block;font-size:2.2rem;font-weight:700;line-height:1;color:#fff}
.service-page .feature-stats span{display:block;margin-top:6px;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#cfdce6}

/* Testimonial */
.service-page .testimonial-band{background:var(--mist-light);border-top:1px solid #e3e4dc;border-bottom:1px solid #e3e4dc}
.service-page .testimonial{max-width:820px;margin:auto;text-align:center}
.service-page .testimonial blockquote{font-size:1.35rem;line-height:1.5}
.service-page .testimonial-by{margin-top:14px;font-size:.84rem;font-weight:700;color:var(--graphite);letter-spacing:.04em;text-transform:uppercase}
.service-page .testimonial-by::before{content:"";display:block;width:44px;height:2px;background:var(--lime);margin:0 auto 14px}

/* FAQ */
.service-page .faq{background:var(--mist-light)}
.service-page .faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px}
.service-page .faq-list{border-top:1px solid var(--mist)}
.service-page details{border-bottom:1px solid var(--mist)}
.service-page summary{position:relative;cursor:pointer;list-style:none;padding:16px 36px 16px 0;color:var(--bj-blue);font-weight:700}
.service-page summary::-webkit-details-marker{display:none}
.service-page summary::after{content:"+";position:absolute;right:2px;top:12px;color:var(--graphite);font-size:1.3rem;font-weight:400}
.service-page details[open] summary::after{content:"–"}
.service-page .answer{padding:0 40px 16px 0;color:var(--impact)}

/* Contact form */
.service-page .contact-head{max-width:720px;margin:auto;text-align:center}
.service-page .form{max-width:820px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.service-page .field{display:flex;flex-direction:column;gap:6px}
.service-page .full{grid-column:1/-1}
.service-page label{color:var(--impact);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.service-page input,.service-page select,.service-page textarea{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--graphite);background:#fff;font:inherit;font-size:.95rem;color:var(--impact)}
.service-page input:focus,.service-page select:focus,.service-page textarea:focus{outline:2px solid var(--muted);outline-offset:0;border-color:var(--bj-blue)}
.service-page textarea{min-height:120px;resize:vertical}
.service-page .submit{grid-column:1/-1;text-align:center;margin-top:6px}
.service-page .pardot-note{max-width:760px;margin:10px auto 0;color:var(--impact);font-size:.78rem;text-align:center}

/* Related */
.service-page .related{background:var(--mist-light)}
.service-page .insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.service-page .insight{display:flex;flex-direction:column;background:#fff;border:1px solid #cfd0c6;border-top:3px solid var(--bj-blue);padding:26px 26px 22px;color:var(--impact)}
.service-page .insight:hover{border-top-color:var(--lime)}
.service-page .insight-tag{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bj-blue);margin-bottom:10px}
.service-page .insight h3{color:var(--bj-blue);font-family:"Sorts Mill Goudy",Georgia,serif;font-weight:400;font-size:1.3rem;line-height:1.25}
.service-page .insight p{margin:10px 0 16px;font-size:.92rem;flex:1}
.service-page .insight-more{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bj-blue)}
.service-page .insight-more::after{content:" →"}
.service-page .services-row{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;margin-top:34px;padding-top:22px;border-top:1px solid #cfd0c6}
.service-page .services-label{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}
.service-page .services-row a{font-weight:600;font-size:.95rem}

/* Tombstones */
.service-page .tombs{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:24px}
.service-page .tomb{display:flex;flex-direction:column;background:#fff;border:1px solid #cfd0c6;text-align:center}
.service-page .tomb-top,.service-page .tomb-foot{background:var(--bj-blue);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:8px 6px}
.service-page .tomb-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:22px 14px}
.service-page .tomb-logo{height:70px;display:flex;align-items:center;justify-content:center}
.service-page .tomb-logo img{max-height:70px;max-width:150px;width:auto;object-fit:contain}
.service-page .tomb-line{font-size:.82rem;color:var(--impact);line-height:1.45}
.service-page .tomb-role{font-size:.78rem;font-weight:700;color:var(--graphite);text-transform:uppercase;letter-spacing:.04em}
@media(max-width:1000px){.service-page .tombs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.service-page .tombs{grid-template-columns:1fr 1fr}}

/* Footer */
.service-page .footer{background:var(--bj-blue);color:#fff}
.service-page .footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;padding:44px 0 24px}
.service-page .footer h4{margin:0 0 12px;color:#fff;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
.service-page .footer p,.service-page .footer a{color:#e6eef4;font-size:.88rem;margin:0 0 6px}
.service-page .footer-legal{padding:18px 0 26px;border-top:1px solid rgba(255,255,255,.18);text-align:center;color:#d5e2ec;font-size:.7rem;line-height:1.6}
.service-page .footer-legal a{color:#fff;text-decoration:underline}

/* Responsive */
@media(max-width:1180px){.service-page .hero-grid{grid-template-columns:1.4fr .6fr;gap:40px}.service-page .hero-img{height:300px}}
@media(max-width:1000px){
  .service-page .nav{display:none}
  .service-page .hero-grid,.service-page .split,.service-page .faq-grid,.service-page .banker,.service-page .feature{grid-template-columns:1fr}
  .service-page .hero-img{height:260px}
  .service-page .proof-grid{grid-template-columns:1fr 1fr}.service-page .proof-item:nth-child(3){border-left:0}
  .service-page .steps{grid-template-columns:1fr 1fr}
  .service-page .feature-stats{flex-direction:row;padding:0}
  .service-page .feature-stats div{flex:1;border-top:0;border-left:1px solid rgba(255,255,255,.15);padding:20px 24px}
  .service-page .feature-stats div:first-child{border-left:0}
}
@media(max-width:680px){
  .service-page .wrap{width:min(calc(100% - 28px),var(--max))}
  .service-page .section{padding:48px 0}
  .service-page .logo img{width:200px}
  .service-page .proof-grid,.service-page .fit-list,.service-page .cons-grid,.service-page .steps,.service-page .footer-grid{grid-template-columns:1fr}
  .service-page .proof-item{border-left:0;border-top:1px solid var(--mist)}
  .service-page .fit-list div:nth-child(even),.service-page .cons:nth-child(even){padding-left:0;border-left:0}
  .service-page .cta-box{grid-template-columns:1fr}
  .service-page .form{grid-template-columns:1fr}
  .service-page .full,.service-page .submit{grid-column:1}
  .service-page .feature-stats{flex-direction:column}
  .service-page .feature-stats div{border-left:0;border-top:1px solid rgba(255,255,255,.15)}
  .service-page .feature-copy{padding:28px 24px}
}
