.ctla-home,.ctla-contact{box-sizing:border-box;font-size:15px;line-height:1.75;color:#263044}
.ctla-home *, .ctla-contact *{box-sizing:border-box}
.ctla-home a{text-decoration:none}
.ctla-hero{border-radius:18px;background:linear-gradient(120deg,#f0f6ff,#e8f8f6);padding:clamp(24px,5vw,45px);margin:0 0 32px}
.ctla-hero h1{font-size:clamp(26px,4.4vw,36px);line-height:1.45;margin:6px 0 10px;color:#173854}
.ctla-hero p{margin:0 0 19px;color:#526478}
.ctla-eyebrow{font-weight:800;color:#26749f;letter-spacing:.12em;font-size:11px}
.ctla-search{display:flex;align-items:stretch;max-width:700px;background:white;border:1px solid #d3dee7;border-radius:10px;overflow:hidden}
.ctla-search input{padding:13px 15px;flex:1;min-width:0;border:0!important;background:white!important;box-shadow:none!important;font-size:16px}
.ctla-search button,.ctla-contact button{padding:10px 24px;border:0;background:#2179a5;color:white;font-weight:700;cursor:pointer}
.ctla-section{margin:34px 0}.ctla-section h2{border:0!important;background:transparent!important;margin:0 0 18px!important;padding:0!important;font-size:23px;color:#243c55}
.ctla-navgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ctla-navcard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:17px 9px;background:#fff;border:1px solid #dae4ec;border-radius:12px;color:#213f55!important;transition:box-shadow .2s,transform .2s}
.ctla-navcard:hover{transform:translateY(-2px);box-shadow:0 5px 18px #1a466514}
.ctla-navcard strong{font-size:15px}.ctla-navcard small{font-size:11px;color:#617488;line-height:1.5}
.ctla-navicon{font-size:27px}.ctla-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ctla-subtle-link{font-size:13px;color:#26749f!important}
.ctla-postgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.ctla-postcard{display:block;min-width:0;border:1px solid #e0e6eb;border-radius:12px;overflow:hidden;color:#2a384b!important;background:#fff;transition:box-shadow .2s}
.ctla-postcard:hover{box-shadow:0 6px 18px #102b401a}
.ctla-postimage,.ctla-image-placeholder{width:100%;aspect-ratio:1.5/1;object-fit:cover;display:flex;justify-content:center;align-items:center}
.ctla-image-placeholder{background:linear-gradient(140deg,#e8f1fa,#f2f7fb);color:#a5b9cd;font-size:13px;letter-spacing:.1em;font-weight:800}
.ctla-postcontent{display:flex;flex-direction:column;gap:8px;padding:11px 12px 13px}
.ctla-postcontent strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:14px;line-height:1.55}
.ctla-postcontent small{color:#78889c;font-size:11px}
.ctla-note{padding:20px 22px;border-radius:12px;background:#f7fafc;border:1px solid #e1e9f1}
.ctla-note strong{font-size:16px}.ctla-note p{margin:5px 0 8px}.ctla-note a{font-weight:700;color:#14759e}
.ctla-empty{padding:18px;border:1px dashed #d1dce4;border-radius:10px;color:#697b8c}
.ctla-contact{max-width:640px;display:grid;gap:17px}
.ctla-contact label{display:grid;gap:5px;font-weight:700}
.ctla-contact label span{color:#697889;font-weight:400}
.ctla-contact input,.ctla-contact textarea{width:100%;border:1px solid #cbd6df;border-radius:8px;padding:12px;font:inherit}
.ctla-contact button{border-radius:8px}.ctla-contact p{margin:0;font-size:12px;color:#607488}
.ctla-honeypot{position:absolute!important;left:-10000px!important;height:1px!important;width:1px!important;overflow:hidden!important}
.ctla-alert{color:#12643a;background:#ecf9ef;padding:12px}.ctla-error{color:#a22d3c;background:#fff1f1;padding:12px}
.ctla-mobile-break{display:none}
@media(max-width:720px){.ctla-navgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ctla-postgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ctla-navcard{padding:14px 6px}.ctla-navcard strong{font-size:14px}.ctla-navcard small{font-size:10px}.ctla-postcontent{padding:9px}.ctla-postcontent strong{font-size:12px}.ctla-hero{padding:22px 17px}.ctla-hero h1{font-size:24px}.ctla-mobile-break{display:inline}.ctla-section h2{font-size:19px}.ctla-search button{padding:8px 16px}}

/* v0.1.1 — JIN fixed-homepage cleanup. Scoped to the front page only. */
body.home.page h1.cps-post-title.entry-title,
body.home.page .sns-top{display:none!important}
/* Use explicit grid tracks: JIN's default content link rules must not shrink cards. */
.ctla-home{display:block!important;min-width:0;max-width:100%;width:100%;overflow-wrap:anywhere}
.ctla-home .ctla-hero,.ctla-home .ctla-section{width:100%;max-width:100%;min-width:0}
.ctla-home .ctla-navgrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:100%;margin:0!important;padding:0!important}
.ctla-home .ctla-navgrid > .ctla-navcard{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;float:none!important;position:relative!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:148px;margin:0!important;padding:17px 10px!important;text-decoration:none!important}
.ctla-home .ctla-navcard strong,.ctla-home .ctla-navcard small{display:block;max-width:100%;overflow-wrap:anywhere}
.ctla-home .ctla-postgrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:100%;min-width:0}
.ctla-home .ctla-postgrid > .ctla-postcard{display:block!important;width:100%!important;float:none!important;margin:0!important;min-width:0!important;box-sizing:border-box}
.ctla-home .ctla-postimage{height:auto;aspect-ratio:3/2;object-fit:cover}
@media(max-width:960px){
 .ctla-home .ctla-navgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
 .ctla-home .ctla-navgrid{gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ctla-home .ctla-navgrid > .ctla-navcard{min-height:142px;padding:14px 7px!important}
 .ctla-home .ctla-postgrid{gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ctla-home .ctla-hero{padding:24px 18px!important}
 .ctla-home .ctla-section{margin:29px 0}
 .ctla-home .ctla-search{width:100%}
 .ctla-home .ctla-search input{min-width:0}
}
