
main.tl-main{padding:0 0 66px}
main.tl-main>*{max-width:840px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.tl-hero{padding:60px 20px 26px;text-align:center}
.tl-hero h1{font-family:Rockwell,'Courier Bold',Georgia,serif;font-size:2.9rem;line-height:1.08;color:#2b2721;margin:14px auto;max-width:740px}
.tl-sub{font-size:1.2rem;color:#54503f;max-width:620px;margin:0 auto}
.tl-sec{margin-top:26px}
.tl-sec h2{font-family:Rockwell,'Courier Bold',Georgia,serif;font-size:1.7rem;color:#20585a;margin:46px auto 10px}
.tl-sec h2::after{content:"";display:block;max-width:190px;border-bottom:3px dashed #c14d32;margin-top:8px}
.tl-sec p{font-size:1.07rem;margin:14px auto}
.tl-sec a{color:#20585a}
.tl-plate{background:#20585a;text-align:center;max-width:840px;margin:54px auto;padding:42px 24px;border-radius:10px;
 border:4px solid #2a8f8a;box-shadow:0 6px 0 #17403f}
.tl-plate p{color:#bdd2cd;font-size:1.08rem;margin:0 0 8px}
.tl-svc{list-style:none;padding:0;margin:18px auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px;max-width:840px}
.tl-svc li{background:#fffdf6;border:2px solid #e8dfc8;border-radius:8px;padding:16px 18px}
.tl-svc li:hover{border-color:#2a8f8a}
.tl-svc b{display:block;font-family:Rockwell,'Courier Bold',Georgia,serif;font-size:1.08rem;color:#2b2721;margin-bottom:4px}
.tl-svc span{color:#5c5847;font-size:.97rem}
.tl-svc a{text-decoration:none;color:inherit}
.tl-faq{max-width:750px}
.tl-faq h3{font-family:Rockwell,'Courier Bold',Georgia,serif;color:#20585a;font-size:1.16rem;margin:26px 0 6px}
.tl-faq p{margin:6px 0 0}

/* ===== v3.1 polish: content image alignment + rhythm (2026-07-03) =====
   Fixes platform rule `body.site-page figure{margin:0}` out-specifying site
   figure classes (left-anchored images), oversized portrait images, and
   excessive vertical spacing. Append AFTER site css; idempotent by marker. */
figure[class$="-ph"],figure[class$="-photo"],figure[class$="-fig"],
figure.vnp-pic,figure.srp-pic,figure.pxp-pic,figure.hbp-cardpic,figure.sr-wide{
 max-width:720px !important;margin:24px auto !important;padding:0 20px !important;
 box-sizing:border-box;float:none;clear:both}
figure[class$="-ph"] img,figure[class$="-photo"] img,figure[class$="-fig"] img,
figure.vnp-pic img,figure.srp-pic img,figure.pxp-pic img,figure.hbp-cardpic img,figure.sr-wide img{
 width:100% !important;display:block;max-height:480px;object-fit:cover}
body main[class] h2{margin-top:30px}
main[class] section>h2:first-child,main[class] div>h2:first-child{margin-top:0}
body main[class] p{margin-top:12px;margin-bottom:12px}
main[class] section[class*="-sec"]{margin-top:32px}
