/* DDR-P01-HOME v0.4 — page styles (isolated: used only by /digital-home/ and the / page).
 * Part 1 = the accepted composition source design-source/design.css of the v0.4 package, cascade kept in its original
 * order so computed values match the previews; only asset URLs are changed (fonts: same files; B09 background: WebP copy;
 * unused mobile entity sprite removed). Part 2 = runtime states the static export could not express.
 */
@font-face{font-family:DDR;src:url('../assets/fonts/NimbusSans-Regular.otf') format('opentype');font-display:swap}
@font-face{font-family:DDR;src:url('../assets/fonts/NimbusSans-Bold.otf') format('opentype');font-display:swap;font-weight:700}

:root{--ink:#11181c;--muted:#5c6673;--red:#f30920;--red-hover:#d9081d;--red-pressed:#ba0719;--line:#dce1e5;--paper:#fff;--focus:#315cbe;--dark:#151b20;--radius:8px}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:#fff;color:var(--ink);font-family:DDR,Arial,sans-serif;font-size:18px;line-height:1.46;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
p,h1,h2,h3,figure{margin:0}
p+p{margin-top:20px}
h1,h2,h3{font-weight:700;letter-spacing:-.035em;line-height:1.065}
h1{font-size:64px}
h2{font-size:48px}
h3{font-size:27px;letter-spacing:-.025em}
.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}  /* 1280 px container from 1408 px up, 80 px margins below (the exported previews: 1200 px at 1280) */
.muted{color:var(--muted)}
.intro{font-size:20px;line-height:1.46;color:var(--muted);max-width:870px;margin-top:22px}
.red{color:var(--red)}
.kicker{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:15px;margin-bottom:26px}
.kicker:before,.mark:before{content:'';display:block;background:var(--red);width:44px;height:4px;flex:none}
.mark:before{margin-bottom:20px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:56px;padding:14px 24px;background:linear-gradient(180deg,#e2081e,#ce061b);border:1px solid #f50a20;border-radius:5px;color:white;box-shadow:0 7px 14px #dc00111a;font-size:18px;line-height:1.25;text-align:left;transition:none}
.btn .arrow{font-size:26px;line-height:20px;font-weight:400}
.btn:hover,.btn.hover{background:var(--red-hover);border-color:var(--red-hover);box-shadow:0 8px 18px #ac051322}
.btn:active,.btn.pressed{background:var(--red-pressed);border-color:var(--red-pressed);box-shadow:none;transform:translateY(1px)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,.focus{outline:3px solid var(--focus);outline-offset:4px}
.btn.focus{box-shadow:0 0 0 2px white}
.btn.secondary{background:white;color:var(--ink);border:1px solid #e0929a;box-shadow:none}
.btn.secondary:hover{background:#fff3f4}
.btn.busy{background:#bf1728;border-color:#bf1728;box-shadow:none;cursor:wait}
.text-action{display:inline-flex;align-items:center;gap:18px;min-height:44px;border:0;background:none;padding:4px 0;color:#d6071c;font-size:17px;line-height:1.3;text-align:left}
.text-action:hover{text-decoration:underline;text-underline-offset:5px}
.text-action .arrow{font-size:24px;line-height:1}
.divider{height:1px;background:var(--line)}
.micro{font-size:15px;line-height:1.42;color:var(--muted)}
.small{font-size:16px;line-height:1.42}
.site-header{height:88px;background:white;border-bottom:1px solid #edf0f2;position:relative;z-index:5}
.header-inner{height:100%;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:8px;flex:none}
.brand-symbol{width:34px;height:40px;display:none}
.brand-name{display:block;line-height:1.1;font-size:23px;letter-spacing:-.06em;white-space:nowrap}
.brand-name b{color:var(--red)}
.brand-name em{font-style:normal;font-weight:400;letter-spacing:-.045em;color:#525b68}
.brand-sub{font-size:11px;color:#64707e;letter-spacing:0;margin-top:5px}
.desktop-nav{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:15px;white-space:nowrap}
.desktop-nav a,.nav-control{min-height:44px;display:inline-flex;align-items:center;gap:6px}
.nav-control{border:0;background:none;padding:0;font-size:15px;color:var(--ink)}
.market-top{font-size:13px;line-height:1.3;color:#5d6571;max-width:154px}
.header-inner>.btn{font-size:15px;min-height:46px;padding:11px 16px;gap:20px}
.menu-trigger{display:none;border:1px solid var(--line);padding:10px 12px;border-radius:4px;background:white;font-size:15px;min-height:44px;gap:8px;align-items:center}
.hamb{font-size:20px;line-height:16px}
.hero{overflow:hidden;position:relative;min-height:738px;background:#fff}
.hero .wrap{position:relative;z-index:2;padding-top:60px;padding-bottom:64px}
.hero h1{max-width:700px}
.hero h1 span{display:block}
.hero-body{max-width:590px;font-size:20px;line-height:1.42;margin-top:25px}
.hero-actions{display:flex;gap:26px;align-items:center;margin-top:28px}
.hero-actions>.btn{min-width:246px}
.hero-actions>.text-action{font-size:17px;color:#424f5f;border-bottom:1px solid #cad0d7;min-height:40px}
.hero-note{max-width:400px;margin-top:18px;font-size:15px;line-height:1.42;color:var(--muted)}
.hero-art{position:absolute;width:1000px;max-width:none;right:-70px;bottom:0;z-index:0;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 15%)}
.hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:70px;background:linear-gradient(transparent,#fff)}

.tasks{padding:76px 0 86px}
.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end;margin-bottom:40px}
.section-heading .intro{margin:0;max-width:560px}
.task-row{display:grid;grid-template-columns:1fr 1.22fr .9fr;gap:46px;padding:23px 0;border-bottom:1px solid var(--line);align-items:center}
.task-row:first-child{border-top:1px solid var(--line)}
.task-row h3{font-size:25px;line-height:1.12;max-width:365px}
.task-row p{font-size:17px;line-height:1.4;color:var(--muted)}
.task-row .text-action{font-size:16px;justify-content:space-between;gap:15px}
.ads-note{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:30px;font-size:17px;line-height:1.46;color:var(--muted)}
.ads-note a{color:#c30a1d;border-bottom:1px solid #e3a5ac;padding-bottom:2px}
.ads-note p{margin:0}

.journey{padding:78px 0 60px;color:white;background:var(--dark);overflow:hidden}
.journey-top{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:end}
.journey-top h2{font-size:46px}
.journey-top p{font-size:19px;line-height:1.46;color:#d1d6db}
.journey-sequence{position:relative;margin-top:46px}
.journey-line{position:absolute;top:0;left:12.5%;width:75%;height:16px;z-index:2}
.journey-line:before{content:'';display:block;border-top:2px solid var(--red);position:absolute;top:7px;left:0;right:0}
.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;position:relative;z-index:3}
.journey-step{position:relative;padding-top:28px}
.journey-step:before{content:'';position:absolute;left:calc(50% - 7px);top:0;width:12px;height:12px;background:var(--red);border:3px solid #ffd9de;border-radius:50%;box-shadow:0 0 0 5px #ed061c26}
.journey-step h3{font-size:25px;line-height:1.14;max-width:240px;margin-bottom:12px}
.journey-step p{font-size:17px;color:#d3d9dd;line-height:1.42}
.journey-scene{display:block;width:calc(100% + 60px);max-width:none;margin:20px -30px 0;mask-image:linear-gradient(transparent,#000 12%,#000 86%,transparent)}
.entity-mobile{display:none}
.journey-bottom{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid #45505a;padding-top:28px;margin-top:12px;font-size:17px;color:#d3d9dd;line-height:1.5}
.journey-bottom p{margin:0}
.responsibility{border-left:3px solid var(--red);padding-left:24px;color:#fff!important}

.scope{padding:88px 0 84px;overflow:hidden}
.scope>.wrap>h2{max-width:900px}
.scope .intro{max-width:890px}
.scope-columns{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;margin-top:42px}
.scope-item h3{font-size:32px;margin-bottom:20px;max-width:450px}
.scope-item p{font-size:18px;color:var(--muted);line-height:1.47;max-width:540px}
.scope-item .btn{margin-top:25px}
.scope-item .scope-note{font-size:16px;line-height:1.45;color:#38434e;margin-top:18px;max-width:530px}
.scope-wide{display:block;width:calc(100% + 120px);margin:8px -60px -5px;mask-image:linear-gradient(transparent,#000 6%,#000 92%,transparent)}
.scope-mobile-art{display:none}
.scope-additions{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding-top:32px}
.scope-additions h3{font-size:26px;margin-bottom:15px}
.scope-additions p{font-size:17px;color:var(--muted);line-height:1.45}
.scope-additions .text-action{margin-top:10px}

.projects{padding:86px 0;background:#f6f7f8}
.projects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:42px}
.projects-heading h2{max-width:845px}
.projects-heading .intro{max-width:800px}
.tabs{display:inline-flex;flex:none;padding:4px;background:#fff;border:1px solid #d9dfe4;border-radius:6px;gap:4px}
.tab{border:0;background:transparent;padding:12px 17px;min-height:46px;border-radius:3px;color:#424b58;font-size:16px;white-space:nowrap}
.tab.selected{background:var(--red);color:white;box-shadow:0 4px 12px #f309201c}
.project-grid{display:grid;grid-template-columns:1.36fr 1fr;gap:58px;margin-top:42px;align-items:start}
.case-visual{min-width:0}
.case-crop{position:relative;overflow:hidden;border-radius:8px;box-shadow:0 14px 36px #111a2212;background:white;width:100%;aspect-ratio:2.24}
.case-crop img{width:100%;height:auto;display:block;position:absolute;top:-5.55%;left:0}
.case-crop.doma img{transform:translateY(-.8%)}
.case-crop.anya{aspect-ratio:2.74;background:#fff1f6}
.case-crop.anya img{top:0;transform:translateY(-1.6%)}
.case-visual figcaption{font-size:14px;color:var(--muted);margin-top:15px;line-height:1.4}
.project-copy .project-name{font-size:29px;font-weight:700;line-height:1.1;margin-bottom:8px;letter-spacing:-.02em}
.project-copy .project-market{font-size:15px;color:var(--muted);margin-bottom:22px}
.project-copy h3{font-size:31px;line-height:1.12;margin-bottom:18px}
.project-copy p{font-size:18px;line-height:1.45;color:var(--muted)}
.project-copy .project-market-note{font-size:15px;margin-top:12px}
.project-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:26px}
.project-actions .btn{min-width:285px}
.project-actions .text-action{font-size:16px}
.project-alt{display:flex;align-items:center;gap:20px;margin-top:32px;padding-top:23px;border-top:1px solid #d9dfe5}
.project-thumb{width:126px;height:60px;overflow:hidden;flex:none;border:1px solid var(--line);background:#fff}
.project-thumb img{display:block;width:100%;transform:translateY(-3px)}
.project-alt .alt-name{font-size:17px;font-weight:700}
.project-alt .micro{font-size:14px;margin-top:3px}
.project-alt .arrow{margin-left:auto;font-size:24px;color:var(--red)}

.team{padding:88px 0 90px;background:linear-gradient(130deg,#fff,#f9fafb 70%,#fff)}
.team-layout{display:grid;grid-template-columns:352px 1fr;gap:78px;align-items:center}
.team-photo{display:block;width:352px;height:462px;object-fit:cover;object-position:50% 50%;border-radius:6px}
.team-copy h2{font-size:50px;max-width:770px}
.team-role{font-size:20px;color:#555e6b;margin-top:16px;margin-bottom:26px}
.team-copy .quote{font-size:20px;line-height:1.48;max-width:785px}
.team-copy .continuation{color:var(--muted);font-size:18px;max-width:785px;margin-top:22px}
.team-copy .btn{margin-top:28px}

.process{padding:70px 0 86px;overflow:hidden}
.process h2{max-width:1010px}
.process .intro{max-width:840px}
.process-scene{display:block;width:calc(100% + 120px);margin:28px -60px 0;mask-image:linear-gradient(transparent,#000 10%,#000 86%,transparent)}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:-22px;position:relative}
.process-step h3{font-size:25px;margin-bottom:14px}
.process-step p{font-size:17px;color:var(--muted);line-height:1.45}
.process-steps:before{content:'';position:absolute;top:-24px;left:0;right:0;border-top:1px solid var(--line)}
.process-step{position:relative}
.process-step:before{content:'';position:absolute;top:-27px;width:18px;height:5px;background:var(--red)}
.process-notes{margin-top:37px;border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:72px;font-size:17px;color:var(--muted)}
.process-notes p{margin:0}
.process-close{display:flex;justify-content:space-between;align-items:center;gap:56px;margin-top:30px}
.process-close p{font-size:17px;max-width:710px;color:#36414c}
.process-close .btn{flex:none;font-size:17px}

.faq{padding:74px 0 90px;background:linear-gradient(150deg,#fff,#f8f9fa)}
.faq-grid{display:grid;grid-template-columns:.72fr 1.5fr;gap:76px}
.faq-lead h2{max-width:360px}
.faq-lead .intro{font-size:19px;max-width:330px}
.faq-nudge{margin-top:68px;max-width:310px}
.faq-nudge p{font-size:23px;font-weight:700;line-height:1.16;letter-spacing:-.02em}
.faq-nudge .text-action{margin-top:12px}
.faq-list{border-top:1px solid #d4dce3}
.faq-item{border-bottom:1px solid #d4dce3}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:21px 0;font-size:20px;line-height:1.25;font-weight:700;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';color:var(--red);font-size:28px;font-weight:400;flex:none}
.faq-item[open] summary:after{content:'−'}
.faq-item[open] summary{padding-bottom:16px}
.faq-item p{font-size:18px;color:var(--muted);line-height:1.5;max-width:745px;padding:0 30px 24px 0}
.faq-item:hover summary{color:#c5091d}

.contact{background:#151b20 url('../assets/contact-satin-1774.webp') center center/cover no-repeat;padding:86px 0;color:white}
.contact-grid{display:grid;grid-template-columns:1fr 600px;gap:76px;align-items:start}
.contact-lead{padding-top:42px}
.contact-lead h2{font-size:53px;max-width:590px}
.contact-lead .intro{color:#e1e5e8;font-size:21px;max-width:550px;margin-top:29px}
.contact-note{font-size:18px;line-height:1.5;max-width:410px;margin-top:30px;color:#dce1e6}
.form-card{border-radius:10px;background:#fff;color:var(--ink);padding:32px;box-shadow:0 15px 40px #050b1126;border:1px solid #d9dee4}
.form-context{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px;font-size:17px;line-height:1.35}
.form-context strong{display:block;margin-top:3px}
.form-context button{color:#c6081c;font-size:15px;border:0;background:none;padding:5px 0;min-height:32px}
.field{margin-bottom:22px}
.field-label{display:block;font-size:17px;font-weight:700;line-height:1.35;margin-bottom:9px}
.required{color:var(--red);padding-left:3px}
.optional{font-size:14px;font-weight:400;color:var(--muted);margin-left:8px;white-space:nowrap}
.input{width:100%;height:54px;border:1px solid #c9d2df;border-radius:5px;padding:13px 14px;background:#fff;color:var(--ink);font-size:17px;line-height:1.4}
.input::placeholder{color:#737d8e;opacity:1}
.input:hover{border-color:#919eaf}
.input:focus-visible,.input.focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}
.input:disabled{background:#f2f4f6;color:#5c6778;border-color:#d9dfe6;opacity:1}
.input:disabled::placeholder{color:#75808f}
.input.invalid{border:2px solid #d7142c;padding:12px 13px;background:#fffafb}
.input.textarea{height:96px;resize:none;display:block}
.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;min-width:0}
.channel{border:1px solid #c9d2df;background:#fff;min-height:50px;border-radius:5px;display:flex;align-items:center;justify-content:flex-start;gap:7px;padding:9px 8px;font-size:15px;line-height:1.2;color:#526071;min-width:0;position:relative}
.radio{height:18px;width:18px;border:1.5px solid #788698;border-radius:50%;display:inline-block;flex:none;background:white}
.channel.selected{border-color:#c6081c;background:#fff1f3;color:var(--ink);box-shadow:inset 0 0 0 1px #c6081c}
.channel.selected .radio{border:5px solid #cf0a20}
.channel.hover{border-color:#8393a6;background:#f8f9fb}
.channel.focus{outline:3px solid var(--focus);outline-offset:3px}
.channel.invalid{border-color:#d7142c}
.consent{display:flex;align-items:flex-start;gap:12px;margin:5px 0 24px;font-size:15px;line-height:1.46}
.checkbox{height:23px;width:23px;border:1.5px solid #7b899b;border-radius:3px;flex:none;margin-top:1px;background:#fff}
.checkbox.checked{background:#da0a20;border-color:#da0a20;position:relative}
.checkbox.checked:after{content:'✓';position:absolute;color:#fff;font-size:19px;left:3px;top:-3px}
.checkbox.invalid{border:2px solid #d7142c;background:#fffafb}
.legal-text{color:#365b96;text-decoration:underline;text-underline-offset:3px}
.consent-text{flex:1;min-width:0}
.form-submit{width:100%;justify-content:space-between;min-height:56px}
.form-after{font-size:14px;line-height:1.45;margin-top:15px;color:var(--muted)}
.error-text{font-size:14px;line-height:1.35;color:#b2071c;margin-top:7px}
.form-banner{padding:14px 16px;border:1px solid #ebaeb6;background:#fff3f5;border-radius:5px;margin:0 0 20px;font-size:16px;line-height:1.4;color:#8d1422}
.sending-status{font-size:15px;line-height:1.4;color:#606b79;margin-top:14px}
.spinner{width:19px;height:19px;border:2px solid #fff6;border-top-color:white;border-radius:50%;display:inline-block;flex:none}
.success-symbol{height:54px;width:54px;border-radius:50%;background:#fff0f2;color:#cd081d;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:28px}
.success-view h3{font-size:34px;max-width:380px;margin-bottom:20px}
.success-view p{font-size:18px;line-height:1.46;color:var(--muted);max-width:390px}
.success-view .text-action{margin-top:25px}
.success-view{padding:10px 0 14px;min-height:370px}
.form-card.sending .input{background:#f8f9fa}
.form-card.sending .channel{opacity:.65}

.site-footer{padding:56px 0 26px;background:white}
.footer-top{display:grid;grid-template-columns:1.1fr .68fr 1.1fr 1.35fr;gap:45px}
.footer-brand .brand-name{font-size:28px}
.footer-brand .positioning{font-size:16px;color:var(--muted);max-width:260px;margin-top:18px}
.footer-main-cta{margin-top:18px;font-size:16px}
.footer-title{font-weight:700;font-size:16px;margin-bottom:16px}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:11px;font-size:15px;line-height:1.35;color:#505c6a}
.footer-product p{font-size:16px;line-height:1.4;color:#515e6a}
.footer-product .text-action{font-size:15px;line-height:1.3;min-height:40px;gap:12px}
.footer-product .international{border-top:1px solid var(--line);padding-top:18px;margin-top:15px}
.footer-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:34px;display:flex;align-items:center;gap:32px;color:#606b79;font-size:13px;line-height:1.4}
.footer-bottom .copyright{margin-left:auto}
.legal-placeholder{color:#53647b}


@media(max-width:1250px){.wrap{width:calc(100% - 80px)}
.desktop-nav,.header-inner>.market-top,.header-inner>.btn{display:none}
.header-inner{justify-content:space-between}
.menu-trigger{display:flex}
.contact-grid{grid-template-columns:1fr 520px;gap:42px}
.channels{grid-template-columns:repeat(2,1fr)}
.project-grid{gap:36px}
.projects-heading{display:block}
.tabs{margin-top:28px}
.team-layout{grid-template-columns:310px 1fr;gap:48px}
.team-photo{width:310px;height:430px}
.hero-art{right:-240px}
.hero h1{font-size:59px}
.hero-body{max-width:550px}
.journey-top{gap:50px}
.process-close .btn{max-width:340px}
.footer-top{gap:28px}
}


@media(max-width:900px){body{font-size:18px;line-height:1.47}
.wrap{width:calc(100% - 48px)}
h1{font-size:39px;letter-spacing:-.04em;line-height:1.035}
h2{font-size:35px;letter-spacing:-.035em;line-height:1.065}
h3{font-size:25px;line-height:1.14}
.mark:before{width:32px;height:3px;margin-bottom:16px}
.intro{font-size:18px;line-height:1.47;margin-top:18px}
.btn{min-height:56px;padding:15px 18px;font-size:17px;gap:16px;width:100%}
.btn .arrow{font-size:24px}
.text-action{font-size:17px;min-height:46px;gap:14px}
.site-header{height:76px}
.header-inner{gap:15px}
.brand-name{font-size:22px}
.brand-sub{font-size:10px;margin-top:4px}
.brand-symbol{width:28px;height:34px}
.menu-trigger{font-size:14px;min-height:42px;padding:9px 10px}
.hero{min-height:0}
.hero .wrap{padding-top:33px;padding-bottom:0}
.hero h1{font-size:39px;line-height:1.03;letter-spacing:-.038em;max-width:none}
.hero h1 span{display:inline}
.hero h1 .red{display:block}
.kicker{font-size:12px;gap:10px;line-height:1.3;margin-bottom:18px;align-items:flex-start;max-width:330px}
.kicker:before{width:25px;height:3px;margin-top:5px}
.hero-body{font-size:18px;line-height:1.45;margin-top:20px;max-width:none}
.hero-actions{display:block;margin-top:25px}
.hero-actions>.btn{width:100%}
.hero-actions>.text-action{font-size:17px;margin-top:10px;min-height:42px;padding-bottom:4px;border:0;text-decoration:underline;text-underline-offset:5px;display:inline-flex}
.hero-note{font-size:14px;line-height:1.45;max-width:330px;margin-top:14px}
.hero-art{position:relative;right:auto;bottom:auto;display:block;width:calc(100% + 50px);max-width:none;margin:4px -25px -8px;mask-image:linear-gradient(transparent,#000 8%,#000 88%,transparent)}
.hero:after{height:25px}
.tasks{padding:40px 0 54px}
.section-heading{display:block;margin-bottom:28px}
.section-heading .intro{font-size:18px;margin-top:18px}
.task-row{display:block;padding:23px 0 22px}
.task-row h3{font-size:24px;line-height:1.14;max-width:none;margin-bottom:13px}
.task-row p{font-size:17px;line-height:1.45}
.task-row .text-action{font-size:16px;line-height:1.3;justify-content:space-between;width:100%;margin-top:9px;min-height:44px;padding:4px 0}
.ads-note{display:block;padding-top:28px;font-size:16px;line-height:1.5}
.ads-note p+p{margin-top:17px}
.journey{padding:53px 0 50px}
.journey-top{display:block}
.journey-top h2{font-size:35px;line-height:1.065}
.journey-top p{font-size:18px;line-height:1.47;margin-top:23px}
.journey-sequence{margin-top:36px}
.journey-line{display:none}
.journey-steps{display:block;padding-left:24px}
.journey-steps:before{content:'';position:absolute;left:3px;top:19px;bottom:38px;border-left:2px solid #eb1830}
.journey-step{display:grid;grid-template-columns:1fr 80px;gap:16px;padding:0 0 28px;margin-bottom:14px;align-items:start}
.journey-step:before{width:10px;height:10px;left:-25px;top:8px;border:2px solid #ffe2e6;box-shadow:0 0 0 4px #ec102528}
.journey-step h3{font-size:23px;line-height:1.1;max-width:none;margin-bottom:12px}
.journey-step p{font-size:17px;line-height:1.44}
.entity-mobile{display:block;width:80px;height:107px;background-image:none;background-size:400% 100%;border-radius:3px;mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent);margin-top:3px}
.journey-scene{display:none}
.journey-bottom{display:block;padding-top:24px;margin-top:0;font-size:16px;line-height:1.5}
.journey-bottom .responsibility{margin-top:24px;padding-left:18px}
.scope{padding:58px 0 56px}
.scope .intro{font-size:18px}
.scope-columns{display:block;margin-top:35px}
.scope-item h3{font-size:29px;margin-bottom:16px;max-width:none}
.scope-item p{font-size:18px;line-height:1.46}
.scope-item .btn{margin-top:20px;font-size:16px}
.scope-item .scope-note{font-size:16px;line-height:1.44;margin-top:18px}
.scope-item+.scope-item{margin-top:30px;border-top:1px solid var(--line);padding-top:31px}
.scope-wide{display:none}
.scope-mobile-art{display:block;width:calc(100% + 24px);height:210px;margin:4px -12px 0;overflow:hidden;position:relative;mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent)}
.scope-mobile-art img{position:absolute;height:100%;width:auto;max-width:none;left:0;top:0}
.scope-mobile-art.launch-art img{left:auto;right:-12px;height:100%}
.scope-additions{display:block;padding-top:25px;margin-top:14px}
.scope-additions>article+article{margin-top:28px;border-top:1px solid var(--line);padding-top:28px}
.scope-additions h3{font-size:25px;line-height:1.14;margin-bottom:15px}
.scope-additions p{font-size:17px;line-height:1.45}
.scope-additions .text-action{font-size:16px;justify-content:space-between;gap:12px;width:100%;margin-top:12px}
.projects{padding:58px 0}
.projects-heading{display:block}
.projects-heading h2{max-width:none}
.projects-heading .intro{font-size:18px}
.tabs{display:flex;width:100%;margin-top:28px;padding:4px;gap:4px}
.tab{font-size:15px;padding:11px 7px;min-height:46px;flex:1}
.project-grid{display:block;margin-top:25px}
.case-crop{aspect-ratio:1.69;border-radius:6px}
.case-crop img{width:135%;max-width:none;left:-17.5%;top:-7%;transform:translateY(-.8%)}
.case-crop.anya{aspect-ratio:2.18}
.case-crop.anya img{width:126%;left:-13%;transform:translateY(-1.6%)}
.case-visual figcaption{font-size:13px;line-height:1.4;margin-top:11px}
.project-copy{margin-top:28px}
.project-copy .project-name{font-size:27px;margin-bottom:8px}
.project-copy .project-market{font-size:15px;margin-bottom:20px}
.project-copy h3{font-size:28px;margin-bottom:17px;line-height:1.13}
.project-copy p{font-size:18px}
.project-actions{margin-top:24px;gap:8px}
.project-actions .btn{min-width:0}
.project-actions .text-action{font-size:17px;justify-content:space-between;width:100%}
.project-alt{display:none}
.team{padding:60px 0;background:#fff}
.team-layout{display:grid;grid-template-columns:124px 1fr;gap:24px 21px;align-items:start}
.team-photo{width:124px;height:183px;border-radius:4px;grid-row:1;grid-column:1;object-fit:cover;object-position:50% 50%}
.team-copy{display:contents}
.team-hgroup{grid-row:1;grid-column:2}
.team-copy h2{font-size:30px;line-height:1.06;letter-spacing:-.033em;max-width:none}
.team-hgroup .mark:before{width:27px;margin-bottom:12px}
.team-role{font-size:16px;line-height:1.35;margin-top:14px;margin-bottom:0}
.team-copy .quote,.team-copy .continuation{grid-column:1/-1;font-size:18px;line-height:1.48;margin:0;max-width:none}
.team-copy .quote{margin-top:0}
.team-copy .btn{grid-column:1/-1;margin:0;font-size:17px}
.process{padding:52px 0 55px}
.process h2{font-size:35px;max-width:none}
.process .intro{font-size:18px}
.process-scene{width:calc(100% + 48px);margin:24px -24px 16px}
.process-steps{display:block;margin-top:0}
.process-steps:before{display:none}
.process-step{padding:23px 0;border-top:1px solid var(--line)}
.process-step:before{display:none}
.process-step h3{font-size:25px;margin-bottom:13px}
.process-step p{font-size:17px;line-height:1.46}
.process-notes{display:block;margin-top:4px;padding-top:24px;font-size:16px;line-height:1.5}
.process-notes p+p{margin-top:22px}
.process-close{display:block;margin-top:22px}
.process-close p{font-size:16px;line-height:1.5}
.process-close .btn{margin-top:26px;font-size:16px;max-width:none}
.faq{padding:54px 0 57px}
.faq-grid{display:flex;flex-direction:column;gap:28px}
.faq-lead h2{max-width:none}
.faq-lead .intro{font-size:18px;max-width:none}
.faq-nudge{display:none}
.faq-item summary{font-size:19px;line-height:1.3;min-height:76px;padding:21px 0;gap:18px}
.faq-item summary:after{font-size:25px}
.faq-item p{font-size:17px;line-height:1.47;padding:0 0 23px}
.faq-nudge-mobile{display:block;margin-top:26px}
.faq-nudge-mobile p{font-size:21px;font-weight:700;line-height:1.2}
.faq-nudge-mobile .text-action{margin-top:10px}
.contact{padding:57px 0 40px;background-position:34% 0;background-size:auto 100%}
.contact-grid{display:block}
.contact-lead{padding-top:0}
.contact-lead h2{font-size:36px;line-height:1.07}
.contact-lead .intro{font-size:18px;line-height:1.45;margin-top:23px}
.contact-note{font-size:17px;line-height:1.46;margin-top:23px;max-width:none}
.form-card{border-radius:8px;padding:23px 19px;margin-top:31px}
.field{margin-bottom:23px}
.field-label{font-size:17px;line-height:1.35;margin-bottom:10px}
.optional{display:inline;font-size:13px;margin-left:0;font-weight:400}
.field-label .optional:before{content:' · '}
.input{font-size:17px;height:54px;padding:13px 12px}
.input.invalid{padding:12px 11px}
.input.textarea{height:116px}
.channels{grid-template-columns:repeat(2,1fr);gap:9px}
.channel{font-size:15px;min-height:51px;padding:9px 10px;gap:9px}
.radio{height:18px;width:18px}
.consent{font-size:15px;line-height:1.45;gap:11px;margin-top:1px;margin-bottom:23px}
.checkbox{width:23px;height:23px}
.form-submit{min-height:57px;font-size:17px}
.form-after{font-size:14px;margin-top:15px}
.error-text{font-size:14px}
.form-context{font-size:16px;margin-bottom:23px;padding-bottom:18px}
.form-banner{font-size:16px;padding:14px;margin-bottom:22px}
.success-view{min-height:430px;padding-top:6px}
.success-view h3{font-size:31px;line-height:1.1}
.success-view p{font-size:18px}
.site-footer{padding:39px 0 26px}
.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:32px 20px}
.footer-brand{grid-column:1/-1}
.footer-brand .brand-name{font-size:27px}
.footer-brand .positioning{font-size:16px;max-width:280px;margin-top:16px}
.footer-main-cta{margin-top:14px;font-size:17px}
.footer-title{font-size:16px;margin-bottom:15px}
.footer-nav{font-size:15px;gap:12px;line-height:1.4}
.footer-product{grid-column:1/-1}
.footer-product p{font-size:16px;line-height:1.45}
.footer-product .text-action{font-size:16px;min-height:46px;gap:14px}
.footer-product .international{padding-top:22px;margin-top:15px}
.footer-bottom{display:block;padding-top:25px;margin-top:25px;font-size:14px;line-height:1.5}
.footer-bottom span{display:block;margin:0 0 15px}
.footer-bottom .copyright{margin-top:23px;margin-bottom:0}
}


@media(min-width:901px){.faq-nudge-mobile{display:none}
}

@media(max-width:375px){.wrap{width:calc(100% - 40px)}
.hero h1{font-size:37px}
.hero-actions>.text-action{font-size:16px}
.team-layout{grid-template-columns:114px 1fr;gap:22px 18px}
.team-photo{width:114px;height:177px}
.team-copy h2{font-size:28px}
.team-role{font-size:15px}
.form-card{padding-inline:17px}
.channel{font-size:14px;padding:9px 8px;gap:7px}
.tab{font-size:14px;padding-inline:5px}
.scope-item .btn,.process-close .btn{font-size:15px}
.journey-step{grid-template-columns:1fr 73px;gap:12px}
.entity-mobile{width:73px;height:98px}
.journey-step h3{font-size:22px}
}

/* Detail refinement after native-size visual review. */
@font-face{font-family:DDRDisplay;src:url('../assets/fonts/NimbusSansNarrow-Bold.otf') format('opentype');font-display:swap;font-weight:700}

h1,h2{font-family:DDRDisplay,DDR,Arial,sans-serif;font-weight:700;letter-spacing:-.018em}
h2{font-size:54px}
.hero h1{font-size:74px;letter-spacing:-.02em;line-height:1.005}
.hero{min-height:786px}
.hero:before{content:'';position:absolute;z-index:1;top:0;bottom:0;left:35.4%;width:190px;background:linear-gradient(90deg,white,transparent)}
.hero-actions>.text-action{width:280px;white-space:nowrap}
.hero-actions{max-width:635px}
.scope-item .btn{width:365px}
.scope-item#scope-launch .btn{width:400px}
.team-copy .btn{width:350px}
.projects-heading>div:first-child{flex:1}
.tabs{width:345px}
.tab{flex:1}
.project-actions .btn{width:330px}
.project-actions .text-action{width:315px;white-space:nowrap}
.journey-top h2{font-size:52px}
.team-copy h2{font-size:56px}
.contact-lead h2{font-size:58px}
.journey-visual{position:relative;width:calc(100% + 60px);margin:20px -30px 0;overflow:hidden}
.journey-visual:after{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(to bottom,#151b20,transparent 13%,transparent 84%,#151b20),linear-gradient(to right,#151b20,transparent 4%,transparent 96%,#151b20);pointer-events:none}
.journey-scene{margin:0;width:100%}
.scope-visual{height:400px;position:relative;overflow:hidden;width:calc(100% + 120px);margin:8px -60px 15px}
.scope-visual:after{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(to bottom,white,transparent 12%,transparent 90%,white);pointer-events:none}
.scope-wide{margin:-120px 0 0;width:100%}
.case-crop{aspect-ratio:2.55}
.form-submit{height:56px}
.team-copy .btn{height:56px}
.process-close .btn{width:398px;height:56px}
.brand-sub{display:block}
.task-row .text-action{line-height:1.4}


@media(max-width:900px){h2{font-size:38px}
.hero{min-height:0}
.hero:before{display:none}
.hero h1{font-size:42px;line-height:1.02;letter-spacing:-.02em}
.hero-actions>.text-action{width:auto;white-space:normal}
.scope-item .btn,.scope-item#scope-launch .btn,.project-actions .btn,.team-copy .btn,.process-close .btn{width:100%}
.project-actions .text-action{width:100%;white-space:normal}
.tabs{width:100%}
.journey-top h2{font-size:38px}
.contact-lead h2{font-size:40px}
.team-copy h2,.team-hgroup h2{font-size:32px;letter-spacing:-.018em;line-height:1.065}
.process h2{font-size:38px}
.journey-step{display:block;padding-right:96px;min-height:125px}
.entity-mobile{position:absolute;right:0;top:3px;margin:0;width:80px;height:107px}
.journey-visual,.scope-visual{display:none}
.scope-mobile-art{width:100%;height:210px;margin:4px 0 0}
.scope-mobile-art img{height:325px;top:-90px;left:35px}
.scope-mobile-art.launch-art img{height:230px;top:-25px;right:0;left:auto}
.case-crop{aspect-ratio:1.96}
.team-layout>.quote,.team-layout>.continuation,.team-layout>.btn{grid-column:1/-1}
.form-submit{height:57px}
.process-close .btn{height:auto;min-height:56px}
.team-copy .btn{height:auto;min-height:56px}
}


@media(max-width:375px){.hero h1{font-size:40px}
.journey-step{padding-right:86px}
.entity-mobile{width:73px;height:98px}
.team-copy h2,.team-hgroup h2{font-size:30px}
}

.process-steps:before{display:none}
.process-steps{border-top:1px solid var(--line);padding-top:24px}
.process-step:before{top:-27px}


@media(max-width:900px){.process-steps{border-top:0;padding-top:0}
}

.btn{background:linear-gradient(180deg,#ed001b,#d60619);border-color:#ed001b}
.tab.selected{background:#dc081f}
.form-context .context-change{color:#c6081c;font-size:15px;border:0;background:none;padding:5px 0;min-height:32px}


@media(min-width:1251px){.header-inner{display:grid;grid-template-columns:200px 1fr 150px 198px;gap:20px}
.desktop-nav{margin-left:0;justify-content:flex-end;gap:23px;width:100%;font-size:15px}
.market-top{width:150px;max-width:150px}
.header-inner>.btn{width:198px;height:46px;min-height:46px;font-size:15px;white-space:nowrap;padding:11px 16px;gap:14px}
}


@media(max-width:375px){.team-layout{grid-template-columns:124px 1fr;gap:24px 21px}
.team-photo{width:124px;height:183px}
.team-copy h2,.team-hgroup h2{font-size:32px}
}


@media(max-width:900px){.hero h1{font-size:40px}
}


@media(max-width:375px){.hero h1{font-size:38px}
}


/* v0.4 targeted update: retain selected direction, exact labels and feedback. */
.journey-mobile{display:none}
.journey-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:28px 0 32px}
.journey-outcomes h3{font-family:DDRDisplay,DDR,sans-serif;font-size:32px;margin-bottom:16px;line-height:1.1}
.journey-outcomes p{font-size:18px;color:#d3d9dd;line-height:1.5}
.journey-outcomes article+article{border-left:3px solid #f30920;padding-left:34px}
.feedback-route{position:relative;height:76px;margin-top:-8px}
.feedback-route svg{position:absolute;inset:0;width:100%;height:76px}
.feedback-label{position:absolute;left:50%;top:35px;transform:translateX(-50%);background:#151b20;color:#ff7181;font-size:22px;font-weight:700;padding:0 18px;white-space:nowrap;line-height:1.3}
.journey-bottom{margin-top:0}
.scope-item .scope-route-note{margin-top:16px}
.scope-item .scope-continuation{margin-top:16px;color:#25313b}
.technical-responsibility{border-top:1px solid #dce1e5;padding-top:32px;margin:12px 0 38px;display:grid;grid-template-columns:340px 1fr;gap:70px}
.technical-responsibility h3{font-size:30px;line-height:1.16;max-width:340px}
.technical-responsibility p{font-size:18px;line-height:1.48;color:#5c6673}
.technical-responsibility p+p{margin-top:17px}
.technical-responsibility .technical-boundary{font-size:16px;color:#38434e}
.experience{font-size:20px;line-height:1.48;margin-top:22px;color:#202b35}
.case-crop{aspect-ratio:902/354}
.case-crop.anya{aspect-ratio:935/300}
.case-crop img,.case-crop.anya img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transform:none}
.project-thumb img{width:100%;height:100%;object-fit:cover;transform:none}
.header-contact-mobile{display:none!important}
.site-header{position:sticky;top:0}
section{scroll-margin-top:100px}
.context-change{min-height:44px!important}
.project-alt{cursor:pointer}
.project-alt:focus-visible{outline:3px solid #315cbe;outline-offset:4px}


@media(max-width:1250px){.header-contact-mobile{display:inline-flex!important;width:120px!important;margin-left:auto}
.header-inner{display:flex}
.header-inner>.btn:not(.header-contact-mobile){display:none}
.hero h1{font-size:64px}
.hero-body{max-width:540px}
.hero-art{right:-270px}
}


@media(min-width:901px) and (max-width:1100px){.contact-grid{grid-template-columns:1fr 470px;gap:38px}
.contact-lead h2{font-size:48px}
.scope-columns{gap:40px}
.scope-item .btn,.scope-item#scope-launch .btn{width:100%;font-size:16px}
.technical-responsibility{grid-template-columns:270px 1fr;gap:40px}
.journey-top{gap:40px}
.journey-top h2{font-size:46px}
.journey-step h3{font-size:22px}
.journey-steps{gap:28px}
.journey-outcomes{gap:40px}
.hero-actions{display:block}
.hero-actions>.text-action{margin-top:12px}
.hero:before{left:38%;width:280px}
}


@media(max-width:900px){.hero h1{font-size:40px}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) 86px 60px;gap:8px}
.header-inner .brand-name{font-size:20px}
.header-inner .brand-sub{display:none}
.header-inner>.header-contact-mobile{display:flex!important;width:86px!important;height:44px;min-height:44px;padding:10px 8px;font-size:14px;justify-content:center;margin:0}
.header-contact-mobile .arrow{display:none}
.menu-trigger{width:60px;justify-content:center;padding:10px 5px;min-height:44px;font-size:13px}
.journey-desktop{display:none}
.journey-mobile{display:block;margin-top:32px}
.journey-mobile-stages{padding-left:25px;position:relative}
.journey-mobile-stages:before{content:'';position:absolute;left:4px;top:10px;bottom:10px;width:2px;background:#f0374c}
.journey-mobile-step{position:relative;margin-bottom:26px}
.journey-mobile-step:before{content:'';position:absolute;left:-27px;top:6px;width:10px;height:10px;border:2px solid #ffe0e5;border-radius:50%;background:#f30920;box-shadow:0 0 0 4px #f309202a}
.journey-mobile-step h3{font-size:25px;line-height:1.15;margin-bottom:12px}
.journey-mobile-step p{font-size:18px;line-height:1.47;color:#d3d9dd}
.journey-mobile-art{position:relative;overflow:hidden;width:calc(100% + 48px);margin:0 -24px 28px;background:#151b20}
.journey-mobile-art.acquisition{height:auto;aspect-ratio:4/3}
.journey-mobile-art.acquisition img{display:block;width:200%;max-width:none;height:auto}
.journey-mobile-art.processing img{display:block;width:100%;height:auto}
.journey-mobile-art:after{content:'';position:absolute;inset:0;background:linear-gradient(#151b20,transparent 8%,transparent 91%,#151b20);pointer-events:none}
.feedback-route{margin-top:-25px;height:66px}
.feedback-route svg{height:66px}
.feedback-label{font-size:18px;padding:0 10px;top:36px}
.journey-outcomes{display:block;margin-top:34px;margin-bottom:26px}
.journey-outcomes article+article{border-left:0;padding-left:0;border-top:1px solid #45505a;margin-top:26px;padding-top:26px}
.journey-outcomes h3{font-size:28px;line-height:1.12;margin-bottom:15px}
.journey-outcomes p{font-size:18px}
.journey-bottom{font-size:17px;line-height:1.48}
.technical-responsibility{display:block;margin:30px 0;padding-top:27px}
.technical-responsibility h3{font-size:28px;max-width:none;margin-bottom:20px}
.technical-responsibility p{font-size:18px}
.technical-responsibility .technical-boundary{font-size:17px}
.experience{font-size:18px;line-height:1.48;margin-top:22px}
.case-crop img,.case-crop.anya img{width:100%;height:100%;inset:0;transform:none;object-fit:cover}
.case-crop{aspect-ratio:902/354}
.case-crop.anya{aspect-ratio:935/300}
.case-visual figcaption{font-size:14px}
.journey-top h2{font-size:38px}
.scope-item .scope-route-note,.scope-item .scope-continuation{font-size:18px}
.hero-art{right:auto}
.hero-body{max-width:none}
}


@media(max-width:375px){.hero h1{font-size:38px}
.journey-mobile-art{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}
.journey-mobile-step h3{font-size:24px}
}


@media(min-width:600px) and (max-width:900px){.hero h1{font-size:58px;max-width:620px}
.hero-body{max-width:620px}
.hero-art{max-height:500px;object-fit:contain}
.form-card{max-width:600px;margin-left:auto;margin-right:auto}
.journey-mobile-art{max-width:650px;margin-left:auto;margin-right:auto}
.team-toprow .team-hgroup{max-width:500px}
.contact-lead h2{max-width:620px}
}


.feedback-label{left:0;right:0;transform:none;margin-left:auto;margin-right:auto;width:360px;text-align:center}


@media(max-width:900px){.feedback-label{width:282px}
.journey-mobile-art.acquisition img{width:205%}
}



@media(max-width:900px){.header-inner{justify-content:normal}
.header-inner>.brand{min-width:0}
}


.tab.selected{background:#d6071c}

/* ======================= Part 2: runtime states (DDR-P01 implementation) ======================= */
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{height:auto}  /* width/height attributes reserve the ratio; class rules with an explicit height still win */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:16px;top:-120px;z-index:100;background:#fff;color:var(--ink);padding:12px 16px;border-radius:4px;box-shadow:0 4px 16px #0003;font-size:16px}
.skip-link:focus{top:12px}
main:focus,[tabindex="-1"]:focus{outline:none}
ol.journey-steps,ol.process-steps,ol.journey-mobile-stages{list-style:none;margin-top:0;margin-bottom:0}
ol.journey-steps,ol.process-steps{padding-left:0}
ol.process-steps{margin-top:-22px}  /* the design pulls the stage row 22 px up under the desk scene (lost to the reset above) */
@media(max-width:900px){ol.process-steps{margin-top:0}}
.journey-step,.process-step,.journey-mobile-step{list-style:none}
.feedback-svg{position:absolute;inset:0;width:100%;height:76px}
@media(max-width:900px){.feedback-svg{height:66px}}

/* header */
.site-header{z-index:30}
.desktop-nav a:hover,.nav-control:hover,.market-top:hover{color:#c5091d}
.nav-ads{position:relative;display:inline-flex}
.nav-caret{display:inline-block;transform:translateY(-3px)}
.nav-control[aria-expanded="true"]{font-weight:700}
.nav-control[aria-expanded="true"] .nav-caret{transform:rotate(180deg) translateY(-3px)}
.ad-dropdown{position:absolute;top:calc(100% + 12px);left:-26px;width:330px;background:#fff;border:1px solid #d5dde5;border-radius:7px;box-shadow:0 15px 35px #13202c17;padding:12px;z-index:40;white-space:normal}
.ad-dropdown a{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:11px 14px;font-size:18px;border-radius:4px}
.ad-dropdown a:hover{background:#f4f6f8;color:var(--ink)}
.ad-dropdown p{border-top:1px solid #dce1e5;padding:15px 14px 5px;margin-top:4px;font-size:15px;line-height:1.4;color:#657181}
.menu-trigger{color:var(--ink)}
.menu-trigger:hover{border-color:#8393a6}

/* mobile / tablet menu: opaque dialog with its own scroll */
.mobile-menu{position:fixed;inset:0;z-index:60;background:#fff;display:flex;flex-direction:column;overscroll-behavior:contain}
.mobile-menu .menu-head{height:76px;flex:none;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e7eb}
.mobile-menu .menu-head .brand-name{font-size:20px}
.close-menu{border:1px solid #d6dde4;background:#fff;border-radius:4px;min-height:44px;font-size:13px;padding:10px;color:var(--ink)}
.close-menu:hover{border-color:#8393a6}
.menu-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:10px 24px 28px;flex:1}
.menu-main,.menu-extras{max-width:620px;margin-inline:auto}
.menu-main{display:flex;flex-direction:column}
.menu-item{font-size:21px;line-height:1.3;min-height:48px;display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid #e4e8ed;padding:10px 0;width:100%;background:none;color:var(--ink);text-align:left}
.menu-item:hover{color:#c5091d}
.menu-ads-sign:before{content:'+';font-size:22px;font-weight:400}
.menu-ads-toggle[aria-expanded="true"] .menu-ads-sign:before{content:'−'}
.ad-sub{background:#f6f8fa;padding:10px 15px;margin-top:6px}
.ad-sub a{display:flex;align-items:center;font-size:18px;padding:10px 0;min-height:44px}
.ad-sub p{font-size:14px;line-height:1.4;color:#637183;border-top:1px solid #dce2e7;padding-top:12px;margin-top:8px}
.menu-main .btn{margin-top:22px;width:100%}
.menu-extras{margin-top:24px}
.menu-extras p{font-size:15px;color:#657282;line-height:1.45}
.menu-extras .text-action{font-size:16px;min-height:46px}
.menu-footer-line{border-top:1px solid #dce2e7;margin-top:18px;padding-top:18px}
@media(max-width:375px){.mobile-menu .menu-head{padding:0 20px}.menu-scroll{padding-inline:20px}}
@media(min-width:1251px){.mobile-menu{display:none!important}}
body.p01-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}

/* anchors under the sticky header (88 px desktop / 76 px mobile) */
section,#top{scroll-margin-top:100px}
@media(max-width:900px){section,#top{scroll-margin-top:84px}}

/* B03 mobile: the published acquisition frame IS the left 999 px of the scene that the design shows at width 205 %
   (205 % x 999/2048 = 100 %), so it is displayed at 100 %. B06 mobile: the experience line spans both columns like
   the other paragraphs (missing in design.css; the previews show it full width). */
@media(max-width:900px){
  .journey-mobile-art.acquisition img{width:100%}
  .team-copy .experience{grid-column:1/-1;margin:0}
}

/* B04 verified route */
.scope-launch-link{margin-top:10px}

/* B05 tabs + alternative project */
.tab:hover:not(.selected){background:#f4f6f8;color:var(--ink)}
button.project-alt{width:100%;background:none;border:0;border-top:1px solid #d9dfe5;padding:23px 0 0;color:inherit;text-align:left}
.project-thumb{display:block}
.project-alt-text,.project-alt-text>span{display:block}
.project-alt:hover .alt-name{color:#c5091d}

/* footer links */
.footer-nav a:hover,.legal-link:hover,.footer-product-link:hover{color:#c5091d}
.footer-product-link{text-decoration:underline;text-underline-offset:3px}
.legal-link{color:#53647b;text-decoration:none}
.legal-link:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.footer-bottom .legal-link{display:block;margin:0 0 15px}}

/* B09 form: native controls behind the accepted look */
.form-fields,.context-picker{border:0;margin:0;padding:0;min-width:0}
.field-channels{border:0;padding:0;min-width:0;margin-inline:0;margin-top:0}
.field-channels>legend{float:left;width:100%;padding:0}
.field-channels>.channels{clear:both}
.channel{cursor:pointer;user-select:none}
.channel-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.channel:hover{border-color:#8393a6;background:#f8f9fb}
.channel:has(.channel-input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.channel:has(.channel-input:checked),.channel.selected{border-color:#c6081c;background:#fff1f3;color:var(--ink);box-shadow:inset 0 0 0 1px #c6081c}
.channel:has(.channel-input:checked) .radio,.channel.selected .radio{border:5px solid #cf0a20}
.field.is-invalid .input{border:2px solid #d7142c;padding:12px 13px;background:#fffafb}
.field.is-invalid .channel:not(.selected){border-color:#d7142c}
.consent{position:relative}
.consent-input{position:absolute;left:0;top:0;width:23px;height:23px;margin:1px 0 0;opacity:0;cursor:pointer;z-index:1}
.consent-input:checked+.checkbox{background:#da0a20;border-color:#da0a20;position:relative}
.consent-input:checked+.checkbox:after{content:'✓';position:absolute;color:#fff;font-size:19px;line-height:1;left:3px;top:1px}
.consent-input:focus-visible+.checkbox{outline:3px solid var(--focus);outline-offset:3px}
.consent.is-invalid .consent-input:not(:checked)+.checkbox{border:2px solid #d7142c;background:#fffafb}
.consent-text label{cursor:pointer}
.legal-text:hover{color:#1d3f75}
.form-submit[aria-busy="true"]{background:#bf1728;border-color:#bf1728;box-shadow:none;cursor:wait;transform:none}
.form-submit:disabled{opacity:1}
.form-card.sending .channel{cursor:default}
.sending-status:empty{display:none}
.form-banner{scroll-margin-top:110px}
.context-picker{border:1px solid #d5dde5;border-radius:7px;padding:6px 16px;margin:-8px 0 24px}
.context-picker .choice{position:relative;display:flex;align-items:center;gap:12px;min-height:47px;font-size:16px;line-height:1.3;border-bottom:1px solid #ecf0f3;cursor:pointer;padding:6px 0}
.context-picker .choice:last-child{border-bottom:0}
.context-picker .choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.context-picker .choice:has(input:checked) .radio{border:5px solid #cf0a20}
.context-picker .choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.context-picker .choice:hover{color:#c5091d}
.context-change[aria-expanded="true"]{text-decoration:underline;text-underline-offset:4px}
.success-view h3{font-family:DDRDisplay,DDR,Arial,sans-serif}
.success-view .text-action{cursor:pointer}
.form-card.is-success{display:flex;flex-direction:column;justify-content:center}
@keyframes p01-spin{to{transform:rotate(360deg)}}
.spinner{animation:p01-spin .8s linear infinite}
.form-submit .spinner{margin-left:auto}
@media(max-width:900px){.field.is-invalid .input{padding:12px 11px}}

/* project materials viewer (dialog) */
.viewer{position:fixed;inset:0;z-index:70;background:#12191eef;color:#fff;overflow-y:auto;overscroll-behavior:contain}
.viewer-inner{min-height:100%;padding:40px 64px;max-width:1300px;margin:0 auto}
.viewer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:35px}
.viewer .viewer-title{font-size:32px;color:#fff;letter-spacing:-.018em}
.viewer-meta{font-size:17px;color:#c6d0d8;margin-top:9px}
.viewer-count{font-size:16px;color:#c6d0d8;margin-top:14px}
.viewer-close{flex:none;background:#fff;color:#1b2630;border:0;border-radius:4px;min-height:48px;padding:12px 18px;font-size:16px}
.viewer-close:hover{background:#eef1f4}
.viewer-figure{margin:0 auto;max-width:935px}
.viewer-image{border-radius:5px;overflow:hidden;box-shadow:0 18px 70px #0005;background:#fff}
.viewer-image img{display:block;width:100%;height:auto}
.viewer-caption{margin-top:20px;font-size:17px;line-height:1.45;color:#d4dae0}
.viewer-caption p+p{margin-top:8px}
.viewer-caption .text-action{color:#ff8a98;margin-top:6px}
.viewer-message{max-width:935px;min-height:360px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;border:1px solid #52606a;border-radius:8px;padding:24px;text-align:center}
.viewer-message p{font-size:20px;color:#e5eaef}
.viewer-message .btn{width:240px}
@media(max-width:900px){.viewer-inner{padding:24px}.viewer-head{display:block;margin-bottom:30px}.viewer .viewer-title{font-size:28px}.viewer-close{margin-top:20px;min-height:46px;width:100%}.viewer-meta{font-size:16px}.viewer-message{min-height:260px}.viewer-message .btn{width:100%;max-width:280px}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.spinner{animation:none}}

/* ======================= Part 3: visual pass against the accepted v0.4 previews (Fable) ======================= */
/* 1024-class desktop (901–1100): the preview shows the hero CTA as a full-width block of .hero-actions (635 px) with the
   secondary action on its own line beneath it. */
@media(min-width:901px) and (max-width:1100px){.hero-actions>.btn{display:flex;width:100%}}

/* Touch targets ≥ 44 CSS px on the sequential (touch) composition; visual rhythm of the design kept where possible. */
.site-header .brand,.mobile-menu .brand{min-height:44px}
@media(max-width:900px){
  .hero-actions>.text-action{min-height:44px}
  .footer-nav{gap:0}
  .footer-nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0}
  .footer-bottom .legal-link{display:flex;align-items:center;min-height:44px;margin:0}
  .footer-bottom .copyright{margin-top:14px}
  /* B07 closing CTA: the preview keeps «Обсудить условия для моей задачи» on one line at 390/360 (1–6 px short here) */
  .process-close .btn{gap:10px;padding-left:16px;padding-right:16px}
}

/* Viewer: the accepted previews show an opaque graphite field (#1e252a) behind the material; mobile close button reads left. */
.viewer{background:#1e252a}
@media(max-width:900px){.viewer-close{text-align:left;justify-content:flex-start}}
/* B09 sending: the design shows only the live status line under the busy CTA. */
.form-card.sending .form-after{display:none}

/* ======================= Part 4: brand logo + font-independent icons (pass 2) ======================= */
/* The approved Russian Digital logo (one file, assets/brand/…-600.webp, the whole supplied image with its own white
   field) replaces the typed «ДЕЛАДЕЛ Digital». Sizes = the approved placements of the same asset in the DDR-P04 RU
   handoff (ASSET_MAP): header/menu 200 px wide on desktop, footer 190 px, 140 px on the mobile composition. */
.brand-logo{display:block;width:200px;height:auto;max-width:none}
.site-footer .brand-logo{width:190px}
.mobile-menu .brand-logo{width:140px}
@media(max-width:900px){.site-header .brand-logo,.site-footer .brand-logo{width:140px}}
.brand:focus-visible{outline-offset:2px}
/* Symbols the page fonts do not contain were drawn by system fonts (Cambria Math / Segoe UI Symbol on Windows, other
   fonts elsewhere): ⌄ ✓ ↻ are inline SVG / CSS now, so every platform draws the same mark. */
.nav-caret{display:inline-flex;align-items:center;transform:none}
.nav-caret svg{display:block}
.nav-control[aria-expanded="true"] .nav-caret{transform:rotate(180deg)}
.success-symbol svg{display:block}
.arrow-icon{display:inline-flex}
.arrow-icon svg{display:block}
.consent-input:checked+.checkbox:after{content:'';left:7px;top:2px;width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);font-size:0}

/* ======================= Part 5: logo visual fit (pass 2, Fable) ======================= */
/* The supplied logo image carries its own white field around the mark: the ink occupies the image minus 8.9 % left,
   7.9 % right, 5.8 % top and 13.4 % bottom. The approved sizes of the whole image stay (200 / 190 / 140 px); negative
   margins equal to that field make the layout box = the ink box, so the mark sits on the content edge (where the typed
   brand of the accepted composition started) and is optically centred in the 88 / 76 px header and the menu head —
   the header heights do not change. In the footer the ink top meets the cap line of the column titles (+3 px) and the
   positioning text keeps its designed 18 / 16 px distance from the ink, not from the field.
   The field is 253–254 on the #fff page and reads as a faint grey rectangle at 1x and 2x: brightness(1.02) on the img
   only lifts the field (250–254) to 255 while the dark and red ink move by ≤ 2 % (not visible); the asset is unchanged. */
.brand-logo{filter:brightness(1.02);margin:-4px 0 -10px -18px}
.site-footer .brand-logo{margin:3px 0 -9px -17px}
.mobile-menu .brand-logo{margin:-3px 0 -7px -12px}
@media(max-width:900px){
  .site-header .brand-logo{margin:-3px 0 -7px -12px;max-width:calc(100% + 12px)}  /* 320: the brand column is 118 px — the mark shrinks instead of running into «Обсудить» */
  .site-footer .brand-logo{margin:2px 0 -7px -12px}
}
/* 901–1250: the accepted 1024 preview shows «Обсудить →» with the arrow inside the 120 px CTA; with the desktop 20 px
   gap the arrow was clipped to a dash. */
@media(min-width:901px) and (max-width:1250px){.header-inner>.header-contact-mobile{gap:8px}}
/* Replaced marks against the reference states: the consent check keeps the glyph's lighter weight (2 px, whole
   device pixels at 1x); the success check a little lighter; the viewer retry arrow closer to the bold ↻ of the
   reference (20 px, heavier stroke). The «Реклама» caret stays centred on the label (the reference glyph sat on the
   baseline of a fallback font). */
.consent-input:checked+.checkbox:after{border-width:0 2px 2px 0}
.success-symbol svg path{stroke-width:2.2}
.arrow-icon svg{width:20px;height:20px}
.arrow-icon svg path{stroke-width:2.6}

/* Complete published-service navigation: native disclosure, keyboard + pointer. */
.service-disclosure{position:relative;white-space:normal}
.service-disclosure>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none;white-space:nowrap}
.service-disclosure>summary::-webkit-details-marker{display:none}
.service-disclosure>summary::after{content:"⌄";font-size:18px}
.service-disclosure[open]>summary::after{transform:rotate(180deg)}
.service-disclosure>summary:focus-visible{outline:3px solid #315cbe;outline-offset:4px}
.service-disclosure>.service-links{position:absolute;top:100%;left:0;z-index:80;display:grid;width:300px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 100px);overflow:auto;padding:10px;background:#fff;border:1px solid #dce1e5;border-radius:6px;box-shadow:0 12px 30px #18232e24}
.service-disclosure>.service-links a{display:flex;align-items:center;min-height:44px;padding:8px 12px;font-size:16px;line-height:1.3;white-space:normal}
.service-disclosure>.service-links a:hover,.service-disclosure>.service-links a:focus-visible{background:#fff1f3;color:#b8071a}
.service-disclosure:not([open])>.service-links{display:none}
