@font-face{font-family:Golos;src:url(assets/golos.ttf) format('truetype');font-weight:400 900;font-display:swap}@font-face{font-family:Cormorant;src:url(assets/cormorant.ttf) format('truetype');font-weight:300 700;font-display:swap}
:root{--ink:#20382c;--paper:#f5f3ed;--muted:#5d6b61;--line:#ccd1c7;--lime:#d6ed87}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Golos,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}::selection{background:var(--lime)}.wrap{max-width:1320px;margin:auto;padding:0 56px}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.brand{font-size:18px;font-weight:550;letter-spacing:-.8px;white-space:nowrap}.brand span{font-weight:400}.navlinks{display:flex;gap:29px;align-items:center;font-size:12px}.lang{display:flex;gap:4px}.lang a{display:grid;place-items:center;width:39px;height:42px}.lang [aria-current]{background:var(--ink);color:var(--paper)}.navcta{border-bottom:1px solid;padding:8px 0}.menu{display:none}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:500;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.hero{padding:64px 0 0;position:relative}.hero-main{display:grid;grid-template-columns:1.13fr 1fr;gap:46px;align-items:center}.hero-copy{padding-bottom:28px;position:relative;z-index:2}h1{font:400 clamp(62px,6.7vw,100px)/.93 Cormorant,Georgia,serif;letter-spacing:-3.5px;margin:30px 0}h1 em,h2 em{font-style:italic;color:#627959}h1 .indent{display:block;margin-left:50px}.intro{font-size:14px;line-height:1.8;max-width:395px;color:var(--muted);margin:27px 0 30px}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;background:var(--ink);color:#fff;padding:16px 22px;border:1px solid var(--ink);font-size:12px;min-height:52px;transition:background .2s,transform .2s}.btn:hover{background:#39573f;transform:translateY(-2px)}.arrow{font-size:20px;line-height:1}.hero-note{font-size:10px;margin:13px 0;color:var(--muted)}.portrait{position:relative;margin:0;padding:0 0 40px 16px}.portrait:before{content:'';position:absolute;inset:22px -17px 60px 38px;border:1px solid #b6bfae;z-index:0}.portrait img{display:block;position:relative;width:100%;height:555px;object-fit:cover;object-position:50% 45%;filter:saturate(.86)}.portrait figcaption{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:17px 0}.portrait figcaption span{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.portrait-tag{position:absolute;bottom:104px;left:-16px;padding:15px 21px;background:var(--paper);border-left:3px solid var(--ink);font-size:11px;z-index:3;box-shadow:0 8px 24px #15251e0b}.portrait-tag strong{font-weight:500}.portrait-tag small{display:block;color:var(--muted);margin-top:3px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding:29px 0 36px;gap:30px}.stat{display:flex;align-items:center;gap:15px}.stat b{font:400 43px/1 Cormorant,serif;letter-spacing:-1px}.stat span{font-size:10px;max-width:105px;line-height:1.6;color:var(--muted)}.section{padding:98px 0}.section-top{display:grid;grid-template-columns:1fr 2.3fr;gap:30px;margin-bottom:46px}.label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;padding-top:10px;color:var(--muted)}h2{font:400 clamp(42px,4.6vw,66px)/1 Cormorant,Georgia,serif;letter-spacing:-1.6px;margin:0}h3{font-weight:450}.problems{background:#ebece3}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.problem{border-top:1px solid #b9c2b1;padding-top:21px}.problem>span{font:400 22px Cormorant,serif;color:#637855}.problem h3{font-size:19px;line-height:1.35;max-width:260px;margin:30px 0 14px;letter-spacing:-.4px}.problem p,.service p,.about p{font-size:13px;color:var(--muted);line-height:1.85}.service{display:grid;grid-template-columns:65px 1fr 1fr 32px;gap:24px;border-top:1px solid var(--line);padding:28px 0;align-items:start}.service:last-child{border-bottom:1px solid var(--line)}.service .num{font:400 26px Cormorant,serif;color:var(--muted)}.service h3{font:500 30px/1.1 Cormorant,serif;margin:0}.service p{margin:0}.service small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:13px}.service .arrow{font-size:24px}.about{background:var(--ink);color:var(--paper);overflow:hidden;position:relative}.about:after{content:'';width:650px;height:650px;border:1px solid #ffffff14;border-radius:50%;position:absolute;right:-180px;top:50px;pointer-events:none}.about .wrap{position:relative;z-index:1}.about-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:100px}.about .label{color:#c1cbb9}.about p{color:#cad2c4}.about .bio{max-width:520px}.about h2{margin-bottom:30px}.about .signature{font:italic 35px Cormorant,serif;color:var(--lime);margin-top:32px}.markets{display:flex;gap:17px;flex-wrap:wrap;font-size:10px;margin-top:30px}.markets span{border-bottom:1px solid #ffffff40;padding-bottom:8px}.quote-mark{font:400 110px/.8 Cormorant,serif;color:var(--lime);margin-top:58px}.about blockquote{font:400 30px/1.15 Cormorant,serif;margin:12px 0;max-width:290px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.step{border-top:1px solid var(--line);padding-top:18px}.step .num{display:block;font-size:11px;color:var(--muted)}.step h3{font:500 27px Cormorant,serif;margin:30px 0 12px}.step p{font-size:12px;color:var(--muted)}.deliver{margin-top:44px;padding:22px 28px;background:#e9eddf;display:flex;gap:35px;align-items:center;font-size:12px}.deliver b{font-weight:500;white-space:nowrap}.faq{border-top:1px solid var(--line);padding:70px 0}.faq-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:100px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:14px}summary:after{content:'+';font-size:22px}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:13px;max-width:580px}summary::-webkit-details-marker{display:none}.contact{background:#e8ebdf}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact h2{margin:26px 0}.contact-copy p{color:var(--muted);font-size:13px;max-width:370px}.contact form{display:grid;gap:22px}.contact label{font-size:11px;display:block}.contact input,.contact textarea{display:block;width:100%;border:0;border-bottom:1px solid #aeb9a4;background:transparent;padding:12px 0;font-size:14px;color:var(--ink);border-radius:0}.contact textarea{resize:vertical;min-height:75px}.contact .consent{display:flex;gap:10px;font-size:10px;line-height:1.6;color:var(--muted)}.contact .consent input{width:17px;height:17px;flex:none;margin:3px 0;accent-color:var(--ink)}.consent a{text-decoration:underline}.preview-info{font-size:10px;color:var(--muted);margin:0}.form-status{font-size:13px;background:var(--paper);padding:16px;border-left:3px solid var(--ink)}footer{background:var(--ink);color:var(--paper);padding:46px 0 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-email{font:400 30px Cormorant,serif;border-bottom:1px solid #ffffff44}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;border-top:1px solid #ffffff25;padding-top:24px;margin-top:35px;font-size:10px;color:#c6cfbd}.legal{display:flex;gap:25px}.local-badge{position:fixed;bottom:14px;right:14px;padding:7px 12px;background:#f5f3edf0;border:1px solid var(--line);font-size:9px;z-index:20;color:var(--ink)}:focus-visible{outline:2px solid #6b8837;outline-offset:5px}.reveal{animation:arrive .75s both}.portrait{animation:arrive 1s .12s both}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.hero-copy{animation:arrive .8s both}.stat:nth-child(2){animation-delay:.1s}.stat:nth-child(3){animation-delay:.2s}}
@media(max-width:1000px){.wrap{padding:0 30px}.navlinks{gap:16px}.hero-main{gap:28px}.portrait img{height:485px}h1{font-size:72px}.hero h1 .indent{margin-left:20px}.about-grid,.contact-grid,.faq-grid{gap:45px}.stat{gap:8px}.stat b{font-size:36px}}
@media(max-width:700px){.wrap{padding:0 22px}.nav{height:76px;gap:15px}.navlinks{display:none;position:absolute;left:0;right:0;top:76px;z-index:10;background:var(--paper);padding:24px;box-shadow:0 16px 20px #20382c10;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.navlinks a{padding:10px 0}.menu{display:block;border:0;background:transparent;font-size:12px;color:var(--ink);padding:12px}.lang{margin-left:auto}.hero{padding-top:40px}.hero-main{grid-template-columns:1fr;gap:24px}.hero-copy{padding:0}.hero h1{font-size:65px;letter-spacing:-2px;margin:25px 0}.hero h1 .indent{margin-left:25px}.intro{font-size:13px;margin:23px 0}.portrait{padding:0 10px 28px;margin:6px 0 0}.portrait img{height:445px;object-position:50% 38%}.portrait:before{inset:16px 0 54px 25px}.portrait-tag{left:0;bottom:93px}.portrait figcaption{font-size:10px}.stats{grid-template-columns:1fr 1fr;gap:24px;padding:25px 0 35px}.stat b{font-size:43px}.stat span{font-size:10px}.section{padding:63px 0}.section-top,.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.section-top{margin-bottom:30px}h2{font-size:46px}.problem-grid{grid-template-columns:1fr;gap:28px}.problem h3{max-width:none;margin:12px 0;font-size:19px}.problem p{margin:0}.service{grid-template-columns:28px 1fr 20px;gap:14px}.service h3{font-size:28px}.service p{grid-column:2;grid-row:2}.service .arrow{grid-column:3;grid-row:1}.service small{margin-top:9px}.about-grid{gap:42px}.quote-mark{margin-top:20px;font-size:75px}.about blockquote{font-size:25px;max-width:none}.process-grid{grid-template-columns:1fr 1fr;gap:28px}.step h3{font-size:25px;margin-top:18px}.deliver{display:block;padding:20px}.deliver b{display:block;margin-bottom:10px}.faq{padding:55px 0}.contact-grid{gap:35px}.footer-top{align-items:flex-start;flex-direction:column}.footer-email{font-size:27px}.legal{flex-wrap:wrap;gap:15px}.local-badge{font-size:8px;bottom:7px;right:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}}
.portrait-window{overflow:hidden;position:relative;height:555px;background:#ddd7c7}.portrait-window img{height:100%;transform:scale(1.37);transform-origin:50% 32%}@media(max-width:1000px){.portrait-window{height:485px}}@media(max-width:700px){.portrait-window{height:405px}.portrait-window img{transform:scale(1.32);transform-origin:50% 34%;object-position:50% 35%}}@media(prefers-reduced-motion:reduce){.portrait-window img{transform:scale(1.37)!important}}
.portrait-window img{transform:none;object-position:center 25%}@media(min-width:1001px){h1{font-size:82px;letter-spacing:-2.6px}}@media(max-width:700px){.portrait-window img{transform:none;object-position:center 20%}}@media(prefers-reduced-motion:reduce){.portrait-window img{transform:none!important}}
@media(max-width:700px){.hero-main{grid-template-columns:minmax(0,1fr)}.hero-copy,.portrait,.stats,.nav{min-width:0}.hero h1{font-size:54px;letter-spacing:-2px}.hero h1 .indent{margin-left:12px}.nav{gap:6px}.brand{font-size:16px}.lang a{width:32px}.menu{padding:12px 6px}.portrait figcaption{flex-wrap:wrap}.eyebrow{letter-spacing:1.2px}.contact-grid>*{min-width:0}}
/* Cyrillic: consistent upright typography and independent size scale. */
html:lang(ru) h1,html:lang(ru) h2,html:lang(ru) .service h3,html:lang(ru) .step h3,html:lang(ru) .about blockquote,html:lang(ru) .about .signature,html:lang(ru) .stat b,html:lang(ru) .problem>span,html:lang(ru) .service .num,html:lang(ru) .footer-email{font-family:Golos,Arial,sans-serif;font-style:normal;font-synthesis:none}
html:lang(ru) h1{font-size:clamp(36px,4.2vw,60px);font-weight:500;line-height:1.1;letter-spacing:-.035em}
html:lang(ru) h2{font-size:clamp(30px,3.2vw,46px);font-weight:500;line-height:1.16;letter-spacing:-.025em;text-wrap:balance}
html:lang(ru) h1 em,html:lang(ru) h2 em{font-style:normal;color:inherit;font-weight:inherit}
html:lang(ru) .hero h1 .indent{margin-left:0}
html:lang(ru) .service h3{font-size:25px;line-height:1.25;letter-spacing:-.02em}
html:lang(ru) .step h3{font-size:22px;line-height:1.3;letter-spacing:-.02em}
html:lang(ru) .about blockquote{font-size:25px;line-height:1.4;letter-spacing:-.02em}
html:lang(ru) .about .signature{font-size:16px;font-weight:500;letter-spacing:0}
html:lang(ru) .stat b{font-size:36px;font-weight:500;letter-spacing:-.04em}
html:lang(ru) .footer-email{font-size:24px;letter-spacing:-.02em}
@media(max-width:700px){html:lang(ru) .hero h1{font-size:clamp(32px,8.6vw,52px);letter-spacing:-.035em}html:lang(ru) h2{font-size:32px}html:lang(ru) .service h3{font-size:23px}html:lang(ru) .step h3{font-size:20px}}
/* Blend the selected portrait into the page, without a frame. */
.portrait:before{display:none}
.portrait-window{background:transparent;overflow:visible}
.portrait-window img{filter:none;object-position:center 25%;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 76%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 76%,transparent 100%);mask-composite:intersect}
.portrait-tag{display:none}
@media(max-width:700px){.portrait-window img{object-position:center 20%}}
/* Header wordmark: 1.5 times its original size. */
.nav .brand{font-size:27px;letter-spacing:-1.2px;flex-shrink:0}
@media(max-width:700px){.nav .brand{font-size:24px}}
@media(max-width:360px){.nav{gap:4px}.nav .lang{gap:0}.nav .lang a{width:26px}.nav .menu{font-size:11px;padding:12px 0}}
/* Secondary language navigation. */
.nav .lang{gap:2px;flex-shrink:0;font-size:11px;line-height:1}
.nav .lang a{width:28px;height:32px;color:var(--muted);background:transparent}
.nav .lang a[aria-current]{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.portrait{padding-bottom:20px}
/* Clean portrait silhouette; fading applies to the shirt only. */
.portrait-window img{object-fit:contain;object-position:center bottom;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
.hero-copy .intro{max-width:440px;margin:24px 0 32px;font-size:13px;line-height:1.6}
.hero-copy h1{margin-top:0}
/* Restore the fuller hero composition and a close portrait. */
.hero{padding-top:40px}
.hero-main{grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:36px}
.portrait{padding:0 0 20px}
.portrait-window{height:555px;overflow:hidden}
.portrait-window img{height:100%;object-fit:cover;object-position:center top}
.hero-copy .intro{max-width:390px;font-size:14px;line-height:1.75;margin:26px 0 30px}
@media(min-width:701px) and (max-width:1000px){.portrait-window{height:510px}.hero-main{gap:28px}}
@media(max-width:700px){.hero{padding-top:32px}.hero-main{grid-template-columns:minmax(0,1fr);gap:24px}.portrait-window{height:460px}.hero-copy .intro{font-size:13px;margin:22px 0 26px}}
/* Preserve the full portrait width; blend only the empty outer margin. */
.portrait-window{height:auto;overflow:visible}
.portrait-window img{width:100%;height:auto;object-fit:contain;object-position:center;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 83%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 83%,transparent);-webkit-mask-composite:source-in}
@media(min-width:701px){.hero-main{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}}
/* Legible metrics: fixed hierarchy, unbroken values. */
.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:32px 0 40px}
.stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-width:0}
.stat b,html:lang(ru) .stat b{font-family:Golos,Arial,sans-serif;font-size:42px;line-height:1.1;font-weight:500;white-space:nowrap;letter-spacing:-.035em}
.stat span{font-size:14px;line-height:1.5;max-width:190px}
.problems .section-top{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.problems .section-top .label{padding-top:0}
.portrait-window img{mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 76%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 76%,transparent)}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.stat b,html:lang(ru) .stat b{font-size:38px}.stat span{font-size:14px}}
/* Keep the original face pixels; remove the room with a silhouette clip. */
.portrait-window img{clip-path:url(#portrait-silhouette);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
/* Shared section opening, matching the approved approach section. */
.section-top,.problems .section-top{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:46px;text-align:left}
.section-top .label{padding-top:0}
.section-top h2,.about .section-top h2,.contact .section-top h2{margin:0;max-width:950px}
.section-heading-wide{grid-column:1 / -1}
.about-grid,.contact-grid{row-gap:0}
.faq-grid{grid-template-columns:minmax(0,1fr);gap:0}
.about .quote-mark{margin-top:0}
.contact-copy p{margin-top:0}
@media(max-width:700px){.section-top,.problems .section-top{gap:18px;margin-bottom:32px}.about-grid,.contact-grid{row-gap:24px}}
/* Genuine alpha cutout: no geometric clipping or cover-cropping. */
.portrait-window{height:auto;overflow:visible;background:transparent}
.portrait-window img{clip-path:none;display:block;width:100%;height:auto;object-fit:contain;transform:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 69%,transparent 98%),linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 69%,transparent 98%),linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
/* Contact: keep heading and supporting copy together beside the form. */
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;column-gap:72px;row-gap:0;align-items:start}
.contact-grid .section-heading-wide{grid-column:1;grid-row:1;margin-bottom:24px}
.contact-grid .contact-copy{grid-column:1;grid-row:2}
.contact-grid form{grid-column:2;grid-row:1 / 3;margin-top:40px;min-width:0}
.contact .section-top h2 br{display:none}
.contact .section-top h2{max-width:470px;text-wrap:balance}
.contact .section-top h2 em:before{content:' '}
.contact-copy p{max-width:390px;margin:0;font-size:14px;line-height:1.75}
@media(max-width:700px){.contact-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:0}.contact-grid .section-heading-wide{grid-column:1;grid-row:auto;margin-bottom:22px}.contact-grid .contact-copy{grid-column:1;grid-row:auto}.contact-grid form{grid-column:1;grid-row:auto;margin-top:32px}.contact .section-top h2{max-width:100%}}
/* The about section starts with Natalia, not an abstract quotation. */
.about:after{display:none}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:64px;align-items:start}
.about-photo{margin:0;aspect-ratio:1;overflow:hidden;background:#c9c2b4}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 60%;transform:scale(1.65);transform-origin:50% 58%}
.about .bio{max-width:580px}
.about .bio p{font-size:15px;line-height:1.8;margin:0 0 20px}
.about .bio .about-lead{font-size:23px;line-height:1.4;color:var(--paper);letter-spacing:-.02em;margin-bottom:24px}
.about-link{display:inline-flex;align-items:center;gap:20px;margin-top:8px;padding-bottom:8px;border-bottom:1px solid #c1cbb9;color:var(--lime);font-size:14px}
@media(max-width:700px){.about-grid{grid-template-columns:minmax(0,1fr);gap:28px}.about-photo{max-width:440px;width:100%}.about .bio .about-lead{font-size:22px}}
.about-photo{position:relative}
.about-photo img{position:absolute;width:165%;height:165%;max-width:none;left:-32.5%;top:-37.7%;transform:none;object-fit:cover;object-position:50% 60%}
.footer-socials{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.social-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;min-height:42px;border:1px solid #ffffff38;background:transparent;color:var(--paper);font:400 12px/1.2 Golos,Arial,sans-serif;border-radius:3px}
.social-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.social-link[href]:hover{background:#ffffff12;border-color:#ffffff80}
.social-link:disabled{opacity:.55;cursor:default}
@media(max-width:700px){.footer-socials{gap:8px}.social-link{padding:10px;font-size:12px}}
/* Quiet graphic details: editorial rules and a connected process. */
.section-top .label{display:flex;align-items:center;gap:20px}
.section-top .label:after{content:'';display:block;width:64px;height:1px;background:currentColor;opacity:.45;transform-origin:left}
.section-top .label.in-view:after{animation:draw-rule .7s cubic-bezier(.22,1,.36,1) both}
@keyframes draw-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.problem>span,.step .num{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #aab69c;border-radius:50%;font:400 12px/1 Golos,Arial,sans-serif;letter-spacing:0}
html:lang(ru) .problem>span{font-size:12px}
.step{position:relative}
.step:before{content:'';position:absolute;left:0;top:-3px;width:5px;height:5px;background:#718760;border-radius:50%}
.service>.arrow{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:18px;transition:transform .18s ease,background .18s ease}
.service:hover>.arrow{transform:translate(2px,-2px);background:#e5ead9}
.btn .arrow,.about-link .arrow{transition:transform .18s ease}
.btn:hover .arrow,.about-link:hover .arrow{transform:translate(2px,-2px)}
.btn:active{transform:translateY(0) scale(.985)}
.contact input:focus,.contact textarea:focus{border-bottom-color:var(--ink)}
@media(max-width:700px){.section-top .label{gap:14px}.section-top .label:after{width:36px}.service>.arrow{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.section-top .label.in-view:after{animation:none}.btn:active,.service:hover>.arrow,.btn:hover .arrow,.about-link:hover .arrow{transform:none}}
/* Personal portrait and first-person editorial quote. */
.about-photo{aspect-ratio:4/5}
.about-photo img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 40%;transform:none}
.about-quote{margin:0 0 24px}
.about .about-quote blockquote,html:lang(ru) .about .about-quote blockquote{font-family:Golos,Arial,sans-serif;font-style:normal;max-width:none;margin:0;font-weight:400}
.about .bio .about-quote blockquote p{font-size:clamp(20px,2.2vw,28px);line-height:1.5;letter-spacing:-.025em;color:var(--paper);margin:0 0 24px}
.about-quote figcaption{margin-top:30px;font-size:15px;color:var(--lime);font-weight:500}
.about-quote figcaption span{display:block;margin-top:8px;color:#cad2c4;font-size:12px;font-weight:400;line-height:1.6}
@media(max-width:700px){.about .bio .about-quote blockquote p{font-size:22px}.about-photo{max-width:440px}}
@font-face{font-family:Nunito;src:url(assets/nunito-italic.ttf) format('truetype');font-style:italic;font-weight:200 1000;font-display:swap}
/* A softer voice for the personal quote, separate from the site headings. */
.about .section-top{margin-bottom:34px;gap:14px}
.about .section-top h2,html:lang(ru) .about .section-top h2{font:500 30px/1.2 Golos,Arial,sans-serif;letter-spacing:-.02em}
.about .bio .about-quote blockquote p{font-family:Nunito,Arial,sans-serif;font-style:italic;font-synthesis:none;font-weight:400;font-size:21px;line-height:1.6;letter-spacing:0;margin:0 0 20px}
.about-quote figcaption{margin-top:26px;font-style:normal}
@media(max-width:700px){.about .section-top h2,html:lang(ru) .about .section-top h2{font-size:26px}.about .bio .about-quote blockquote p{font-size:20px;line-height:1.6}}
/* Compact, right-aligned icon controls. */
.footer-socials{margin-left:auto;justify-content:flex-end;gap:10px}
.footer-socials .social-link{width:42px;height:42px;min-height:42px;padding:0;border-radius:0;flex:0 0 42px}
.footer-socials .social-link svg{width:19px;height:19px}
@media(max-width:700px){.footer-socials{align-self:flex-end;margin-left:auto;gap:8px}}
.about .bio .about-quote blockquote p{font-family:Nunito,Arial,sans-serif;font-style:italic;font-weight:500;font-size:20px;line-height:1.6;font-synthesis:none;letter-spacing:0}
.about-photo{background:transparent;overflow:visible}
.about-photo img{object-fit:contain;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 87%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 87%,transparent 100%)}
.footer-socials .social-link .linkedin-mark{width:24px;height:24px;stroke:none}
/* A larger silhouette with transparent margins removed. */
.about-photo{aspect-ratio:auto;height:620px;max-width:none;align-self:start}
.about-photo img{width:100%;height:100%;object-fit:contain;object-position:center top}
@media(max-width:700px){.about-photo{height:480px;max-width:440px;margin:0 auto}}
/* Long personal quote: calm upright typography. */
.about .bio .about-quote blockquote p{font-family:Golos,Arial,sans-serif;font-style:normal;font-weight:400;font-size:18px;line-height:1.75;letter-spacing:0;margin-bottom:24px}
@media(max-width:700px){.about .bio .about-quote blockquote p{font-size:17px;line-height:1.7;margin-bottom:22px}}
/* Lighter weight for the personal quote. */
.about .bio .about-quote blockquote p{font-weight:300}
@font-face{font-family:Manrope;src:url(assets/manrope.ttf) format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
.about .bio .about-quote blockquote p{font-family:Manrope,Arial,sans-serif;font-weight:300;font-style:normal;font-synthesis:none}
.about .bio .about-quote blockquote p{font-size:16px;line-height:1.75}
/* Compact desktop about section, sized for the viewport. */
@media(min-width:701px){
.about{padding:36px 0}
.about .section-top{gap:10px;margin-bottom:24px}
.about-photo{height:clamp(330px,calc(100svh - 166px),510px)}
.about .bio .about-quote blockquote p{font-size:16px;line-height:1.6;margin-bottom:16px}
.about-quote{margin-bottom:14px}
.about-quote figcaption{margin-top:18px}
.about-quote figcaption span{margin-top:5px}
.about-link{margin-top:0;padding-bottom:6px}
}
/* Navigation is not fixed, so anchor sections need no reserved header gap. */
html{scroll-padding-top:0}
/* The contour is decorative, never an interaction layer. */
#site{position:relative;isolation:isolate}
.page-line-art{position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;max-width:100%}
.page-line-art path{fill:none;stroke:#738963;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.page-line-art .line-base{opacity:.1}
.page-line-art .line-draw{opacity:.3}
.page-line-art .line-light{stroke:#d6dfc0}
.page-line-art .line-light.line-base{opacity:.12}
.page-line-art .line-light.line-draw{opacity:.32}
#site>.wrap,.section>.wrap,.faq>.wrap,footer>.wrap{position:relative;z-index:2}
@media(max-width:700px){.page-line-art .line-draw{opacity:.2}.page-line-art .line-base{opacity:.07}}
/* Enlarge the about portrait upward within its existing section footprint. */
@media(min-width:701px){
.about-photo{position:relative;overflow:visible;z-index:0}
.about-photo img{position:absolute;max-width:none;width:124%;height:124%;left:-12%;top:-24%;object-fit:contain;object-position:center bottom}
.about .section-top,.about .bio{position:relative;z-index:1}
}
@media(min-width:701px){.about-photo img{height:116%;top:-16%}.about .section-top .label:after{display:none}}
/* FAQ: useful context alongside visible answers. */
.faq{padding:56px 0 64px}
.faq-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.55fr);column-gap:64px;row-gap:0;align-items:start}
.faq .section-top{margin-bottom:32px}
.faq-intro{padding:20px 28px 28px;background:#e9eddf}
.conversation-art{width:128px;height:72px;display:block;margin-bottom:24px;fill:none;stroke:#738963;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.faq-intro h3{font-size:18px;font-weight:500;line-height:1.35;margin:0 0 20px}
.faq-intro ul{list-style:none;padding:0;margin:0 0 28px}
.faq-intro li{font-size:14px;line-height:1.6;color:var(--muted);padding:9px 0;border-bottom:1px solid var(--line)}
.faq-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:13px}
.faq-list{min-width:0;border-top:1px solid var(--line)}
.faq-list details{padding:20px 0}
.faq-list summary{font-size:16px;line-height:1.5;align-items:baseline}
.faq-list details p{font-size:14px;line-height:1.75;margin:16px 28px 0 0}
@media(max-width:700px){.faq{padding:44px 0}.faq-grid{grid-template-columns:minmax(0,1fr);gap:24px}.faq .section-top{margin-bottom:0}.faq-intro{padding:22px}.conversation-art{float:right;width:80px;height:50px;margin:0 0 12px 16px}.faq-intro ul{clear:both}.faq-list summary{font-size:15px}}
@font-face{font-family:WordmarkItalic;src:url(assets/wordmark-italic.ttf) format('truetype');font-style:italic;font-weight:300 700;font-display:swap}
.brand .brand-of{display:inline-block;font-family:WordmarkItalic,Georgia,serif;font-style:italic;font-weight:500;font-size:1.3em;line-height:.8;letter-spacing:-.045em;margin:0 .12em 0 .07em;color:#728b7b;vertical-align:-.025em;font-synthesis:none}
footer .brand .brand-of{color:#b0c4af}
.cookie-sheet{position:fixed;z-index:100;bottom:16px;left:50%;transform:translateX(-50%);width:min(780px,calc(100% - 32px));display:flex;align-items:center;gap:28px;padding:24px 28px;background:#f5f3ed;color:#20382c;border:1px solid #b9c4b2;box-shadow:0 12px 50px #10291d30;border-radius:12px;animation:cookie-rise .4s cubic-bezier(.22,1,.36,1)}
.cookie-sheet[hidden]{display:none}
.cookie-sheet h2,html:lang(ru) .cookie-sheet h2{font:500 17px/1.4 Golos,Arial,sans-serif;letter-spacing:0;margin:0 0 8px}
.cookie-sheet p{font:400 13px/1.65 Golos,Arial,sans-serif;margin:0;color:#52614f}
.cookie-sheet a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.cookie-dismiss{flex-shrink:0;justify-content:center;min-width:112px}
.cookie-settings{border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer}
@keyframes cookie-rise{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.cookie-sheet{bottom:0;left:0;transform:none;width:100%;padding:22px 22px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;align-items:stretch;gap:18px}.cookie-sheet .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.cookie-sheet{animation:none!important;transform:translateX(-50%)!important}}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.cookie-sheet{transform:none!important}}
.local-badge{pointer-events:none}
/* English type scales with its content column, not just the viewport. */
.hero-copy{container-type:inline-size}
html:lang(en) .hero h1{font-size:clamp(38px,11.5cqw,70px);line-height:1.02;letter-spacing:-.035em;margin:0 0 24px}
html:lang(en) h2{font-size:clamp(34px,4.1vw,56px);line-height:1.12;letter-spacing:-.025em}
html:lang(en) .service h3{font-size:clamp(25px,2.6vw,34px);line-height:1.2}
html:lang(en) .step h3{font-size:clamp(23px,2.3vw,30px);line-height:1.2}
html:lang(en) .intro{font-size:14px;line-height:1.75}
@media(max-width:700px){html:lang(en) .hero h1{font-size:clamp(34px,10.8cqw,56px)}html:lang(en) h2{font-size:clamp(30px,8vw,40px)}html:lang(en) .intro{font-size:13px}}
@media(max-width:360px){.nav{gap:3px}.nav .brand{font-size:22px}.nav .lang a{width:24px}}
/* One upright heading family in both languages. */
h1,h2,h3,html:lang(en) h1,html:lang(en) h2,html:lang(en) h3,.service h3,.step h3{font-family:Golos,Arial,sans-serif;font-style:normal;font-weight:500;font-synthesis:none}
h1 em,h2 em,h3 em{font-family:inherit;font-style:normal;font-weight:inherit;color:inherit}
html:lang(en) .hero h1{font-size:clamp(30px,8.5cqw,51px);line-height:1.13;letter-spacing:-.03em}
html:lang(en) h2{font-size:clamp(30px,3.2vw,46px);line-height:1.16;letter-spacing:-.025em}
html:lang(en) .service h3{font-size:clamp(23px,2.1vw,28px)}
html:lang(en) .step h3{font-size:clamp(20px,1.8vw,24px)}
@media(max-width:700px){html:lang(en) .hero h1{font-size:clamp(29px,8.5cqw,44px)}html:lang(en) h2{font-size:32px}}

.step{min-width:0;overflow-wrap:break-word}@media(max-width:480px){.process-grid{grid-template-columns:minmax(0,1fr);gap:26px}}

.local-badge{display:none}.btn:disabled{opacity:.65;cursor:wait}.form-status[data-state=error]{border-color:#a54232}

/* Compact single-column hero at phone and narrow tablet widths. */
@media(max-width:700px){
 .hero{padding-top:24px}
 .hero-main{gap:12px}
 .hero-copy{padding-bottom:0}
 html:lang(ru) .hero h1,html:lang(en) .hero h1{font-size:clamp(30px,6.1vw,40px);line-height:1.12;letter-spacing:-.03em;margin:0 0 18px}
 .hero-copy .intro,html:lang(en) .hero-copy .intro{font-size:14px;line-height:1.65;max-width:450px;margin:0 0 22px}
 .hero .portrait{width:min(100%,490px);margin:0 auto;padding-bottom:12px}
}
/* Blend only the empty image margin into the paper background. */
.portrait-window img{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 69%,transparent 98%),linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 69%,transparent 98%),linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%)}

/* Crop the original portrait in layout, retaining the unmodified face. */
.hero .portrait{width:100%;max-width:520px;justify-self:center;margin:0;padding:0 0 18px}
.hero .portrait-window{position:relative;width:100%;height:auto;aspect-ratio:4/5;overflow:hidden;background:var(--paper);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 2%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 2%,#000 80%,transparent 100%)}
.hero .portrait-window img{position:absolute;display:block;width:133.333%;max-width:none;height:auto;left:-16.667%;top:-11%;object-fit:contain;transform:none;filter:none;-webkit-mask-image:none;mask-image:none}
@media(max-width:700px){.hero .portrait{max-width:400px;padding-bottom:8px}}
.hero .portrait-window{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 2%,#000 80%,transparent 100%),linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 2%,#000 80%,transparent 100%),linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}

/* A working moment for the personal section, distinct from the hero. */
.about .about-photo{position:relative;width:100%;max-width:460px;height:auto;aspect-ratio:.86;justify-self:center;align-self:start;overflow:hidden;background:var(--ink);margin:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 92%,transparent 100%),linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 4%,#000 92%,transparent 100%),linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.about .about-photo img{position:absolute;width:100%;max-width:100%;height:auto;left:0;top:-9%;object-fit:contain;object-position:center;transform:none;-webkit-mask-image:none;mask-image:none}
@media(max-width:700px){.about .about-photo{max-width:380px;margin:0 auto}}

/* Direct the working portrait toward the adjacent quote. */
.about .about-photo img{transform:scaleX(-1)}

/* Direct camera gaze and a shared vertical composition for portrait and quote. */
.about .about-photo img{transform:none}
@media(min-width:701px){
 .about .about-grid{position:relative;align-items:center;row-gap:0}
 .about .section-top{grid-column:1;grid-row:1;align-self:start;position:relative;z-index:3;margin:0;max-width:100%}
 .about .about-photo{grid-column:1;grid-row:1;align-self:start}
 .about .bio{grid-column:2;grid-row:1;align-self:center;position:relative;z-index:2}
}
@media(max-width:700px){.about .section-top{margin-bottom:12px}.about .about-grid{row-gap:12px}}

/* Match the top spacing of the adjacent desktop sections. */
@media(min-width:701px){.section.about{padding-top:98px}}

/* Softer background edges while retaining a fully opaque portrait centre. */
.about .about-photo{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.2) 3%,rgba(0,0,0,.65) 7%,#000 12%,#000 89%,rgba(0,0,0,.65) 94%,transparent 100%),linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 3%,rgba(0,0,0,.7) 7%,#000 12%,#000 88%,rgba(0,0,0,.7) 93%,rgba(0,0,0,.25) 97%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.2) 3%,rgba(0,0,0,.65) 7%,#000 12%,#000 89%,rgba(0,0,0,.65) 94%,transparent 100%),linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 3%,rgba(0,0,0,.7) 7%,#000 12%,#000 88%,rgba(0,0,0,.7) 93%,rgba(0,0,0,.25) 97%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}

/* Preserve the notebook and upright head in the taller working photograph. */
.about .about-photo{aspect-ratio:.75;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.2) 2%,rgba(0,0,0,.65) 4%,#000 6%,#000 91%,rgba(0,0,0,.65) 96%,transparent 100%),linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 3%,rgba(0,0,0,.7) 7%,#000 12%,#000 88%,rgba(0,0,0,.7) 93%,rgba(0,0,0,.25) 97%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.2) 2%,rgba(0,0,0,.65) 4%,#000 6%,#000 91%,rgba(0,0,0,.65) 96%,transparent 100%),linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 3%,rgba(0,0,0,.7) 7%,#000 12%,#000 88%,rgba(0,0,0,.7) 93%,rgba(0,0,0,.25) 97%,transparent 100%)}
.about .about-photo img{top:-6%}
