/* Homepage workflow: scoped alignment and responsive polish. */
#stages{scroll-margin-top:96px}
#stages .rv{opacity:1;transform:none;transition:none;animation:none}
#stages .s-head{
 display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
 align-items:start;column-gap:64px;row-gap:18px;
 margin-bottom:0;
}
#stages .s-head>.label{grid-column:1/-1;margin:0}
#stages .s-head>.h2{margin:0;max-width:none;line-height:1.08}
#stages .s-head>.lead{margin:0;max-width:460px;font-size:18px;line-height:1.55}
#stages .fn-hw{
 grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
 align-items:stretch;gap:48px;margin-top:40px;
}
#stages .fn-hw__c{min-width:0;padding:28px 0;border-radius:0;background:transparent}
#stages .fn-hw__c--d{
 display:flex;flex-direction:column;padding:28px;border-radius:28px;background:var(--ink);
}
#stages .fn-hw__k{margin:0 0 24px;font-size:12px;line-height:1.5;letter-spacing:.035em;color:#666870}
#stages .fn-hw__c--d .fn-hw__k{color:#a9a9af}
#stages .fn-ls::before{display:none}
#stages .fn-ls li{grid-template-columns:40px minmax(0,1fr);gap:18px;padding:0 0 24px}
#stages .fn-ls li:last-child{padding-bottom:0}
#stages .fn-ls li:not(:last-child)::before{
 content:"";position:absolute;left:19.5px;top:20px;bottom:-20px;width:1px;background:#95cbaa;
}
#stages .fn-ls i{
 width:40px;height:40px;border:1.5px solid var(--good);box-shadow:none;
 background:var(--paper);font-size:14px;font-weight:600;
}
#stages .fn-ls em{display:block;margin:0 0 5px;font-size:12px;line-height:1.5}
#stages .fn-ls b{font-size:18px;line-height:1.3;font-weight:600}
#stages .fn-ls span{margin-top:6px;font-size:14px;line-height:1.55}
#stages .fn-cal__mk{
 flex:none;min-height:40px;margin:0 0 12px;padding:10px 14px;
 font-size:13px;line-height:1.4;border-radius:12px;
}
#stages .fn-cal__mk>i{display:none}
#stages .fn-cal__mk--e{margin:12px 0 0}
#stages .fn-cal__g{flex:none;gap:6px}
#stages .fn-cal__g>span{height:24px;font-size:11px;font-weight:500;color:#aaaab0}
#stages .fn-cal__g>i{height:46px;min-width:0;border-radius:10px;font-size:12px;font-weight:600}
#stages .fn-cal__g>i.is-d::after{width:5px;height:5px}
#stages .fn-cal__lg{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:12px 20px;margin: auto 0 0;padding-top:20px;
 font-size:12px;line-height:1.5;color:#c3c3c9;
}
#stages .fn-cal__lg li{display:flex;align-items:flex-start;gap:9px;min-width:0}
#stages .fn-cal__lg .m{order:1}
#stages .fn-cal__lg .f{order:2}
#stages .fn-cal__lg .d{order:3;grid-column:1/-1}
#stages .fn-cal__lg i{flex:0 0 10px;width:10px;height:10px;margin-top:4px;border-radius:3px}
#stages .fn-cal__lg .d i{flex-basis:5px;width:5px;height:5px;margin:7px 2.5px 0}
#stages .fn-part{
 grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:start;
 gap:48px;margin-top:36px;padding:32px 0 0;border-radius:0;
 border-top:1px solid var(--line);background:transparent;
}
#stages .fn-part__k{display:block;font-size:12px;line-height:1.5;color:#666870}
#stages .fn-part h3{margin:12px 0 0;font-size:clamp(28px,2.6vw,38px);line-height:1.12;max-width:21ch}
#stages .fn-part ul{display:grid;gap:12px;margin-top:24px}
#stages .fn-part li{padding:0 0 0 28px;font-size:15px;line-height:1.5}
#stages .fn-part li::before{top:3px;width:17px;height:17px;background-size:11px}
#stages .fn-part__r p{max-width:54ch;font-size:17px;line-height:1.55}
#stages .fn-part__s{margin-top:12px!important;font-size:14px!important;line-height:1.55;color:#666870}
#stages .fn-part__r .btn{min-height:52px;margin-top:24px;box-shadow:none;font-size:14px}
#stages .fn-part__r .btn svg{width:18px;height:18px}
@media(max-width:1100px){
 #stages .s-head{column-gap:36px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 #stages .s-head>.lead{font-size:16px}
 #stages .fn-hw,#stages .fn-part{column-gap:32px}
 #stages .fn-hw__c--d{padding:24px}
 #stages .fn-cal__lg{grid-template-columns:minmax(0,1fr);gap:10px}
 #stages .fn-cal__lg .d{grid-column:auto}
}
@media(max-width:900px){
 #stages .fn-hw,#stages .fn-part{grid-template-columns:minmax(0,1fr)}
 #stages .fn-hw{gap:28px}
 #stages .fn-hw__c:not(.fn-hw__c--d){padding:0}
 #stages .fn-hw__c--d{padding:28px}
 #stages .fn-cal__lg{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 #stages .fn-cal__lg .d{grid-column:1/-1}
 #stages .fn-part{gap:24px}
}
@media(max-width:760px){
 #stages .s-head{grid-template-columns:minmax(0,1fr);gap:16px}
 #stages .s-head>.h2{font-size:34px;line-height:1.08}
 #stages .s-head>.lead{font-size:15px;line-height:1.55;max-width:42em}
 #stages .fn-hw{margin-top:30px;gap:30px}
 #stages .fn-hw__k{margin-bottom:20px;font-size:11px}
 #stages .fn-ls li{grid-template-columns:36px minmax(0,1fr);gap:14px;padding-bottom:24px}
 #stages .fn-ls i{width:36px;height:36px;font-size:13px}
 #stages .fn-ls li:not(:last-child)::before{left:17.5px;top:18px;bottom:-18px}
 #stages .fn-ls b{font-size:17px}
 #stages .fn-ls span{font-size:14px}
 #stages .fn-hw__c--d{padding:20px 18px;border-radius:22px}
 #stages .fn-cal__mk{font-size:12px;padding:10px 12px}
 #stages .fn-cal__g{gap:5px}
 #stages .fn-cal__g>span{height:22px;font-size:10px}
 #stages .fn-cal__g>i{height:38px;border-radius:8px;font-size:11px}
 #stages .fn-cal__lg{grid-template-columns:minmax(0,1fr);gap:10px;padding-top:18px}
 #stages .fn-cal__lg .d{grid-column:auto}
 #stages .fn-part{margin-top:30px;padding-top:28px;gap:24px}
 #stages .fn-part h3{font-size:28px;max-width:22ch}
 #stages .fn-part ul{margin-top:20px;gap:12px}
 #stages .fn-part li{font-size:14px}
 #stages .fn-part__r p{font-size:16px}
 #stages .fn-part__r .btn{width:100%;justify-content:space-between;margin-top:20px}
}
