/* ════════════════════════════════════════════
   Attaca Works — 共有スタイル（全ページ共通）
   トップページ（index.html）のデザインシステムを踏襲
   ════════════════════════════════════════════ */
:root{
  --green:#3A7D5C; --green-d:#2F6B4F; --orange:#E5A24B;
  --ink:#2B2B2B; --sub:#6B6B6B; --cream:#F6F2E9; --line:#eae7de;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans JP',sans-serif;color:#2B2B2B;background:#fff;line-height:1.75;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
img{max-width:100%;display:block}
button,input,select,textarea{font-family:inherit}
button{cursor:pointer;border:none;background:none}

.wrap{max-width:1100px;margin:0 auto;padding:0 40px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 40px}
.sec{padding:88px 0}
.bg-cream{background:#F6F2E9}

/* Section title with decorative rules */
.sec-ttl{text-align:center;font-size:20px;font-weight:700;display:flex;align-items:center;gap:20px;margin-bottom:52px}
.sec-ttl::before,.sec-ttl::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,#ccc,transparent);min-width:20px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:50px;font-size:15px;font-weight:700;transition:all .22s ease;white-space:nowrap;line-height:1;cursor:pointer}
.btn-g{background:#3A7D5C;color:#fff;box-shadow:0 2px 10px rgba(58,125,92,.22)}
.btn-g:hover{background:#2F6B4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(58,125,92,.3)}
.btn-go{background:transparent;color:#3A7D5C;border:2px solid #3A7D5C}
.btn-go:hover{background:#3A7D5C;color:#fff}
.btn-or{background:#E5A24B;color:#fff}
.btn-or:hover{background:#d4923e;transform:translateY(-2px)}
.btn-wo{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-wo:hover{background:rgba(255,255,255,.15)}
.btn-wg{background:#fff;color:#3A7D5C;font-weight:700}
.btn-wg:hover{background:#f0f9f4}
.btn-full{width:100%}

/* Badges */
.bdg{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:50px;font-size:12px;font-weight:700;line-height:1}
.bdg-or{background:#E5A24B;color:#fff}
.bdg-g{background:#3A7D5C;color:#fff}

/* Gray placeholder */
.ph{background:#e2e2e2;display:flex;align-items:center;justify-content:center;text-align:center;color:#999;font-size:11px;line-height:1.6;padding:8px}

/* Checklist item */
.ci-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin-bottom:7px}
.ci-row svg{flex-shrink:0;margin-top:2px}

/* ── HEADER ── */
.hdr{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eae7de;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.hdr-in{display:flex;align-items:center;height:68px}
.hdr-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-right:32px}
.logo-mk{width:34px;height:34px;background:#3A7D5C;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-nm{font-size:17px;font-weight:900;color:#2B2B2B;display:block;line-height:1.2}
.logo-tg{font-size:10px;color:#6B6B6B;display:block}
.hdr-nav{display:flex;align-items:center;gap:26px;flex:1}
.hdr-nav a{font-size:14px;font-weight:500;color:#2B2B2B;transition:color .2s}
.hdr-nav a:hover{color:#3A7D5C}
.hdr-nav a.is-active{color:#3A7D5C;font-weight:700}
.hdr-btns{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:16px}
.hdr-btns .btn{padding:10px 16px;font-size:13px}
.hdr-nav .nav-line{display:none}
.nav-toggle{display:none;border:1px solid #d7ddd9;border-radius:8px;background:#fff;color:#24533d;font:inherit;font-size:13px;font-weight:700;line-height:1;padding:10px 12px;cursor:pointer}
.nav-toggle:focus-visible{outline:3px solid rgba(58,125,92,.35);outline-offset:2px}

/* ── PAGE HERO (下層ページ共通の見出し帯) ── */
.page-hero{background:#F6F2E9;padding:54px 0 48px;text-align:center;position:relative;overflow:hidden}
.breadcrumb{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;font-size:12px;color:#6B6B6B;margin-bottom:16px}
.breadcrumb a{color:#3A7D5C;font-weight:600}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{color:#bbb}
.page-h1{font-size:34px;font-weight:900;line-height:1.3;margin-bottom:12px}
.page-h1 .gn{color:#3A7D5C}
.page-lead{font-size:15px;color:#6B6B6B;line-height:1.9;max-width:680px;margin:0 auto}

/* ── PROSE (記事・規約・テキスト主体) ── */
.prose{font-size:15px;color:#2B2B2B;line-height:1.95}
.prose h2{font-size:21px;font-weight:700;margin:40px 0 14px;padding-left:14px;border-left:4px solid #3A7D5C}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:17px;font-weight:700;margin:28px 0 10px}
.prose p{margin-bottom:16px;color:#4a4a4a}
.prose blockquote{margin:0 0 18px;padding:12px 16px;border-left:4px solid #9bc4aa;background:#f3f8f4;color:#4a4a4a}
.prose blockquote p{margin:0}
.prose ul{margin:0 0 16px;padding-left:4px}
.prose ul li{position:relative;padding-left:22px;margin-bottom:9px;color:#4a4a4a}
.prose ul li::before{content:'';position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:50%;background:#3A7D5C}
.prose a{color:#3A7D5C;font-weight:600;text-decoration:underline}
.prose strong{font-weight:700;color:#2B2B2B}
.prose img{border-radius:8px;margin:8px 0;height:auto}
.prose code{background:#eef2ef;color:#2f6b4f;padding:2px 6px;border-radius:5px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-word}
.prose pre{background:#1f2a24;color:#e8efe9;border-radius:10px;padding:16px 18px;overflow:auto;margin:0 0 18px;font-size:13px;line-height:1.7}
.prose pre code{background:none;color:inherit;padding:0;font-size:inherit;white-space:pre}
.prose .table-wrap{overflow-x:auto;margin:0 0 18px}
.prose table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.75}
.prose th,.prose td{border:1px solid #e3ded3;padding:10px 14px;text-align:left;vertical-align:top}
.prose th{background:#eef2ef;color:#2f6b4f;font-weight:700;white-space:nowrap}
.prose tbody tr:nth-child(even) td{background:#faf9f4}

/* ── DEFINITION TABLE (特商法・会社概要) ── */
.def-table{width:100%;border-collapse:collapse;font-size:14px}
.def-table th,.def-table td{text-align:left;vertical-align:top;padding:16px 18px;border-bottom:1px solid #ece8df;line-height:1.85}
.def-table th{width:34%;font-weight:700;color:#2B2B2B;background:#faf8f3}
.def-table td{color:#4a4a4a}
@media(max-width:600px){
  .def-table,.def-table tbody,.def-table tr,.def-table th,.def-table td{display:block;width:100%}
  .def-table th{background:#faf8f3;border-bottom:none;padding-bottom:6px}
  .def-table td{padding-top:6px}
}

/* ── SERVICE CARDS (流用) ── */
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sg-2{grid-template-columns:1fr 1fr}
.sc{background:#fff;border-radius:16px;box-shadow:0 2px 16px rgba(0,0,0,.07);padding:28px 22px;position:relative;transition:transform .25s,box-shadow .25s}
.sc:hover{transform:translateY(-5px);box-shadow:0 10px 36px rgba(0,0,0,.12)}
.sc.feat{border:2px solid #3A7D5C}
.sc-bdg{position:absolute;top:-12px;left:18px}
.si{width:52px;height:52px;background:rgba(58,125,92,.09);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.st{font-size:16px;font-weight:700;margin-bottom:10px}
.sd{font-size:13px;color:#6B6B6B;line-height:1.7;margin-bottom:12px}

/* ── PROCESS (流用) ── */
.proc-row{display:flex;align-items:stretch;gap:4px}
.ps{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 16px;background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.parr{display:flex;align-items:center;justify-content:center;width:28px;flex-shrink:0;color:#3A7D5C;align-self:center}
.pnum{width:34px;height:34px;background:#3A7D5C;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;margin-bottom:12px;flex-shrink:0}
.pico{width:58px;height:58px;background:rgba(58,125,92,.09);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.pt{font-size:15px;font-weight:700;margin-bottom:8px}
.pd{font-size:13px;color:#6B6B6B;line-height:1.7}

/* ── TOOL CARDS (流用) ── */
.tool-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tc{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.07);padding:24px 20px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.tc:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(0,0,0,.11)}
.tc-ico{width:48px;height:48px;background:rgba(58,125,92,.09);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0}
.tc-nm{font-size:14px;font-weight:700;margin-bottom:8px;line-height:1.45}
.tc-dc{font-size:12px;color:#6B6B6B;line-height:1.75;flex:1;margin-bottom:14px}
.tc-lnk{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#3A7D5C;margin-top:auto;transition:gap .15s}
.tc-lnk:hover{gap:8px}
.tc-status{display:inline-flex;align-items:center;width:max-content;margin-bottom:12px;padding:3px 9px;border-radius:50px;background:rgba(58,125,92,.1);color:#3A7D5C;font-size:10px;font-weight:700}
.tc-status.wait{background:#f1eee7;color:#7a7165}
.tc.is-coming{cursor:default}
.tc.is-coming:hover{transform:none;box-shadow:0 2px 12px rgba(0,0,0,.07)}

/* ── BLOG LIST (一覧ページ用) ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bl-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.07);overflow:hidden;transition:transform .2s,box-shadow .2s}
.bl-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.11)}
.bl-thumb{height:150px;overflow:hidden;background:#eef3ee}
.bl-thumb img{width:100%;height:100%;object-fit:cover}
.bl-body{padding:14px 16px 18px}
.bl-date{font-size:11px;color:#999;margin-bottom:5px}
.bl-title{font-size:14px;font-weight:700;line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bl-tag{display:inline-block;padding:3px 10px;background:rgba(58,125,92,.1);color:#3A7D5C;font-size:11px;font-weight:600;border-radius:50px}
.bl-excerpt{font-size:12px;color:#6B6B6B;line-height:1.7;margin-top:10px}
.blog-empty{padding:70px 24px;text-align:center;background:#F6F2E9;border-radius:16px}
.blog-empty h2{font-size:22px;margin-bottom:8px}
.blog-empty p{color:#6B6B6B}
.blog-trust{padding:20px 24px;margin-bottom:22px;background:#F6F2E9;border-left:4px solid #3A7D5C;border-radius:0 12px 12px 0}
.blog-trust strong{display:block;font-size:15px;margin-bottom:5px}
.blog-trust p{font-size:13px;color:#5f5a52;line-height:1.8}
.blog-trust a{color:#3A7D5C;font-weight:700;text-decoration:underline}
.category-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.category-nav a{padding:7px 13px;border:1px solid #dcd8cf;border-radius:999px;background:#fff;color:#5e5a52;font-size:12px;font-weight:700}
.category-nav a:hover,.category-nav a.is-active{color:#fff;background:#3A7D5C;border-color:#3A7D5C}

/* ── BLOG ARTICLE ── */
.article-hero{padding:56px 0 42px;background:#F6F2E9;text-align:center}
.article-hero h1{font-size:34px;line-height:1.45;margin:14px 0 10px}
.article-hero time{font-size:12px;color:#888}
.article-dates{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:12px;color:#888}
.article-main{padding:60px 0 88px}
.article-cover{height:430px;border-radius:18px;overflow:hidden;margin-bottom:32px;box-shadow:0 5px 24px rgba(0,0,0,.08)}
.article-cover img{width:100%;height:100%;object-fit:cover}
.article-lead{font-size:16px;font-weight:500;line-height:1.9;padding:22px 24px;background:#F6F2E9;border-radius:12px;margin-bottom:38px}
.article-content ol{margin:0 0 16px;padding-left:28px;list-style:decimal}
.article-content ol li{margin-bottom:9px;padding-left:4px}
.article-back{text-align:center;margin-top:54px}
.article-toc{padding:22px 26px;margin:0 0 38px;background:#f8f8f5;border:1px solid #e7e4dc;border-radius:12px}
.article-toc strong{display:block;margin-bottom:10px;font-size:15px}
.article-toc ol{margin:0;padding-left:22px}
.article-toc li{margin:7px 0;font-size:13px;line-height:1.6}
.article-toc li.level-3{margin-left:16px}
.article-toc a{color:#3A7D5C;text-decoration:underline;text-underline-offset:3px}
.article-content h2,.article-content h3{scroll-margin-top:24px}
.article-author{display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:start;padding:26px;margin-top:48px;background:#F6F2E9;border-radius:14px}
.article-author img{width:96px;height:96px;object-fit:cover;border-radius:50%}
.article-author-label{font-size:11px;color:#3A7D5C;font-weight:700}
.article-author h2{font-size:19px;margin:3px 0 8px}
.article-author p{font-size:13px;color:#5e5a52;line-height:1.8}
.article-author a{display:inline-block;margin-top:8px;color:#3A7D5C;font-size:13px;font-weight:700}
.article-service-link{padding:28px;margin-top:28px;text-align:center;border:1px solid #d9e7de;border-radius:14px;background:#f4faf6}
.article-service-link strong{font-size:18px}
.article-service-link p{margin:8px 0 18px;color:#62655f;font-size:13px;line-height:1.8}
.article-service-link .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.5}
.related-posts{margin-top:54px}
.related-posts>h2{font-size:22px;margin-bottom:20px}
.related-posts .bl-body{padding:16px}
.related-posts .bl-title{margin:9px 0 0}
.article-pager{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:42px;padding-top:26px;border-top:1px solid #e4e0d8}
.article-pager>div:last-child{text-align:right}
.article-pager span{display:block;color:#888;font-size:11px;margin-bottom:5px}
.article-pager a{color:#3A7D5C;font-size:13px;font-weight:700;line-height:1.6}
.context-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.context-links a{display:flex;flex-direction:column;gap:7px;padding:20px;background:#fff;border:1px solid #e7e3da;border-radius:12px;transition:transform .2s,box-shadow .2s}
.context-links a:hover{transform:translateY(-3px);box-shadow:0 7px 20px rgba(0,0,0,.08)}
.context-links span{color:#3A7D5C;font-size:11px;font-weight:700}
.context-links strong{font-size:14px;line-height:1.65}
.context-more{text-align:right;margin-top:16px}
.context-more a{color:#3A7D5C;font-size:13px;font-weight:700}

/* ── WORKS GRID (制作例) ── */
.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.work-card{background:#fff;border-radius:16px;box-shadow:0 2px 16px rgba(0,0,0,.07);overflow:hidden;transition:transform .25s,box-shadow .25s}
.work-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.work-thumb{height:200px;overflow:hidden;background:#eef3ee}
.work-thumb>img{width:100%;height:100%;object-fit:cover}
.work-thumb.compare{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#fff}
.work-thumb.compare figure{position:relative;min-width:0;overflow:hidden}
.work-thumb.compare img{width:100%;height:100%;object-fit:cover}
.work-thumb.compare figcaption{position:absolute;left:10px;bottom:10px;padding:4px 9px;border-radius:50px;background:rgba(43,43,43,.76);color:#fff;font-size:10px;font-weight:700;line-height:1}
.work-thumb.compare figure:last-child figcaption{background:rgba(58,125,92,.9)}
.work-body{padding:22px 24px}
.work-cat{display:inline-block;font-size:11px;font-weight:700;color:#3A7D5C;background:rgba(58,125,92,.1);padding:3px 10px;border-radius:50px;margin-bottom:10px}
.work-name{font-size:17px;font-weight:700;margin-bottom:8px}
.work-desc{font-size:13px;color:#6B6B6B;line-height:1.8}
.work-link{display:inline-flex;align-items:center;gap:5px;margin-top:14px;color:#3A7D5C;font-size:12px;font-weight:700}

/* ── ABOUT / PROFILE ── */
.profile{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start}
.profile-photo{border-radius:16px;overflow:hidden;height:360px;box-shadow:0 4px 20px rgba(0,0,0,.1);background:#f7f3ed}
.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.profile-name{font-size:24px;font-weight:900;margin-bottom:4px}
.profile-ruby{font-size:13px;color:#6B6B6B;margin-bottom:18px}
.profile-role{display:inline-block;font-size:12px;font-weight:700;color:#3A7D5C;background:rgba(58,125,92,.1);padding:4px 12px;border-radius:50px;margin-bottom:18px}
.career-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.career-stat{padding:22px 18px;background:#fff;border:1px solid #e8e3d9;border-radius:14px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.career-stat strong{display:block;color:#3A7D5C;font-size:30px;line-height:1.15;margin-bottom:7px}
.career-stat span{font-size:12px;color:#6B6B6B}
.career-timeline{display:grid;gap:16px}
.career-item{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:22px 24px;background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.career-time{color:#3A7D5C;font-size:13px;font-weight:700}
.career-item h3{font-size:16px;margin:0 0 5px}
.career-item p{font-size:13px;color:#6B6B6B;line-height:1.85;margin:0}
.strength-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.strength-card{padding:24px;background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.strength-card h3{font-size:16px;margin-bottom:8px}
.strength-card p{font-size:13px;color:#6B6B6B;line-height:1.85}
@media(max-width:768px){.profile{grid-template-columns:1fr}.profile-photo{height:300px;max-width:300px;margin:0 auto}}

/* ── CONTACT FORM ── */
.contact-lay{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start}
.form-card{background:#fff;border-radius:16px;box-shadow:0 2px 16px rgba(0,0,0,.07);padding:32px}
.form-notice{margin-bottom:22px;padding:14px 16px;border-radius:10px;font-size:13px;font-weight:700;line-height:1.7}
.form-notice.is-success{color:#256346;background:#eaf6ef;border:1px solid #b9dfc8}
.form-notice.is-error{color:#9c3428;background:#fff0ed;border:1px solid #f0c2ba}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.fld{margin-bottom:20px}
.fld label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.fld .req{color:#d4523e;font-size:11px;margin-left:6px}
.fld input,.fld select,.fld textarea{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:9px;font-size:14px;color:#2B2B2B;background:#fff}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:#3A7D5C;box-shadow:0 0 0 2px rgba(58,125,92,.15)}
.fld textarea{min-height:140px;resize:vertical}
.contact-side{background:#F6F2E9;border-radius:16px;padding:28px}
.contact-side h3{font-size:16px;font-weight:700;margin-bottom:14px}
.contact-method{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #e6e0d4}
.contact-method:last-child{border-bottom:none}
.contact-method .ci{width:40px;height:40px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-method .lbl{font-size:13px;font-weight:700;margin-bottom:2px}
.contact-method .txt{font-size:12px;color:#6B6B6B;line-height:1.6}
@media(max-width:768px){.contact-lay{grid-template-columns:1fr}}

/* ── FAQ ── */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq-item{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:22px 24px}
.faq-q{font-size:15px;font-weight:700;color:#2B2B2B;padding-left:30px;position:relative;margin-bottom:9px}
.faq-q::before{content:'Q';position:absolute;left:0;top:-2px;color:#3A7D5C;font-weight:900;font-size:18px}
.faq-a{font-size:14px;color:#6B6B6B;line-height:1.85;padding-left:30px;position:relative}
.faq-a::before{content:'A';position:absolute;left:1px;top:0;color:#E5A24B;font-weight:900;font-size:16px}

/* ── CTA BAND ── */
.cta-band{background:#2F6B4F;padding:72px 0;text-align:center;position:relative;overflow:hidden}
.cta-t{font-size:28px;font-weight:900;color:#fff;margin-bottom:10px}
.cta-s{font-size:15px;color:rgba(255,255,255,.72);margin-bottom:36px}
.cta-btns{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}

/* ── FOOTER ── */
.footer{background:#2F6B4F;border-top:1px solid rgba(255,255,255,.12);padding:48px 0 28px}
.ft-in{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-bottom:32px}
.ft-nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.ft-nav a{font-size:13px;color:rgba(255,255,255,.75);transition:color .2s}
.ft-nav a:hover{color:#fff}
.ft-bot{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.ft-legal{display:flex;gap:20px}
.ft-legal a{font-size:11px;color:rgba(255,255,255,.55)}
.ft-legal a:hover{color:rgba(255,255,255,.9)}
.ft-copy{font-size:11px;color:rgba(255,255,255,.45)}

/* ── DECO ── */
.deco{position:absolute;pointer-events:none;opacity:.07}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .wrap,.wrap-narrow{padding:0 28px}
  .sg{grid-template-columns:1fr 1fr}
  .tool-cards{grid-template-columns:repeat(3,1fr)}
  .blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .wrap,.wrap-narrow{padding:0 18px}
  .sec{padding:60px 0}
  .hdr-in{position:relative}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}
  .hdr-nav{display:none;position:absolute;z-index:20;top:calc(100% + 8px);right:0;left:0;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:#fff;border:1px solid #dfe6e1;border-radius:12px;box-shadow:0 14px 32px rgba(28,56,42,.14)}
  .hdr-nav.is-open{display:flex}
  .hdr-nav a{padding:13px 14px;border-radius:8px}
  .hdr-nav a:hover{background:#f1f7f3}
  .hdr-nav .nav-line{display:block;color:#2f6b4f;font-weight:700}
  .hdr-btns{display:none}
  .hdr-in{height:58px}
  .page-h1{font-size:26px}
  .career-stats{grid-template-columns:1fr}
  .career-item{grid-template-columns:1fr;gap:5px}
  .strength-grid{grid-template-columns:1fr}
  .article-hero h1{font-size:26px}
  .article-cover{height:auto;aspect-ratio:16/9}
  .article-author{grid-template-columns:72px 1fr;padding:20px;gap:16px}
  .article-author img{width:72px;height:72px}
  .article-pager{grid-template-columns:1fr}
  .article-pager>div:last-child{text-align:left}
  .context-links{grid-template-columns:1fr}
  .sg,.sg-2{grid-template-columns:1fr}
  .tool-cards{grid-template-columns:1fr 1fr}
  .blog-grid{grid-template-columns:1fr 1fr}
  .works-grid{grid-template-columns:1fr}
  .proc-row{flex-direction:column;gap:12px}
  .parr{transform:rotate(90deg);width:100%;justify-content:center}
  .cta-t{font-size:22px}
  .ft-in{flex-direction:column;gap:24px}
  .ft-bot{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .blog-grid,.tool-cards{grid-template-columns:1fr}
  .sec-ttl{font-size:16px}
  .cta-btns{flex-direction:column;align-items:center}
}
