:root{--accent:var(--hot);--surface:var(--bg-2);--display:var(--sans)}
button,input,textarea{font:inherit}button{cursor:pointer}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--hot);outline-offset:5px}section{scroll-margin-top:96px}p{overflow-wrap:break-word}h1,h2,h3{text-wrap:balance}h2{max-width:100%}
.situations{padding:var(--section-space) var(--gutter);border-top:1px solid var(--line)}
.situations-list{list-style:none;margin:0;padding:0;display:grid;gap:32px}
.situations-list li{border-top:1px solid var(--line);padding-top:24px}
.situation{font-size:clamp(28px,3.5vw,50px);font-weight:550;font-stretch:95%;line-height:1.2;letter-spacing:-.025em;margin:0;max-width:24em;color:var(--ink)}
.system-intro{max-width:46em;margin-bottom:48px}.systems{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.system-card{border-top:1px solid var(--line);padding-top:24px}.system-card h3{font-size:28px;line-height:1.2;margin:0 0 18px}.system-card p{font-size:18px;line-height:1.5;margin:0;color:#cfcbc3}
.process{border-top:1px solid var(--line);background:var(--bg-2);padding:var(--section-space) var(--gutter)}
.process-layout{display:grid;grid-template-columns:56px minmax(0,900px);gap:40px;align-items:stretch}
.process-art{display:flex;flex-direction:column;justify-content:space-around;position:relative;isolation:isolate}
.process-art::before{content:"";position:absolute;top:12.5%;bottom:12.5%;left:50%;width:1px;background:var(--line);z-index:-1}
.process-node{display:grid;place-items:center;width:48px;height:48px;background:var(--bg-2);border:1px solid var(--line);border-radius:50%;font:14px var(--mono);color:var(--mute)}
.process-node.active{border-color:var(--hot);color:var(--hot)}
.process-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.process-step{color:#cfcbc3;width:100%;text-align:left;border:0;border-left:2px solid var(--line);background:transparent;padding:20px 24px;font-size:18px;line-height:1.55;transition:border-color .2s,background .2s}
.process-step strong{display:block;font-size:21px;color:var(--ink);margin-bottom:8px;font-weight:700}
.process-step[aria-pressed=true]{border-color:var(--hot);background:#202023}
.about,.faq{padding:var(--section-space) var(--gutter);border-top:1px solid var(--line)}
.definition{max-width:47em;line-height:1.6}.timeline{list-style:none;padding:0;margin:56px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.timeline li{border-top:1px solid var(--line);padding-top:20px}.timeline p{margin:0;font-size:18px}.year{display:block;font:14px var(--mono);color:var(--mute);margin-bottom:14px}
.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px}summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-size:28px;font-weight:300;color:var(--mute)}details[open] summary::after{content:'−'}
summary h3{font-size:clamp(20px,2vw,28px);line-height:1.35;font-weight:600;margin:0;max-width:40em;text-wrap:initial}
.answer{font-size:18px;line-height:1.6;max-width:45em;margin:24px 0 0;color:#cfcbc3}
.contact-label{font-size:28px;margin:0 0 28px;font-weight:650}.contact-form{max-width:900px;padding-top:32px;border-top:1px solid var(--line)}.contact-form label{display:block;font-size:16px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
input,textarea{display:block;resize:vertical;width:100%;margin:10px 0 24px;background:var(--bg-2);border:1px solid #77736d;color:inherit;padding:15px;border-radius:6px;min-width:0}input{height:56px}
input:focus,textarea:focus{border-color:var(--hot)}.contact-form .btn{width:calc((100% - 24px)/2);margin-top:0;border-radius:6px}.form-status{min-height:1.5em;font-size:15px;margin:18px 0 0}
.rm *,.rm *::before,.rm *::after{animation:none!important;transition:none!important}
@media(max-width:820px){
 .situations-list{gap:28px}.situation{font-size:24px;line-height:1.35}
 .systems{grid-template-columns:1fr;gap:28px}.system-intro{margin-bottom:32px}.system-card h3{margin-bottom:12px}
 .process-layout{grid-template-columns:1fr;gap:0}.process-art{display:none}.process-step{padding:18px 16px}.process-step strong{font-size:20px}
 .timeline{grid-template-columns:1fr;gap:24px;margin-top:40px}.timeline li{padding-top:18px}.year{margin-bottom:8px}
 .field-row{grid-template-columns:1fr;gap:0}.contact-form .btn{width:100%}.contact-label{font-size:24px}
}
