.mark{
width:32px;
height:32px;
display:block;
flex-shrink:0;
}

.app-bar{
position:fixed;
top:0;
left:0;
right:0;
z-index:40;
height:var(--app-bar-height);
display:flex;
align-items:center;
justify-content:space-between;
padding:0 var(--section-padding-x);
background:var(--color-bg);
}

.app-bar__brand{
display:inline-flex;
align-items:center;
gap:10px;
text-decoration:none;
color:var(--color-dark);
min-width:0;
}

.app-bar__name{
font-weight:700;
font-size:1.05rem;
letter-spacing:-0.03em;
}

.app-bar__actions{
display:flex;
align-items:center;
gap:8px;
}

.app-bar__lang{
display:flex;
gap:4px;
}

.app-bar__lang button{
min-width:40px;
height:32px;
padding:0 10px;
border:1px solid var(--color-border);
border-radius:var(--radius-button);
background:#fff;
color:var(--color-dark);
font-weight:600;
font-size:0.8rem;
cursor:pointer;
}

.app-bar__lang button.is-active{
background:#000;
color:#fff;
border-color:#000;
}

.app-drawer__head .app-bar__lang button{
border-color:rgba(255,255,255,0.35);
background:transparent;
color:#fff;
}

.app-drawer__head .app-bar__lang button.is-active{
background:#fff;
color:#000;
border-color:#fff;
}

.app-bar__contact{
display:inline-flex;
align-items:center;
height:36px;
padding:0 16px;
border-radius:var(--radius-button);
background:var(--color-dark);
color:var(--color-invert);
text-decoration:none;
font-size:0.875rem;
font-weight:600;
}

.app-bar__contact:hover{
background:#111;
}

.app-bar__menu{
width:40px;
height:40px;
padding:0;
border:0;
background:transparent;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center;
}

.app-bar__menu-lines,
.app-bar__menu-lines::before{
display:block;
width:18px;
height:1.5px;
background:var(--color-dark);
border-radius:1px;
}

.app-bar__menu-lines::before{
content:"";
transform:translateY(-6px);
}

.app-drawer{
position:fixed;
inset:0;
z-index:50;
background:#000;
color:#fff;
display:flex;
flex-direction:column;
padding:16px var(--section-padding-x) 32px;
overflow:auto;
}

.app-drawer[hidden]{
display:none;
}

.app-drawer__head{
display:flex;
align-items:center;
gap:10px;
min-height:48px;
margin-bottom:var(--space-5);
}

.app-drawer__head .app-bar__brand{
color:#fff;
margin-right:auto;
}

.app-drawer__head .app-bar__contact{
background:#fff;
color:#000;
}

.app-drawer__head .app-bar__contact:hover{
background:#f5f5f5;
}

.app-drawer__close{
width:40px;
height:40px;
border:1px solid rgba(255,255,255,0.85);
background:transparent;
font-size:22px;
line-height:1;
cursor:pointer;
color:#fff;
border-radius:4px;
display:inline-flex;
align-items:center;
justify-content:center;
}

.app-drawer__nav{
display:flex;
flex-direction:column;
}

.app-drawer__nav a{
display:block;
padding:18px 0;
font-size:clamp(1.6rem,5vw,2.15rem);
font-weight:700;
letter-spacing:-0.035em;
text-decoration:none;
color:#fff;
border-bottom:1px solid rgba(255,255,255,0.14);
}

.app-drawer__office{
margin-top:auto;
padding-top:var(--space-5);
}

.app-drawer__office-label{
margin:0 0 12px;
font-size:0.95rem;
font-weight:700;
}

.app-drawer__office p{
margin:0 0 4px;
font-size:0.95rem;
line-height:1.5;
color:rgba(255,255,255,0.72);
}

.app-drawer__office strong{
display:block;
color:#fff;
}

body.app-drawer-open{
overflow:hidden;
}

.intro{
position:relative;
padding:var(--space-7) 0 var(--space-6);
overflow:hidden;
}

.intro::before{
content:"";
position:absolute;
inset:-30% -10%;
background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='520' height='360' fill='none'><rect x='24' y='24' width='300' height='220' rx='56' stroke='%23d4d4d4' stroke-width='1.2'/><rect x='200' y='80' width='280' height='200' rx='56' stroke='%23d4d4d4' stroke-width='1.2'/></svg>");
background-size:520px 360px;
background-repeat:repeat;
transform:rotate(-18deg);
opacity:0.7;
pointer-events:none;
}

.intro .container{
position:relative;
z-index:1;
}

.intro__title{
margin:0 0 var(--space-3);
font-size:var(--font-hero);
font-weight:var(--font-hero-weight);
letter-spacing:-0.045em;
line-height:1.08;
max-width:16ch;
}

.intro__lead{
margin:0;
max-width:36rem;
font-size:var(--font-subtitle);
line-height:1.7;
color:var(--color-muted);
}

.band--dark{
background:#000;
color:#fff;
border-radius:var(--radius-block);
}

.band--dark.section{
padding-top:var(--space-7);
padding-bottom:var(--space-7);
}

.band--dark .section-title,
.band--dark .section-subtitle{
color:#fff;
}

.band--dark .section-subtitle{
color:rgba(255,255,255,0.7);
}

.band--capsule{
margin:0 16px 16px;
border-radius:var(--radius-block);
}

.tool-grid{
display:grid;
grid-template-columns:1fr;
gap:var(--space-3);
}

@media(min-width:800px){
.tool-grid{grid-template-columns:1fr 1fr;}
}

.tool-tile{
display:flex;
flex-direction:column;
padding:0 0 28px;
border:0;
border-radius:var(--radius-card);
overflow:hidden;
text-decoration:none;
color:#171717;
background:#fff;
}

.tool-tile__visual{
width:100%;
height:180px;
object-fit:cover;
display:block;
background:#ededed;
}

.tool-tile__body{
display:flex;
flex-direction:column;
gap:12px;
padding:20px 28px 0;
}

.tool-tile__meta{
margin:0;
font-size:var(--font-small);
color:#737373;
}

.tool-tile__meta strong{
color:#000;
font-weight:700;
}

.tool-tile h2{
margin:0;
font-size:1.45rem;
letter-spacing:-0.03em;
}

.tool-tile p{
margin:0;
color:#525252;
}

.other-list{
list-style:none;
margin:0;
padding:0;
}

.other-list li{
padding:0;
}

.other-list a{
position:relative;
display:grid;
grid-template-columns:1fr auto;
gap:8px 16px;
padding:28px 0;
text-decoration:none;
color:inherit;
border-top:1px solid var(--color-border);
}

.other-list a::before{
content:"";
position:absolute;
top:-1px;
left:0;
width:28px;
height:2px;
background:#000;
}

.other-list strong{
font-weight:700;
letter-spacing:-0.02em;
}

.other-list__price{
color:var(--color-muted);
font-size:var(--font-small);
}

.other-list p{
grid-column:1 / -1;
margin:0;
color:var(--color-muted);
}

.site-footer,
.site-footer *{
text-align:left;
}

.site-footer{
background:#fff;
color:var(--color-text);
padding:var(--space-6) 0 var(--space-4);
border-top:1px solid var(--color-border);
font-size:var(--font-small);
}

.site-footer__grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:var(--space-5);
margin-bottom:var(--space-5);
justify-items:stretch;
}

.site-footer h2{
margin:0 0 14px;
font-size:1rem;
}

.site-footer__links{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:10px;
}

.site-footer__links a{
text-decoration:none;
display:block;
}

.site-footer__bar{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding-top:var(--space-4);
border-top:1px solid var(--color-border);
color:var(--color-muted);
}

.site-footer__bar .app-bar__brand{
color:var(--color-dark);
}

.visually-hidden{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}

.bc-page .bc-grid{
padding-top:var(--space-3);
}

@media(max-width:400px){
.app-bar__name{display:none;}
}

@media(max-width:560px){
.site-footer__grid{
grid-template-columns:1fr;
gap:var(--space-4);
}
.site-footer__links a{
padding:12px 0;
border-bottom:1px solid var(--color-border);
width:100%;
}
.site-footer__bar{
flex-direction:column;
align-items:flex-start;
}
}
