/* article page layout */
.article-page{padding:0 0 80px;}
.article-hero{width:100%;max-height:360px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:48px;}
.article-hero img{width:100%;height:360px;object-fit:cover;}
.article-body{padding-top:80px;}
.article-body h1{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;margin:0 0 16px;}
.article-lead{font-size:.95rem;color:var(--ink-2);margin:0 0 32px;}
.article-body h2{font-size:1.2rem;font-weight:700;margin:48px 0 16px;padding-top:32px;border-top:1px solid var(--line);}
.article-body p{font-size:.88rem;color:var(--ink-2);line-height:1.7;margin:0 0 16px;}
.article-body ul{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px;}
.article-body li{font-size:.86rem;color:var(--ink-2);padding-left:20px;position:relative;}
.article-body li::before{content:"\f0da";font-family:"Font Awesome 6 Sharp";font-weight:400;position:absolute;left:0;color:var(--primary);font-size:.7rem;top:2px;}
.article-aside{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin:24px 0 16px;}
.article-aside-img{border-radius:6px;overflow:hidden;}
.article-aside-img img{width:100%;height:auto;display:block;}
.article-cta{margin:24px 0 0;}
@media(max-width:860px){
  .article-aside{grid-template-columns:1fr;}
  .article-aside-img{max-width:480px;}
}
.company-info{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:24px 0 32px;}
.company-dl{margin:0;font-size:.88rem;}
.company-dl div{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);}
.company-dl dt{color:var(--ink-3);min-width:80px;flex-shrink:0;font-weight:600;}
.company-dl dd{margin:0;color:var(--ink);}
.company-dl a{color:var(--primary);text-decoration:none;}
.company-dl a:hover{text-decoration:underline;}
.contact-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start;margin:24px 0 32px;}
.contact-form-wrap{}
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:6px;}
.form-optional{font-weight:400;color:var(--ink-3);}
.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:0;font-size:.88rem;font-family:inherit;color:var(--ink);background:#fff;}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);}
.form-group textarea{resize:vertical;}
.contact-sidebar{position:sticky;top:90px;}
.contact-card{padding:28px;border:1px solid var(--line);border-radius:0;}
.contact-card h2{font-size:1rem;font-weight:700;margin:0 0 16px;}
.contact-card p{font-size:.86rem;color:var(--ink-2);margin:0 0 10px;line-height:1.5;}
.contact-card a{color:var(--primary);text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.contact-card a:hover{text-decoration:underline;}
.contact-card i{font-size:.78rem;}
@media(max-width:860px){
  .company-info{grid-template-columns:1fr;}
  .contact-layout{grid-template-columns:1fr;}
  .contact-sidebar{position:static;}
}
.contact-map{border-radius:0;overflow:hidden;margin-bottom:20px;border:1px solid var(--line);}
.contact-map iframe{display:block;width:100%;height:260px;border:0;}
.contact-form .btn{border-radius:0;}
.contact-card h2{border-top:none;padding-top:0;margin-top:0;}
.form-error{padding:12px 16px;margin-bottom:20px;background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;font-size:.86rem;display:flex;align-items:center;gap:8px;}
.form-success{padding:12px 16px;margin-bottom:20px;background:#f0fdf4;border:1px solid #86efac;color:#166534;font-size:.86rem;display:flex;align-items:center;gap:8px;}
.cf-turnstile{margin-bottom:20px;}
