@font-face{font-family:Manrope;src:url('assets/fonts/manrope-cyrillic-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#202427;--surface:#292c2e;--line:#464a4d;--text:#f1f0ec;--muted:#bdc0c2;--accent:#e9b08d;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:550;line-height:1.25;letter-spacing:-.025em}
h1{font-size:clamp(42px,3.5vw,51px);max-width:620px;line-height:1.12}
h2{font-size:36px;max-width:750px}
h3{font-size:22px}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button,a,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:var(--accent);color:var(--bg)}
.wrap{width:calc(100% - 96px);max-width:1248px;margin-inline:auto}
.muted{color:var(--muted)}
.eyebrow,.micro{font-size:14px;color:var(--muted);letter-spacing:.015em}
.skip-link{position:fixed;top:-1000px;left:16px;z-index:100;padding:12px 20px;background:var(--text);color:var(--bg)}
.skip-link:focus{top:12px}
.header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);position:relative;z-index:10}
.brand{font-size:18px;font-weight:650;line-height:1.4}
.header nav{display:flex;align-items:center;gap:30px;font-size:15px}
.header nav a:hover{color:var(--accent)}
.nav-contact{padding:10px 16px;border:1px solid #8c9092;border-radius:3px}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;padding-block:76px 80px;border-bottom:1px solid var(--line)}
.hero-copy .eyebrow{margin-bottom:20px;color:var(--accent);font-size:15px}
.hero-description{font-size:18px;line-height:1.75;margin-top:26px;max-width:600px}
.hero-audience{font-size:16px;color:var(--muted);margin-top:16px;max-width:580px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 23px;border-radius:3px;font-size:16px;font-weight:650;transition:background-color .15s}
.button-primary{background:var(--accent);color:#202224;margin-top:30px}
.button-primary:hover{background:#f0c5aa}
.button-primary:active{background:#d39a79}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;object-position:52% center;border-radius:3px}
.hero-photo figcaption{color:var(--muted);font-size:12px;line-height:1.65;margin-top:12px}
.hero-photo figcaption a{text-decoration:underline;text-underline-offset:3px}
.split-section{padding-block:72px;border-bottom:1px solid var(--line)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}
.section-heading>p{color:var(--muted);font-size:16px;max-width:340px}
.service-list{margin-top:34px;border-top:1px solid var(--line)}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
.service{border-bottom:1px solid var(--line)}
.service summary{display:grid;grid-template-columns:1fr 24px;gap:24px;align-items:center;padding:25px 0}
.service summary:hover h3{color:var(--accent)}
.service h3{font-size:22px}
.service-brief{display:block;margin-top:6px;font-size:16px;color:var(--muted)}
.expand,.faq-list summary>span{display:block;font:26px/1 Arial,sans-serif;color:var(--muted);text-align:center}
details[open] .expand,.faq-list details[open] summary>span{transform:rotate(45deg)}
.service-body{max-width:940px;padding:0 40px 28px 0;font-size:17px}
.service-outcome{padding:18px 22px;margin-top:20px;background:var(--surface);border-radius:3px;display:grid;grid-template-columns:105px 1fr;gap:20px}
.service-outcome .micro{font-size:12px;padding-top:5px}
.boundary{font-size:15px;color:var(--muted);margin-top:18px}
.technology{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:25px}
.technology .micro{font-size:15px}
.technology>div{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px;color:var(--muted)}
.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:65px;margin-top:32px}
.identity{border-left:2px solid var(--accent);padding-left:24px;align-self:start}
.identity h3{font-size:24px}
.identity p{font-size:16px;color:var(--muted);margin-top:8px}
.about-copy>p{font-size:17px;margin-bottom:18px}
.about-copy>p:not(:first-child){color:var(--muted)}
.personal-note{font-size:16px;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:36px}
.steps article{padding-top:20px;border-top:1px solid var(--line)}
.step-number{font-size:15px;color:var(--accent)}
.steps h3{font-size:20px;margin-top:15px;margin-bottom:13px}
.steps p{font-size:16px;color:var(--muted)}
.terms{margin-top:40px;padding:30px;background:var(--surface);border-radius:3px;display:grid;grid-template-columns:1fr 1.6fr;gap:50px}
.terms .micro{font-size:12px}
.terms h3{margin-top:12px;font-size:23px;max-width:330px}
.terms p{font-size:16px;color:var(--muted)}
.text-link{display:inline-block;color:var(--accent);border-bottom:1px solid currentColor;margin-top:18px;font-size:16px}
.faq .section-content{display:grid;grid-template-columns:1fr 1.6fr;gap:65px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 0;font-size:17px}
.faq-list summary>span{flex:0 0 24px}
.faq-list summary:hover{color:var(--accent)}
.faq-list details>p{color:var(--muted);padding:0 35px 24px 0;font-size:16px}
.contact{padding-block:72px}
.contact-grid{margin-top:28px}
.contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.contact-copy>p{font-size:18px;max-width:510px}
.direct-contact>a{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);padding:18px 0;font-size:20px}
.direct-contact>a:hover{color:var(--accent)}
.direct-contact small{display:block;font-size:16px;color:var(--muted);margin-top:4px}
.copy-button{background:none;color:var(--muted);border:0;padding:12px 0;font-size:15px;text-decoration:underline;text-underline-offset:4px}
.copy-button:hover{color:var(--text)}
#copy-status{display:block;min-height:28px;color:var(--accent);font-size:14px}
.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:110px;border-top:1px solid var(--line)}
.footer>p,.footer>a:last-child{font-size:14px;color:var(--muted)}
@media(max-width:1100px){
.wrap{width:calc(100% - 64px)}.hero{gap:38px;padding-block:56px}h1{font-size:45px}.header nav{gap:20px;font-size:14px}.brand{font-size:17px}.steps{grid-template-columns:1fr 1fr}.about-grid,.faq .section-content{gap:38px}.contact-copy{gap:50px}
}
@media(max-width:799px){
.wrap{width:calc(100% - 48px)}.header{min-height:80px;flex-wrap:wrap;gap:0}.header nav{width:100%;flex-wrap:wrap;padding-block:18px;gap:18px}.js .header nav{display:none}.js .header nav.is-open{display:flex;position:absolute;top:79px;left:0;width:100%;background:var(--surface);border:1px solid var(--line);padding:16px;flex-direction:column;align-items:stretch;gap:0;border-radius:3px}.js .header nav.is-open>a{padding:14px}.js .header nav.is-open .nav-contact{margin-top:8px}.js .menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:3px;background:none;color:var(--text)}.menu-toggle>span{width:18px;height:1px;background:currentColor}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{grid-template-columns:1fr;gap:34px;padding-block:40px 48px}.hero-copy{max-width:620px}.hero-photo img{aspect-ratio:1.9}h1{font-size:46px}h2{font-size:31px}.split-section{padding-block:48px}.section-heading{display:block}.section-heading>p{margin-top:16px;max-width:none}.about-grid{grid-template-columns:1fr;gap:28px}.faq .section-content{display:block}.faq-list{margin-top:28px}.terms{grid-template-columns:1fr;gap:22px}.terms h3{max-width:none}.contact-copy{gap:32px}.contact{padding-block:48px}.footer{flex-wrap:wrap;padding-block:25px;min-height:100px}
}
@media(max-width:540px){
.wrap{width:calc(100% - 40px)}h1{font-size:38px;line-height:1.18;letter-spacing:-.025em}h2{font-size:29px;line-height:1.28}.hero-copy .eyebrow{font-size:14px;margin-bottom:16px}.hero-description{font-size:17px;margin-top:22px}.hero-audience{font-size:16px}.hero-photo img{aspect-ratio:1.5}.hero-photo figcaption{font-size:12px}.button-primary{margin-top:24px}.service-list{margin-top:26px}.service summary{gap:15px;padding-block:21px}.service h3{font-size:20px}.service-brief{font-size:15px}.service-body{padding-right:0;font-size:16px}.service-outcome{display:block;padding:18px}.service-outcome .micro{display:block;margin-bottom:10px;padding-top:0}.boundary{font-size:15px}.technology{gap:8px}.technology>div{gap:6px 18px}.identity{padding-left:18px}.identity h3{font-size:23px}.about-copy>p{font-size:16px}.steps{grid-template-columns:1fr;gap:26px;margin-top:28px}.steps h3{margin-top:8px}.terms{padding:22px;margin-top:30px}.terms h3{font-size:22px}.faq-list summary{font-size:16px}.faq-list details>p{padding-right:0}.contact-copy{grid-template-columns:1fr;gap:28px}.contact-copy>p{font-size:17px}.direct-contact>a{font-size:19px}.footer{display:grid;grid-template-columns:1fr auto;gap:14px}.footer>p{grid-column:1/-1;grid-row:2}.footer .brand{font-size:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* User-supplied illustration: preserve the complete composition on every screen. */
.hero-photo img{aspect-ratio:auto;height:auto;object-fit:contain}

/* Repeat review: less repetition, compact process and contact sections. */
.service-body>p,.service-outcome p,.about-copy>p,.faq-list details>p{max-width:70ch}
.service-outcome p{font-weight:550}
.direct-contact>a.contact-primary{background:var(--accent);color:var(--bg);border:0;border-radius:3px;padding:16px 20px;align-content:center}
.direct-contact>a.contact-primary small{color:inherit}
.direct-contact>a.contact-primary:hover{background:#f0c5aa;color:var(--bg)}
.steps{grid-template-columns:repeat(3,1fr)}
.terms{display:block;padding:22px 26px;margin-top:28px}
.terms h3{margin-top:0;max-width:none;font-size:20px}
.terms p{margin-top:8px}
.contact{padding-block:48px}
.contact-copy{grid-template-columns:1fr 1.4fr;gap:50px}
.direct-contact{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;align-items:start}
.email-contact>a{display:block;border-top:1px solid var(--line);padding:18px 0;font-size:18px}
.email-contact>a:hover{color:var(--accent)}
.email-contact{min-width:0}
.email-contact #copy-status{min-height:28px}
.hero-photo figcaption{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.5}
.hero-photo figcaption a{text-decoration:underline;text-underline-offset:3px}
.direct-contact>a{font-size:18px}
.direct-contact small{font-size:15px}
.copy-button{justify-self:start}
#copy-status{grid-column:1/-1}
@media(max-width:799px){.steps{grid-template-columns:1fr}.contact-copy{grid-template-columns:1fr;gap:22px}}
@media(max-width:540px){
.hero{padding-block:28px;gap:24px}
.hero-description{margin-top:18px}
.hero-audience{margin-top:12px}
.button-primary{margin-top:20px}
.hero-photo img{max-height:145px;width:auto;max-width:100%;margin-inline:auto}
.services{padding-top:32px}
.steps{gap:20px;margin-top:24px}
.steps article{display:grid;grid-template-columns:26px 1fr;gap:6px 12px;padding-top:18px}
.step-number{grid-row:1/3}
.steps h3{margin:0}
.steps p{grid-column:2}
.terms{padding:20px;margin-top:24px}
.contact{padding-block:36px}
.direct-contact{grid-template-columns:1fr}
.direct-contact>a{padding-block:13px}
}

/* Focused refinement: readable mobile diagram and lighter service results. */
.mobile-workflow{display:none}
.service-outcome{background:none;border-radius:0;border-left:2px solid var(--accent);padding:2px 0 2px 18px;gap:16px}
.service-outcome .micro{color:var(--accent)}
@media(max-width:799px){
.js .header nav.is-open{padding:10px;gap:0}
.js .header nav.is-open>a{padding:9px 12px;min-height:44px;display:flex;align-items:center}
.js .header nav.is-open .nav-contact{margin-top:4px}
}
@media(max-width:540px){
.hero-photo{display:none}
.mobile-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-block:12px;margin-block:4px;border-block:1px solid var(--line);font-size:14px;line-height:1.5;text-align:center;color:var(--text)}
.mobile-workflow span{padding:7px 2px}
.mobile-workflow span+span{border-left:1px solid var(--accent)}
.service-outcome{padding:2px 0 2px 16px}
.service-outcome .micro{font-size:13px;margin-bottom:6px}
.service-brief,.boundary,.technology>div,.direct-contact small,.copy-button{font-size:16px}
.footer>p,.footer>a:last-child{font-size:15px}
}
