/* Typography, color and line-break refinements */
:root{--accent:#008fa3;--accent-surface:#007c8d}
.action--accent,.service-card--orange,.contact{background:var(--accent-surface);color:#fff}
.action--accent:hover{background:#006f7d}
.hero h1{font-weight:700;line-height:1.06;letter-spacing:-.06em}
.section h2{font-weight:900;line-height:1.18;letter-spacing:-.045em}
.section-head{padding-bottom:clamp(64px,8vw,118px)}
.service-card h3{font-size:clamp(32px,3.15vw,50px);font-weight:700;line-height:1.3;letter-spacing:-.025em;margin:48px 0 34px}
.service-card>p:not(.card-no){font-size:15px;line-height:1.9;max-width:38em}
.service-card ul{line-height:1.75}
.service-card--orange ul{border-color:rgba(255,255,255,.42)}
.contact{color:#fff}
.contact h2{font-size:clamp(42px,4.4vw,66px);font-weight:900;line-height:1.22;letter-spacing:-.04em;margin-bottom:46px}
.contact-title-line{display:block;white-space:nowrap}
.not-found-title-line{display:block;white-space:nowrap}
.contact .form-notice{border-color:rgba(255,255,255,.58)}
.contact input,.contact select{border-bottom-color:rgba(255,255,255,.78)}
.contact textarea{border-color:rgba(255,255,255,.78)}
.contact ::placeholder{color:#fff;opacity:1}
.contact .wpcf7-form input:not([type=submit]):not([type=checkbox]),.contact .wpcf7-form select{border-bottom-color:rgba(255,255,255,.78)}
.contact .wpcf7-form textarea{border-color:rgba(255,255,255,.78)}
.contact .wpcf7-submit,.contact .fallback-mail{border-color:#fff;background:#fff;color:var(--ink)}
.contact .wpcf7-submit:hover,.contact .fallback-mail:hover{background:var(--ink);color:#fff}
.about-lead>p{line-height:1.65;letter-spacing:-.025em}
.about-points h3{line-height:1.35}
.process-list h3{line-height:1.45}
.work-ledger strong{line-height:1.4}
.footer>p{font-weight:900;line-height:1.12}
.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

@media(max-width:1100px) and (min-width:801px){
  .service-card{padding:36px;min-height:680px}
  .service-card h3{font-size:clamp(32px,3.5vw,40px)}
  .service-card ul{columns:1}
}

@media(max-width:800px){
  .hero h1{font-size:clamp(42px,13vw,58px);font-weight:700;line-height:1.12;letter-spacing:-.055em}
  .section h2{font-size:clamp(34px,10.5vw,48px);font-weight:900;line-height:1.22;letter-spacing:-.04em}
  .section-head{gap:38px;padding-bottom:70px}
  .section-head div>p{margin-top:22px;font-size:15px;line-height:1.9}
  .service-card{min-height:auto;padding:36px 26px 38px}
  .service-card h3{font-size:clamp(31px,9.2vw,38px);line-height:1.32;margin:58px 0 30px}
  .service-card>p:not(.card-no){font-size:14px;line-height:1.95}
  .service-card ul{margin:28px 0 42px;padding:20px 0;font-size:13px;line-height:1.7}
  .service-card>a{font-size:14px}
  .contact h2{font-size:clamp(32px,9.6vw,42px);font-weight:900;line-height:1.28;letter-spacing:-.035em;margin-bottom:40px}
  .about-lead>p{font-size:clamp(22px,7.2vw,30px);line-height:1.65}
  .work-ledger strong{font-size:20px}
  .work-ledger p{font-size:13px;line-height:1.8}
  .process-list h3{font-size:19px}
  .not-found h1{font-size:clamp(34px,10vw,40px);line-height:1.25;letter-spacing:-.04em}
}
