@font-face{font-family:"UDEV Inter";src:url("/fonts/Inter-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"UDEV Inter";src:url("/fonts/Inter-Medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"UDEV Inter";src:url("/fonts/Inter-SemiBold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"UDEV Inter";src:url("/fonts/Inter-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{font-family:"UDEV Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
/* Shared editorial rhythm: services, proof, process, team and contact. */
:root{--section-space:3.5rem;--heading-space:1.75rem;--layout-gap:2rem;--section-title:clamp(1.5rem,2.5vw,2rem)}
.section{padding-block:var(--section-space)}
.overview-heading,.specializations-heading,.acceptance-heading,.section-heading{margin-bottom:var(--heading-space)}
.overview-heading h2,.specializations-heading h2,.acceptance-heading h2,.section-heading h2,.team h2,.faq h2,.contact h2,.service-scope h2,.service-detail h2,.service-region h2{font-size:var(--section-title);line-height:1.25;font-weight:600;letter-spacing:-.03em;text-wrap:pretty}
.section-heading,.acceptance-heading{display:block}
.section-heading>p,.acceptance-heading>p{max-width:44rem;margin-top:.75rem;color:var(--muted);font-size:1rem;line-height:1.65}
.specializations{padding-block:0 var(--section-space)}
.specialization-grid{gap:1.25rem}
.specialization-card{padding:1.75rem;border-radius:6px}
.specialization-card h3{font-size:1.25rem;line-height:1.4}
.specialization-description{line-height:1.65}
.acceptance{padding-block:var(--section-space);border-block:1px solid var(--line)}
.acceptance-grid{gap:var(--layout-gap);margin:0}
.acceptance-grid li{border-left:0;padding:0}
.acceptance-grid h3{font-size:1.125rem;line-height:1.4}
.acceptance-grid p{font-size:1rem;line-height:1.65;margin-top:.65rem}
.steps{gap:0;border-top:1px solid var(--line)}
.steps li{min-width:0;border-top:0;padding:1.25rem 1.5rem 0 0;position:relative}
.steps li:last-child{padding-right:0}
.steps li::before{content:"";position:absolute;top:-3px;left:0;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.steps li>span{font-size:.875rem;font-variant-numeric:tabular-nums}
.steps h3{margin:.75rem 0 .65rem;font-size:1.125rem;line-height:1.4}
.steps p{font-size:1rem;line-height:1.65}
.team,.faq,.contact,.footer{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--layout-gap)}
.team{padding:var(--section-space) 0;border:0;border-block:1px solid var(--line);background:transparent;border-radius:0;align-items:start}
.team-copy p{margin-top:1rem;max-width:40rem;line-height:1.65}
.team-copy p.team-lead{font-size:1.125rem;font-weight:500;line-height:1.6;max-width:none}
.faq{align-items:start}
.faq-items{border-top:0;min-width:0}
.faq summary{padding:1rem 0;min-height:52px}
.faq details:first-child summary{padding-top:0}
.faq details p{font-size:1rem;line-height:1.65}
.contact{padding-block:var(--section-space);border-color:var(--line);align-items:start}
.contact p:not(.eyebrow){max-width:32rem;line-height:1.65}
.contact .email{padding-top:0;min-height:44px;font-size:clamp(1.25rem,2.5vw,1.75rem)}
.contact-right p{font-size:.875rem!important;max-width:36rem!important}
.footer{padding-block:2rem;align-items:start}
.footer p{font-size:.875rem}.footer .legal{font-size:.8125rem}
.eyebrow{font-size:.875rem;letter-spacing:.1em}
.service-scope,.service-detail,.service-region{padding-block:var(--section-space)}
.scope-grid,.service-detail{gap:var(--layout-gap)}
.scope-grid{margin-top:var(--heading-space)}
.scope-grid p,.service-detail p,.service-region p{line-height:1.65}
.related{gap:.5rem 1.5rem;font-size:.875rem}
.related a{min-height:44px;display:inline-flex;align-items:center}
/* Restrained depth, without transparency or decorative continuous motion. */
.overview-grid,.specialization-card,.hero .system-flow .system-node{
 background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 55%),var(--surface);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 6px 18px rgba(0,0,0,.08);
}
.overview-grid{border-radius:6px}
.overview-card:first-child{border-radius:6px 0 0 6px}
.overview-card:last-child{border-radius:0 6px 6px 0}
.button{
 background:linear-gradient(180deg,#ddc79f,var(--accent));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 8px rgba(0,0,0,.1);
}
a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.button:active{background:#c4aa7d;box-shadow:inset 0 1px 3px rgba(0,0,0,.16)}
.overview-card:focus-within,.specialization-card:focus-within{box-shadow:inset 0 1px 0 rgba(212,188,145,.24)}
.overview-card>a:focus-visible,.specialization-links a:focus-visible,.secondary-link:focus-visible,.related a:focus-visible{color:var(--accent)}
@media(hover:hover){
 .button:hover{background:linear-gradient(180deg,#e6d3b2,#ddc49b);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 12px rgba(0,0,0,.15)}
 .overview-card:hover{background-color:rgba(255,255,255,.018)}
 .specialization-card:hover{border-color:#595346}
 .header nav a:hover,.header-contact:hover,.secondary-link:hover,.related a:hover,.faq summary:hover{color:var(--accent)}
}
@media(prefers-reduced-motion:no-preference){
 .button,.overview-card,.specialization-card{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
 .header-contact,.related a,.faq summary{transition:color .18s ease}
}
@media(max-width:850px){
 :root{--section-space:2.75rem;--heading-space:1.5rem;--layout-gap:1.5rem}
 .team,.faq,.contact,.footer{grid-template-columns:1fr}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;border:0}
 .steps li{border-top:1px solid var(--line);padding:1rem 0 0}
 .specialization-card{padding:1.5rem}
 .faq details:first-child summary{padding-top:1rem}
 .faq-items{border-top:1px solid var(--line)}
 .contact-right{max-width:none}
}
@media(max-width:520px){
 :root{--section-space:2.25rem}
 .steps{grid-template-columns:1fr;gap:1.25rem}
 .steps li{padding:1rem 0 0 2.5rem}
 .steps li>span{position:absolute;left:0;top:1rem}
 .steps h3{margin-top:0}
 .steps li::before{display:none}
 .acceptance-grid{gap:1.25rem}
 .acceptance-grid li+li{border-top:1px solid var(--line);padding-top:1.25rem}
 .team-copy p.team-lead br{display:initial}
 .header nav{font-size:.875rem;flex-wrap:wrap}
}
