/* 松坂孝紀への講演依頼: responsive layout on fluid.css. Figma 15:115 is the visual reference, not a pixel grid. */
.lc-hero,.lc-themes,.lc-audience,.lc-profile,.lc-records,.lc-flow,.lc-faq{color:var(--navy)}
:is(.lc-theme-list,.lc-audience-list,.lc-history,.lc-record-list,.lc-steps){list-style:none;margin:0;padding:0}

.lc-icon{position:relative;display:block;width:100%;height:100%}
.lc-icon>span{position:absolute}
.lc-icon img{position:absolute;display:block;max-width:none!important}

.lc-hero-lead{font:400 clamp(19px,.85rem + .9vw,26px)/1.5 "Noto Serif JP",serif;color:var(--navy)}
.lc-hero-text{font:400 var(--fs-body)/1.7 "Noto Serif JP",serif;color:var(--ink)}
.lc-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:4px}
.lc-hero-links{display:flex;flex-wrap:wrap;gap:10px 22px}

#lc-themes{scroll-margin-top:88px}
.lc-themes-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px 32px;margin-bottom:clamp(24px,3vw,40px)}
.lc-themes-note{max-width:32em;font:400 var(--fs-sm)/1.8 "Noto Sans JP",sans-serif;color:var(--muted)}
.lc-theme-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,24px)}
.lc-theme-list li{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:clamp(20px,2.2vw,28px)}
.lc-theme-icon{display:block;width:34px;height:34px;margin-bottom:2px}
.lc-theme-list h3{font:700 var(--fs-h3)/1.5 "Noto Serif JP",serif;color:var(--navy);text-wrap:balance}
.lc-theme-sub{font:400 var(--fs-xs)/1.6 "Noto Sans JP",sans-serif;color:var(--muted)}
.lc-theme-label{margin-right:8px;padding:1px 8px;border-radius:3px;background:var(--band);font:700 var(--fs-xs)/1.6 "Noto Sans JP",sans-serif;color:var(--navy)}
.lc-theme-audience{font:400 var(--fs-xs)/1.8 "Noto Sans JP",sans-serif;color:var(--navy)}
.lc-theme-body{margin-top:2px!important;font:400 var(--fs-sm)/1.8 "Noto Sans JP",sans-serif;color:var(--ink)}
.lc-theme-points{margin-top:auto!important;padding-top:10px;border-top:1px solid var(--border);font:400 var(--fs-xs)/1.8 "Noto Sans JP",sans-serif;color:var(--ink)}

.lc-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 20px;border:1px solid var(--border);border-radius:999px;background:#fff;font:700 var(--fs-xs)/1 "Noto Sans JP",sans-serif;color:var(--navy);white-space:nowrap}
/* Hover/focus (lift, shadow, arrow, navy invert) for .lc-pill lives in interactions.css. */

.lc-audience-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:clamp(24px,3vw,40px)}
.lc-audience-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(12px,1.5vw,20px)}
.lc-audience-list li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.lc-audience-list .lc-icon{width:28px;height:28px}
.lc-audience-list span{font:400 var(--fs-xs)/1.6 "Noto Sans JP",sans-serif;color:var(--navy)}

#lc-profile{scroll-margin-top:88px}
.lc-profile-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr) minmax(190px,.8fr);gap:clamp(28px,4vw,56px);align-items:start}
.lc-profile-photo{aspect-ratio:176/192;overflow:hidden;border-radius:4px}
.lc-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 51%}
.lc-profile-copy h3{font:400 clamp(16px,.8rem + .3vw,18px)/1.6 "Noto Serif JP",serif;color:var(--navy)}
.lc-profile-role{font:400 clamp(13px,.7rem + .2vw,15px)/1.7 "Noto Sans JP",sans-serif;color:var(--ink)}
.lc-profile-bio{font:400 var(--fs-body)/1.9 "Noto Serif JP",serif;color:var(--ink);max-width:40em}
.lc-profile-stat{font:700 var(--fs-h3)/1.5 "Noto Sans JP",sans-serif;color:var(--terracotta)}
.lc-history{position:relative;display:flex;flex-direction:column;gap:clamp(16px,2vw,26px);border-left:2px solid var(--border);padding-left:20px;margin-top:6px}
.lc-history li{position:relative}
.lc-history-dot{position:absolute;left:-25px;top:6px;width:7px;height:7px}
.lc-history-text{font:400 var(--fs-sm)/1.7 "Noto Sans JP",sans-serif;color:var(--navy)}

.lc-records-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-bottom:clamp(20px,2.5vw,32px)}
.lc-records-heading{gap:6px;flex:1 1 240px}
.lc-records-head .lc-pill{margin-left:auto}
.lc-records-head p{font:400 var(--fs-sm)/1.8 "Noto Sans JP",sans-serif;color:var(--muted)}
.lc-record-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.lc-record{border:1px solid var(--border);border-radius:6px;background:#fff;overflow:hidden}
.lc-record-photo{position:relative;aspect-ratio:216/87;overflow:hidden}
.lc-record-photo img{width:100%;height:100%;object-fit:cover;display:block}
.lc-record-body{display:flex;flex-direction:column;gap:4px;padding:12px 14px 16px}
.lc-record-body :is(h3,p,time){font:400 var(--fs-xs)/1.7 "Noto Sans JP",sans-serif;color:var(--navy)}
.lc-record-body p,.lc-record-body time{color:var(--muted)}

.lc-flow-heading{gap:6px;margin-bottom:clamp(24px,3vw,40px)}
.lc-flow-intro{max-width:44em}
.lc-flow-condition{margin-top:clamp(20px,2.4vw,28px)!important;max-width:52em;font:400 var(--fs-sm)/1.8 "Noto Sans JP",sans-serif;color:var(--muted)}
.lc-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,22px)}
.lc-step{position:relative}
.lc-step-arrow{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.lc-step-num{position:relative;z-index:1;display:inline-grid;place-items:center;width:28px;height:28px;margin:16px 0 10px 16%;border-radius:50%;background:var(--navy);color:#fff;font:700 var(--fs-xs)/1 "Noto Sans JP",sans-serif}
.lc-step-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;padding:0 13% 20px 16%}
.lc-step-body h3{font:700 15px/1.5 "Noto Sans JP",sans-serif;color:var(--navy);text-wrap:balance}
.lc-step-body p{font:400 var(--fs-sm)/1.7 "Noto Sans JP",sans-serif;color:var(--navy);text-wrap:balance}

@media(max-width:1023px){
 .lc-theme-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .lc-audience-list{grid-template-columns:repeat(4,minmax(0,1fr))}
 .lc-profile-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
 .lc-history{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;border-left:0;padding-left:0;border-top:1px solid var(--border);padding-top:20px;margin-top:8px}
 .lc-history li{flex:1 1 200px}
 .lc-history-dot{display:none}
 .lc-record-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:959px){
 #lc-themes,#lc-profile{scroll-margin-top:76px}
}

@media(max-width:767px){
 .lc-hero-lead{font-size:21px;line-height:1.5}
 .lc-hero-text{font-size:15px;line-height:1.9}
 .lc-themes-head{flex-direction:column;align-items:flex-start;gap:12px}
 .lc-theme-list{grid-template-columns:1fr;gap:14px}
 .lc-audience-head{flex-direction:column;align-items:flex-start;gap:12px}
 .lc-pill{width:auto;min-height:44px;padding:0 22px;font-size:13px}
 .lc-audience-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .lc-audience-list li{background:#fff;border-radius:6px;padding:14px 8px}
 .lc-profile-inner{grid-template-columns:1fr}
 .lc-profile-photo{width:100%;max-width:280px}
 .lc-profile-bio br{display:none}
 .lc-history{flex-direction:column;border-left:1px solid var(--border);padding-left:16px;border-top:0;padding-top:0}
 .lc-history li{flex:none}
 .lc-history-dot{display:block;left:-21px;top:6px}
 .lc-records-head{flex-direction:column;align-items:flex-start;gap:8px}
 .lc-records-head .lc-pill{margin-left:0}
 .lc-record-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .lc-record-body :is(h3,p){white-space:normal}
 .lc-steps{grid-template-columns:1fr;gap:12px}
 .lc-step{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:16px;background:#eef8fd;border-radius:6px}
 .lc-step-arrow{display:none}
 .lc-step-num{margin:2px 0 0;width:32px;height:32px;font-size:13px}
 .lc-step-body{padding:0}
 .lc-step-body p br{display:none}
}

/* Record cards link to their case detail pages. */
.lc-record-link{display:flex;flex-direction:column;height:100%;color:inherit}
.lc-record-link:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px;border-radius:6px}
.lc-record-photo{overflow:hidden}
.lc-record-photo img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.lc-record-link:hover .lc-record-photo img{transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){.lc-record-photo img{transition:none}.lc-record-link:hover .lc-record-photo img{transform:none}}
