
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: "Microsoft Sans Serif", "Microsoft YaHei", sans-serif; background:#f2f5f1; color:#243126; line-height:1.6; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
.container { max-width:1320px; margin:0 auto; padding:0 28px; }
.topbar { background:#14342a; color:#dcebe3; font-size:.82rem; padding:9px 0; }
.topbar__inner { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px; }
.header { background:#ffffff; box-shadow:0 2px 10px rgba(0,0,0,.05); position:sticky; top:0; z-index:50; border-bottom:1px solid #e3ebe5; }
.header__inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:16px 0; }
.brand { display:flex; align-items:center; gap:12px; }
.brand__mark { width:42px; height:42px; border-radius:10px; background:linear-gradient(135deg,#0b5e42,#189a68); display:block; position:relative; border:2px solid #9dded0; }
.brand__mark::after { content:"力"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:1.2rem; }
.brand__text { display:flex; flex-direction:column; }
.brand__text strong { font-size:1.35rem; letter-spacing:1px; color:#0c3f2e; }
.brand__text span { font-size:.82rem; color:#55856e; }
.nav { display:flex; flex-wrap:wrap; gap:22px; align-items:center; font-size:.95rem; font-weight:500; }
.nav a { padding:6px 4px; border-bottom:2px solid transparent; transition:.2s; }
.nav a:hover { color:#0f7a54; border-color:#0f7a54; }
.hero { background:linear-gradient(120deg, #f9fcf9 30%, #e6f0ea 100%); border-bottom:1px solid #d7e5dc; position:relative; overflow:hidden; }
.hero::before { content:"⚙"; position:absolute; font-size:520px; right:-80px; top:-120px; opacity:.04; transform:rotate(15deg); pointer-events:none; }
.hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; padding:90px 0; position:relative; z-index:2; }
.eyebrow { display:inline-block; background:#0f7a54; color:#fff; font-weight:600; font-size:.82rem; letter-spacing:1px; padding:6px 16px; border-radius:30px; margin-bottom:20px; }
.hero-copy h1 { font-size:3rem; font-weight:700; line-height:1.15; color:#0b3a2a; margin-bottom:20px; }
.hero-copy p { font-size:1.05rem; color:#395444; max-width:580px; margin-bottom:26px; }
.chip-row { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.chip { background:#ffffff; border:1px solid #c3d9cd; border-radius:30px; padding:7px 14px; font-size:.8rem; color:#245538; font-weight:600; }
.keyword-row { display:flex; flex-wrap:wrap; gap:8px; }
.keyword-chip { background:#e9f3ed; color:#0f5c3b; border-radius:14px; padding:5px 12px; font-size:.74rem; border:1px dashed #a8cdb8; }
.hero-panel { background:rgba(255,255,255,.85); backdrop-filter:blur(4px); border:1px solid #dcebe2; border-radius:22px; padding:30px; box-shadow:0 20px 40px -14px rgba(20,80,50,.12); }
.metric-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:18px; }
.metric-item { background:#f6fbf8; border:1px solid #dcebe2; border-radius:14px; padding:14px 12px; text-align:center; }
.metric-item strong { display:block; font-size:1.4rem; color:#0c5c3e; }
.metric-item span { font-size:.76rem; color:#567a66; }
.hero-contact { margin-top:6px; padding-top:16px; border-top:1px solid #d5e5db; }
.hero-contact strong { font-size:.9rem; color:#123f2c; display:block; margin-bottom:8px; }
.hero-contact a { font-size:1.5rem; font-weight:700; color:#0e7a50; display:block; margin-bottom:10px; }
.hero-contact p { font-size:.84rem; color:#506d5b; margin-bottom:6px; }
.section { padding:84px 0; }
.section-head { margin-bottom:34px; }
.section-head h2 { font-size:2.1rem; color:#0b3a2a; font-weight:700; letter-spacing:-.3px; text-align:center; }
.section-head span { display:block; text-align:center; color:#78a18b; font-size:.78rem; letter-spacing:3px; text-transform:uppercase; margin-top:6px; }
.surface-card { background:#ffffff; border:1px solid #dcebe2; border-radius:24px; padding:44px; box-shadow:0 14px 30px -18px rgba(10,70,45,.12); }
.about-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
.about-copy p { margin-bottom:16px; color:#2f4a38; font-size:.98rem; }
.about-copy strong { color:#0e5f40; }
.about-figure img { width:100%; border-radius:18px; box-shadow:0 18px 30px -16px rgba(10,60,35,.3); }
.about-figure figcaption { font-size:.82rem; color:#65806c; font-weight:600; margin-top:10px; text-align:center; }
.strength-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.strength-card { background:#fff; border:1px solid #e1ece4; border-radius:20px; padding:28px 24px; text-align:center; transition:.25s; box-shadow:0 4px 14px rgba(0,0,0,.02); }
.strength-card:hover { transform:translateY(-6px); box-shadow:0 18px 26px -12px rgba(17,94,56,.18); }
.strength-card .icon { font-size:2rem; margin-bottom:10px; }
.strength-card h3 { font-size:1.05rem; color:#0e4a33; margin-bottom:6px; }
.strength-card p { font-size:.8rem; color:#597563; }
.gallery-stack { display:flex; flex-direction:column; gap:64px; }
.gallery-group h3 { font-size:1.35rem; color:#0e4a33; margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.gallery-group h3::before { content:""; width:8px; height:22px; background:#0f7a54; border-radius:8px; display:inline-block; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.gallery-card { background:#fff; border:1px solid #dbe9df; border-radius:16px; overflow:hidden; transition:.25s; }
.gallery-card:hover { transform:translateY(-5px); box-shadow:0 22px 26px -16px rgba(15,90,50,.22); }
.gallery-card img { width:100%; height:160px; object-fit:cover; }
.gallery-card .g-card-body { padding:8px 12px 14px; }
.gallery-card .g-card-body p { font-size:.78rem; color:#245840; font-weight:600; line-height:1.35; }
.g-card-tag { display:inline-block; background:#e8f4ed; font-size:.62rem; color:#0f6a42; padding:3px 8px; border-radius:14px; margin-bottom:6px; font-weight:700; }
.faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.faq-card { background:#fff; border:1px solid #ddebe2; border-radius:18px; padding:26px 24px; }
.faq-card h3 { color:#0e4a33; font-size:1.02rem; margin-bottom:10px; }
.faq-card p { font-size:.88rem; color:#4f6e5b; }
.cta-panel { background:linear-gradient(120deg,#0e4a33,#177653); border-radius:26px; padding:48px 44px; color:#fff; display:grid; grid-template-columns:1.2fr .8fr; gap:36px; align-items:center; box-shadow:0 30px 50px -20px rgba(10,60,35,.4); }
.cta-copy .eyebrow { background:rgba(255,255,255,.18); }
.cta-copy h2 { font-size:2rem; margin-bottom:14px; }
.cta-copy p { font-size:.95rem; margin-bottom:18px; color:#e4f3ea; }
.contact-list { list-style:none; display:flex; flex-direction:column; gap:8px; font-size:.92rem; }
.contact-list li { background:rgba(255,255,255,.1); border-radius:10px; padding:8px 16px; }
.cta-contact { background:rgba(0,0,0,.14); border:1px solid rgba(255,255,255,.2); border-radius:20px; padding:26px; text-align:center; }
.cta-contact strong { font-size:1rem; display:block; margin-bottom:6px; }
.cta-contact a { font-size:1.7rem; font-weight:700; color:#fff; display:block; margin-bottom:16px; }
.cta-contact__meta { display:flex; gap:10px; margin-top:14px; }
.cta-contact__meta div { flex:1; background:rgba(255,255,255,.1); border-radius:10px; padding:8px 4px; }
.cta-contact__meta span { font-size:.68rem; opacity:.75; display:block; }
.cta-contact__meta strong { font-size:.78rem; font-weight:600; margin:0; }
.footer { background:#153229; color:#b8d2c4; padding:44px 0; }
.footer__inner { display:flex; flex-direction:column; gap:20px; }
.footer p { font-size:.85rem; line-height:1.7; color:#b8d2c4; }
.friend-links-row { border-top:1px solid #355c49; padding-top:20px; margin-top:10px; }
.friend-links { display:flex; justify-content:center; }
.friend-links__inner { display:flex; flex-wrap:wrap; gap:8px 22px; align-items:center; justify-content:center; }
.friend-links__inner a { color:#83b39c; font-size:.78rem; border:1px solid #355c49; border-radius:16px; padding:2px 12px; transition:.2s; }
.friend-links__inner a:hover { background:#285039; color:#fff; }
.admin-timestamp { text-align:center; margin-top:20px; font-size:.78rem; color:#4a7361; font-family: "Microsoft Sans Serif", "Microsoft YaHei", sans-serif;}
@media (max-width: 960px) {
    .hero-grid { grid-template-columns:1fr; padding:60px 0; }
    .section { padding:60px 0; }
    .about-grid { grid-template-columns:1fr; }
    .strength-grid { grid-template-columns:repeat(2,1fr); }
    .gallery-grid { grid-template-columns:repeat(2,1fr); }
    .faq-grid { grid-template-columns:1fr; }
    .cta-panel { grid-template-columns:1fr; padding:32px 24px; }
    .header__inner { flex-direction:column; align-items:flex-start; }
    .nav { gap:12px; justify-content:center; }
    .hero-copy h1 { font-size:2.1rem; }
}


.friend-links-row{display:block !important;width:100%;margin:18px 0 0;clear:both;}
.friend-links{display:block !important;width:100%;box-sizing:border-box;}
.friend-links__inner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;width:100%;}
.friend-links__inner a{display:inline-block;font-size:12px;line-height:1.6;padding:0;color:inherit;text-decoration:none;opacity:.88;}
.friend-links__inner a:hover{text-decoration:underline;opacity:1;}
@media (max-width: 768px){
  .friend-links-row{margin-top:14px;}
  .friend-links__inner{gap:5px 10px;}
  .friend-links__inner a{font-size:11px;line-height:1.7;}
}
