/* B2B landing only. Existing public pages keep their own layout and styles. */
.b2b-body, .b2b-body * { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 30px; }
.b2b-body { --b2b-ink:#111; --b2b-muted:#565656; --b2b-line:#d8d8d8; margin:0; color:var(--b2b-ink); background:#fff; font-family:'Roboto Condensed',Arial,sans-serif; font-weight:300; -webkit-font-smoothing:antialiased; }
.b2b-body a { color:inherit; }
.b2b-body button, .b2b-body input, .b2b-body textarea { font:inherit; }
.b2b-body button { color:inherit; }
.b2b-body img { display:block; max-width:100%; }
.b2b-body figure, .b2b-body p, .b2b-body h1, .b2b-body h2, .b2b-body h3 { margin:0; }
.b2b-body h1, .b2b-body h2, .b2b-body h3 { font-family:'Oswald',Arial,sans-serif; font-weight:300; }
.b2b-body a:focus-visible, .b2b-body button:focus-visible, .b2b-body summary:focus-visible { outline:2px solid #111; outline-offset:5px; }
.b2b-wrap { width:min(1220px,calc(100% - 96px)); margin-inline:auto; }
.b2b-skip { position:fixed; left:16px; top:-100px; z-index:1000; padding:12px 20px; background:#111; color:#fff!important; }
.b2b-skip:focus { top:16px; }
.b2b-header { min-height:148px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-bottom:1px solid var(--b2b-line); }
.b2b-brand { text-decoration:none; display:flex; flex-direction:column; gap:7px; flex-shrink:0; }
.b2b-brand__name { font-family:'Oswald',sans-serif; font-weight:300; font-size:49px; line-height:1; letter-spacing:.27em; margin-right:-.27em; }
.b2b-brand__caption { text-transform:uppercase; font-family:'Oswald',sans-serif; font-size:8px; letter-spacing:.18em; }
.b2b-header__nav { display:flex; gap:24px; align-items:center; margin-left:auto; font-size:15px; }
.b2b-header__nav a { text-decoration:none; border-bottom:1px solid transparent; padding-block:8px; }
.b2b-header__nav a:hover { border-bottom-color:var(--b2b-ink); }
.b2b-header__contacts { display:flex; flex-direction:column; align-items:flex-end; gap:5px; white-space:nowrap; font-size:13px; }
.b2b-header__contacts a { text-decoration:none; }
.b2b-header__contacts a:hover { text-decoration:underline; text-underline-offset:4px; }
.b2b-header__phone { font-size:18px; }
.b2b-hero { display:grid; grid-template-columns:1.12fr 1fr; gap:64px; align-items:center; padding-block:76px 82px; }
.b2b-eyebrow { text-transform:uppercase; font-size:12px; line-height:1.5; letter-spacing:.14em; color:var(--b2b-muted); }
.b2b-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#111; margin-right:7px; vertical-align:2px; }
.b2b-hero h1 { margin-top:24px; font-size:clamp(42px,4.1vw,64px); line-height:1.12; letter-spacing:.025em; text-transform:uppercase; }
.b2b-hero h1 span { display:inline-block; font-size:.7em; letter-spacing:.045em; margin-top:10px; }
.b2b-hero__lead { max-width:510px; margin-top:28px!important; font-size:19px; line-height:1.55; }
.b2b-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:31px; }
.b2b-button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:56px; padding:17px 23px; border:1px solid #111; border-radius:999px; color:#fff!important; background:#111; text-decoration:none; font-size:14px; letter-spacing:.04em; cursor:pointer; transition:background .2s,color .2s,transform .2s; }
.b2b-button:hover { background:#333; transform:translateY(-2px); }
.b2b-button span { font-family:Arial,sans-serif; font-size:22px; line-height:1; }
.b2b-text-link { display:inline-flex; align-items:center; gap:16px; text-underline-offset:5px; text-decoration-thickness:1px; font-size:14px; }
.b2b-hero__location { max-width:390px; color:var(--b2b-muted); font-size:13px; line-height:1.5; margin-top:26px!important; }
.b2b-hero__visual { align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.b2b-hero__photo { position:relative; border-radius:24px; overflow:hidden; background:#f1f1ef; }
.b2b-hero__photo>img { width:100%; height:100%; aspect-ratio:1; object-fit:cover; }
.b2b-photo-index { position:absolute; bottom:17px; left:20px; font-size:10px; letter-spacing:.14em; background:rgba(255,255,255,.91); padding:7px 9px; border-radius:3px; }
.b2b-hero__visual figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:7px; padding-top:14px; color:var(--b2b-muted); font-size:12px; }
.b2b-section { border-top:1px solid var(--b2b-line); padding-block:62px 70px; }
.b2b-section h2, .b2b-request h2 { font-size:clamp(30px,3vw,43px); line-height:1.18; letter-spacing:.025em; text-transform:uppercase; margin-top:17px; }
.b2b-tasks { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; }
.b2b-task { display:flex; gap:26px; padding-block:24px; border-bottom:1px solid var(--b2b-line); }
.b2b-task:first-child { padding-top:0; }
.b2b-task:last-child { border-bottom:0; padding-bottom:0; }
.b2b-task__index { padding-top:4px; color:#777; font-size:12px; }
.b2b-task h3 { font-size:23px; letter-spacing:.025em; }
.b2b-task p { margin-top:10px; font-size:16px; line-height:1.5; color:var(--b2b-muted); max-width:530px; }
.b2b-section__top { display:flex; justify-content:space-between; gap:45px; align-items:flex-end; margin-bottom:34px; }
.b2b-section__note { font-size:15px; line-height:1.55; color:var(--b2b-muted); max-width:350px; }
.b2b-work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.b2b-work__image { display:block; position:relative; width:100%; border:0; padding:0; background:#f2f2f0; border-radius:20px; overflow:hidden; cursor:zoom-in; }
.b2b-work__image img { width:100%; height:100%; aspect-ratio:1.06; object-fit:cover; transition:transform .45s ease; }
.b2b-work__image:hover img { transform:scale(1.035); }
.b2b-work__image>span { position:absolute; right:15px; bottom:15px; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#fff; font-size:20px; }
.b2b-work figcaption { display:flex; justify-content:space-between; gap:12px; padding-top:16px; font-size:16px; }
.b2b-work figcaption span:last-child { color:#777; font-size:12px; }
.b2b-works__link { margin-top:30px; }
.b2b-process__steps { list-style:none; margin:36px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.b2b-process__steps li { position:relative; border-top:1px solid #111; padding:22px 26px 0 0; }
.b2b-process__steps li::before { content:''; position:absolute; width:5px; height:5px; background:#111; border-radius:50%; left:0; top:-3px; }
.b2b-step__num { font-size:12px; color:#777; }
.b2b-process__steps h3 { font-size:22px; margin-top:18px; }
.b2b-process__steps p { margin-top:12px; max-width:240px; font-size:15px; line-height:1.55; color:var(--b2b-muted); }
.b2b-request { margin-top:6px; padding:54px; background:#f5f5f3; border-radius:24px; display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.b2b-request__intro>p:not(.b2b-eyebrow) { max-width:335px; font-size:17px; line-height:1.55; margin-top:23px; color:var(--b2b-muted); }
.b2b-request__brief { margin-top:28px; }
.b2b-request__brief h3 { font-size:21px; }
.b2b-request__brief ul { margin:13px 0 0; padding-left:16px; color:var(--b2b-muted); font-size:15px; line-height:1.7; }
.b2b-request__equipment { margin-top:30px!important; max-width:320px; }
.b2b-request__equipment img { border-radius:16px; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.b2b-request__equipment figcaption { color:var(--b2b-muted); font-size:12px; margin-top:10px; }
.b2b-request__contact a { display:inline-block; margin-top:8px; text-decoration:none; color:#111; }
.b2b-request__contact a:hover { text-decoration:underline; text-underline-offset:4px; }
.b2b-form { min-width:0; }
.b2b-form>h3 { font-size:29px; text-transform:uppercase; letter-spacing:.025em; }
.b2b-form__hint { color:var(--b2b-muted); font-size:13px; line-height:1.5; margin-top:11px!important; margin-bottom:25px!important; }
.b2b-form__row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.b2b-field { display:flex; flex-direction:column; margin-bottom:19px; min-width:0; }
.b2b-field label { font-size:14px; margin-bottom:8px; line-height:1.4; }
.b2b-optional { color:#737373; font-size:11px; margin-left:3px; }
.b2b-field input, .b2b-field textarea { width:100%; min-width:0; padding:12px 13px; border:1px solid #c9c9c7; border-radius:7px; background:#fff; color:#111; font-size:15px; line-height:1.4; outline:none; }
.b2b-field input { min-height:46px; }
.b2b-field textarea { min-height:115px; resize:vertical; }
.b2b-field input:focus, .b2b-field textarea:focus { border-color:#111; box-shadow:0 0 0 1px #111; }
.b2b-field input::placeholder, .b2b-field textarea::placeholder { color:#858585; opacity:1; }
.b2b-field__note { margin-top:7px; color:#737373; font-size:12px; line-height:1.4; }
.b2b-upload { margin-top:5px; }
.b2b-upload__label { position:relative; display:flex; align-items:center; gap:17px; padding:19px; border:1px dashed #a2a2a0; border-radius:9px; cursor:pointer; }
.b2b-upload__label:hover, .b2b-upload__label:focus-within { border-color:#111; background:#ececea; }
.b2b-upload__label input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; }
.b2b-upload__icon { font-family:Arial,sans-serif; font-size:28px; }
.b2b-upload__label strong { display:block; font-size:16px; font-weight:400; margin-bottom:6px; }
.b2b-upload__label span>span { display:block; font-size:12px; color:var(--b2b-muted); line-height:1.5; }
.b2b-file-list { list-style:none; padding:0; margin:10px 0 0; }
.b2b-file-list li { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #d8d8d6; font-size:13px; }
.b2b-file-list li>span { min-width:0; overflow-wrap:anywhere; }
.b2b-file-list button { padding:0 3px; border:0; font-size:13px; background:none; text-decoration:underline; cursor:pointer; }
.b2b-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.b2b-consent { display:flex; align-items:flex-start; gap:10px; margin-top:22px; font-size:13px; line-height:1.5; cursor:pointer; }
.b2b-consent input { width:17px; height:17px; flex-shrink:0; margin:2px 0 0; accent-color:#111; }
.b2b-privacy { margin:10px 0 0 27px; font-size:12px; color:var(--b2b-muted); line-height:1.5; }
.b2b-privacy summary { cursor:pointer; width:fit-content; text-underline-offset:3px; }
.b2b-privacy p { margin-top:10px; }
.b2b-form__submit { width:100%; margin-top:25px; }
.b2b-form__submit:disabled { background:#6d6d6d; border-color:#6d6d6d; cursor:wait; transform:none; }
.b2b-form__after { font-size:12px; line-height:1.5; color:var(--b2b-muted); margin-top:12px!important; }
.b2b-form__message { padding:14px; background:#e5e9e1; border:1px solid #a3ae9a; border-radius:7px; line-height:1.5; font-size:14px; margin-top:20px; }
.b2b-form__message.is-error { background:#fff3f0; border-color:#b95746; color:#8b2c1e; }
.b2b-form__message[hidden], .b2b-preview-note[hidden] { display:none; }
.b2b-preview-note { font-size:12px; line-height:1.5; color:#555; border-left:2px solid #999; padding-left:10px; margin-bottom:22px!important; }
.b2b-form__noscript { font-size:14px; margin-top:14px!important; line-height:1.5; }
.b2b-footer { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; padding-block:58px 40px; margin-top:55px; border-top:1px solid var(--b2b-line); }
.b2b-footer__brand { font-family:'Oswald',sans-serif; font-size:32px; letter-spacing:.23em; text-decoration:none; }
.b2b-footer p { margin-top:13px; color:var(--b2b-muted); font-size:13px; line-height:1.7; }
.b2b-footer nav { display:flex; flex-direction:column; gap:14px; font-size:14px; }
.b2b-footer nav a { display:flex; gap:28px; justify-content:space-between; text-decoration:none; }
.b2b-footer nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.b2b-lightbox { max-width:min(900px,calc(100vw - 40px)); width:fit-content; padding:16px; border:0; border-radius:16px; background:#fff; color:#111; }
.b2b-lightbox::backdrop { background:rgba(0,0,0,.78); }
.b2b-lightbox>img { max-height:76vh; max-width:100%; object-fit:contain; border-radius:9px; }
.b2b-lightbox>p { margin-top:12px; font-size:14px; }
.b2b-lightbox__close { position:absolute; top:23px; right:23px; border:0; border-radius:50%; width:38px; height:38px; background:#fff; font-size:28px!important; line-height:1; cursor:pointer; box-shadow:0 1px 10px #0002; }
@media(min-width:1600px){ .b2b-wrap{width:min(1320px,calc(100% - 160px));} .b2b-hero{gap:90px;padding-block:85px 90px;} .b2b-hero h1{font-size:69px;} }
@media(max-width:1100px){ .b2b-wrap{width:calc(100% - 64px);} .b2b-header{gap:24px;} .b2b-header__nav{gap:16px;font-size:14px;} .b2b-hero{gap:38px;padding-block:56px 64px;} .b2b-hero h1{font-size:48px;} .b2b-hero__lead{font-size:17px;} .b2b-hero__actions{gap:20px;} .b2b-tasks{gap:45px;grid-template-columns:.8fr 1.2fr;} .b2b-request{padding:35px;gap:40px;} .b2b-form__row{gap:12px;} .b2b-optional{display:block;margin-left:0;} }
@media(max-width:860px){ .b2b-wrap{width:calc(100% - 44px);} .b2b-header{min-height:122px;flex-wrap:wrap;gap:20px;padding-block:22px;} .b2b-brand__name{font-size:41px;} .b2b-brand__caption{font-size:6.6px;} .b2b-header__nav{order:3;width:100%;margin-left:0;justify-content:space-between;gap:10px;border-top:1px solid #e4e4e4;padding-top:12px;} .b2b-header__contacts{margin-left:auto;font-size:12px;} .b2b-header__phone{font-size:15px;} .b2b-hero{grid-template-columns:1fr 1fr;gap:25px;} .b2b-hero h1{font-size:39px;} .b2b-hero__lead{font-size:16px;line-height:1.5;margin-top:23px!important;} .b2b-button{font-size:13px;gap:20px;padding:15px 19px;min-height:52px;} .b2b-hero__actions{gap:18px;} .b2b-hero__location{font-size:12px;} .b2b-eyebrow{font-size:11px;} .b2b-photo-index{font-size:9px;} .b2b-hero__visual figcaption{font-size:11px;} .b2b-tasks{gap:28px;grid-template-columns:.8fr 1.2fr;} .b2b-task{gap:15px;} .b2b-task h3{font-size:21px;} .b2b-task p{font-size:15px;} .b2b-section{padding-block:45px 50px;} .b2b-section__top{gap:24px;align-items:flex-start;} .b2b-section__note{font-size:14px;max-width:270px;margin-top:30px!important;} .b2b-work-grid{gap:15px;} .b2b-work figcaption{font-size:14px;} .b2b-work__image{border-radius:14px;} .b2b-process__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0;} .b2b-process__steps p{max-width:280px;} .b2b-request{grid-template-columns:1fr;padding:35px;gap:35px;} .b2b-request__intro{display:grid;grid-template-columns:1fr 1fr;column-gap:35px;} .b2b-request__intro>.b2b-eyebrow,.b2b-request__intro>h2{grid-column:1/-1;} .b2b-request__equipment{display:none;} .b2b-request__brief{margin-top:23px;} .b2b-request__contact{grid-column:1/-1;} .b2b-form__row{gap:20px;} .b2b-optional{display:inline;margin-left:3px;} }
@media(max-width:600px){ html{scroll-padding-top:16px;} .b2b-wrap{width:calc(100% - 36px);} .b2b-header{gap:15px;padding-block:23px 14px;min-height:0;} .b2b-brand__name{font-size:37px;} .b2b-brand__caption{font-size:6px;letter-spacing:.14em;} .b2b-header__contacts{font-size:11px;gap:5px;} .b2b-header__phone{font-size:14px;} .b2b-header__nav{font-size:13px;padding-top:10px;} .b2b-hero{grid-template-columns:1fr;gap:32px;padding-block:37px 40px;} .b2b-hero h1{font-size:clamp(38px,10.1vw,54px);margin-top:20px;line-height:1.12;letter-spacing:.02em;} .b2b-hero h1 span{font-size:.7em;letter-spacing:.035em;margin-top:9px;} .b2b-hero__lead{max-width:450px;font-size:17px;line-height:1.5;margin-top:22px!important;} .b2b-hero__actions{gap:20px;margin-top:25px;} .b2b-hero__actions .b2b-button{min-height:54px;font-size:14px;} .b2b-text-link{font-size:13px;gap:9px;} .b2b-hero__location{font-size:12px;max-width:350px;margin-top:20px!important;} .b2b-hero__photo{border-radius:20px;} .b2b-hero__photo>img{aspect-ratio:4/3;object-position:center;} .b2b-hero__visual figcaption{font-size:11px;padding-top:11px;} .b2b-eyebrow{font-size:10px;letter-spacing:.12em;} .b2b-section h2,.b2b-request h2{font-size:32px;line-height:1.2;margin-top:14px;} .b2b-tasks{grid-template-columns:1fr;gap:28px;} .b2b-task{padding-block:22px;gap:18px;} .b2b-task h3{font-size:22px;} .b2b-task p{font-size:16px;} .b2b-section{padding-block:36px 40px;} .b2b-section__top{display:block;margin-bottom:26px;} .b2b-section__note{font-size:14px;margin-top:20px!important;max-width:430px;} .b2b-work-grid{grid-template-columns:1fr;gap:27px;} .b2b-work__image{border-radius:18px;} .b2b-work__image img{aspect-ratio:1.35;} .b2b-work figcaption{font-size:16px;padding-top:13px;} .b2b-works__link{margin-top:27px;font-size:14px;} .b2b-process__steps{margin-top:28px;gap:28px 20px;} .b2b-process__steps li{padding-right:0;padding-top:17px;} .b2b-process__steps h3{font-size:21px;margin-top:13px;} .b2b-process__steps p{font-size:14px;line-height:1.5;margin-top:10px;} .b2b-request{margin-top:0;width:100%;border-radius:0;padding:36px 18px;gap:30px;} .b2b-request__intro{display:block;} .b2b-request__intro>p:not(.b2b-eyebrow){font-size:16px;max-width:440px;margin-top:19px;} .b2b-request__brief{margin-top:21px;} .b2b-request__brief h3{font-size:21px;} .b2b-request__brief ul{font-size:14px;} .b2b-request__contact{display:none;} .b2b-form{padding-top:27px;border-top:1px solid #d1d1ce;} .b2b-form>h3{font-size:25px;} .b2b-form__hint{font-size:12px;margin-top:10px!important;margin-bottom:23px!important;} .b2b-form__row{gap:15px;} .b2b-field{margin-bottom:18px;} .b2b-field label{font-size:13px;min-height:18px;} .b2b-optional{font-size:10px;display:block;margin-left:0;} .b2b-field input,.b2b-field textarea{font-size:16px;padding:11px 10px;} .b2b-field input{min-height:46px;} .b2b-field__note{font-size:11px;} .b2b-upload__label{padding:15px;gap:13px;} .b2b-upload__label strong{font-size:15px;} .b2b-upload__label span>span{font-size:11px;} .b2b-consent{font-size:12px;} .b2b-form__submit{font-size:14px;min-height:55px;} .b2b-footer{display:block;padding-block:32px;margin-top:35px;} .b2b-footer__brand{font-size:29px;} .b2b-footer p{font-size:12px;} .b2b-footer nav{margin-top:25px;font-size:14px;gap:16px;} .b2b-lightbox{max-width:calc(100vw - 20px);padding:10px;border-radius:12px;} .b2b-lightbox>img{max-height:75vh;} .b2b-lightbox__close{top:17px;right:17px;} }
@media(min-width:361px) and (max-width:600px){ .b2b-form__row .b2b-field label{min-height:36px;} }
@media(max-width:360px){ .b2b-brand__name{font-size:31px;} .b2b-brand__caption{font-size:5.2px;} .b2b-header__phone{font-size:13px;} .b2b-header__contacts{font-size:10px;} .b2b-hero h1{font-size:36px;} .b2b-hero__actions{gap:17px;} .b2b-form__row{grid-template-columns:1fr;} .b2b-optional{display:inline;margin-left:3px;} }
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} .b2b-body *, .b2b-body *::before, .b2b-body *::after{transition:none!important;} }
