.section{padding-block:var(--space-xl)}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;display:flex}.hero__title{letter-spacing:.3em;font-size:clamp(3rem,8vw,6rem)}.hero__subtitle{letter-spacing:.4em;color:var(--color-primary);margin-top:1rem;font-size:1.2rem}.hero__description{max-width:600px;color:var(--color-text-muted);margin-top:2rem;line-height:1.8}.hero__symbol{color:var(--color-primary);margin-top:4rem;font-size:2rem}.services{padding-block:6rem}.services__title{font-family:var(--font-heading);letter-spacing:.25em;text-transform:uppercase;margin-bottom:4rem;font-size:3rem}.services__list{flex-direction:column;display:flex}.service{border-bottom:1px solid var(--color-border);grid-template-columns:120px 1fr;gap:3rem;padding-block:3rem;display:grid}.service__number{font-family:var(--font-heading);color:var(--color-primary);font-size:3rem}.service__title{letter-spacing:.15em;text-transform:uppercase;font-size:1.5rem}.service__description{max-width:600px;color:var(--color-text-muted);margin-top:1rem;line-height:1.8}.projects{flex-direction:column;gap:4rem;display:flex}.projects__title{text-align:center}.project{border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:2rem;max-width:900px;margin-inline:auto;padding:3rem;display:flex}.project__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:1.5rem;display:flex}.project__name{margin-bottom:.4rem}.project__subtitle{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.9rem}.project__status{border:1px solid var(--color-primary);color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.75rem;display:inline-flex}.project__description{color:var(--color-text-muted);max-width:70ch;line-height:1.9}.project__facts{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.project__fact{grid-template-columns:180px 1fr;align-items:start;gap:2rem;padding:1rem 0;display:grid}.project__fact:not(:last-child){border-bottom:1px solid #ffffff0d}.project__label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem}.project__value{color:var(--color-text);line-height:1.8}.project__website{color:var(--color-text);transition:color .2s}.project__website:hover{color:var(--color-primary)}.project__link{color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #0000;align-self:flex-start;margin-top:1rem;padding-bottom:.25rem;transition:color .2s,border-color .2s}.project__link:hover{border-color:var(--color-primary)}@media (width<=768px){.project{padding:2rem}.project__header{flex-direction:column;gap:1rem}.project__fact{grid-template-columns:1fr;gap:.35rem}}.process{flex-direction:column;gap:4rem;display:flex}.process__title{text-align:center}.process__intro{text-align:center;max-width:42rem;color:var(--color-text-muted);margin:0 auto}.process__timeline{grid-template-columns:repeat(5,1fr);gap:2rem;margin-top:2rem;display:grid;position:relative}.process__timeline:before{content:"";background:var(--color-border);height:1px;position:absolute;top:.4rem;left:8%;right:8%}.process__step{text-align:center;z-index:1;position:relative}.process__step:before{content:"";background:var(--color-accent);width:1rem;height:1rem;margin:0 auto 1.5rem;display:block;transform:rotate(45deg)}.process__number{font-family:var(--font-heading);color:var(--color-accent);letter-spacing:.15em;margin-bottom:.75rem;display:block}.process__step-title{margin-bottom:.75rem}.process__step-description{color:var(--color-text-muted);font-size:.95rem;line-height:1.7}@media (width<=768px){.process__timeline:before{display:none}.process__timeline{grid-template-columns:1fr;gap:3rem;margin-top:1rem;padding-left:2rem}.process__timeline:before{width:1px;height:auto;inset:0 auto 0 .35rem}.process__step{text-align:left;padding-left:2rem}.process__step:before{margin:0;position:absolute;top:.25rem;left:-.05rem}.process__number{margin-bottom:.5rem}.process__step:after{content:"";background:var(--color-border);width:1px;position:absolute;top:1.4rem;bottom:-3rem;left:.4rem}.process__step:last-child:after{display:none}}.contact{flex-direction:column;gap:3rem;max-width:42rem;margin-inline:auto;display:flex}.contact__title{text-align:center}.contact__intro{text-align:center;color:var(--color-text-muted);max-width:32rem;margin-inline:auto;line-height:1.7}.contact__form{flex-direction:column;gap:1.75rem;display:flex}.contact__field{flex-direction:column;gap:.5rem;display:flex}.contact__field label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:.85rem}.contact__field input,.contact__field textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:0 0;border-radius:0;padding:1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.contact__field textarea{resize:vertical;border-radius:0;min-height:10rem}.contact__field input:focus,.contact__field textarea:focus{border-color:var(--color-accent);outline:none}.contact_button_success,.contact__form button{border:1px solid var(--color-primary);color:var(--color-primary);background:0 0;padding:1rem 3rem}.contact_button_success:hover,.contact__form button:hover{background:var(--color-primary);cursor:pointer;color:var(--color-background);transform:translateY(-2px)}.required-mark{color:var(--color-primary);opacity:.7;vertical-align:middle;font-size:.45rem}.success-modal{z-index:1000;opacity:1;background:#000000b3;place-items:center;transition:opacity .25s;display:grid;position:fixed;inset:0}.success-modal[hidden]{display:none}.success-modal__box{border:1px solid var(--color-primary);text-align:center;opacity:1;flex-direction:column;gap:1.5rem;max-width:400px;padding:2.5rem;transition:transform .25s,opacity .25s;display:flex;transform:translateY(0)scale(1)}.success-modal:not([hidden]){animation:.25s forwards modalFade}.success-modal:not([hidden]) .success-modal__box{animation:.3s forwards modalBox}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalBox{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.success-modal__box h3{font-family:var(--font-heading);letter-spacing:.08em}.mandatory-field{border:1px solid var(--color-border);width:fit-content;color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.mandatory-field__mark{color:var(--color-primary);font-size:.45rem}
