
.catalog-page .catalog-hero{padding:48px 6.4% 42px;border:0}
.catalog-page .catalog-hero h1{font-size:clamp(50px,5.7vw,86px);line-height:1.04;letter-spacing:-.055em}
.catalog-page .catalog-intro{margin-top:26px;align-items:center;gap:45px}
.catalog-page .catalog-intro>p{max-width:535px;font-size:14px;line-height:1.8}
.catalog-page .catalog-intro>.catalog-hint{max-width:205px;font-size:11px;line-height:1.7;color:#596273;border-left:1px solid #14213d38;padding-left:20px}
.catalog-mosaic-wrap{padding:0 4.2% 80px}
.service-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px;align-items:start}
.service-tile{--tile-ink:#14213d;--tile-line:#14213d30;--tile-soft:#455069;grid-column:span 4;background:#e7edfc;color:var(--tile-ink);border-radius:5px;overflow:hidden;min-width:0;align-self:stretch}
.service-tile summary{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:345px;padding:26px;cursor:pointer;list-style:none;isolation:isolate;overflow:hidden}
.service-tile summary::-webkit-details-marker{display:none}
.service-tile summary:focus-visible{outline:2px solid currentColor;outline-offset:-7px}
.service-tile h2{font-size:clamp(25px,2.6vw,40px);line-height:1.1;font-weight:500;letter-spacing:-.045em;margin:0 0 18px;position:relative;z-index:1;max-width:95%}
.tile-art{position:absolute;pointer-events:none;top:0;left:50%;translate:-50% 0;width:100%;max-width:none;height:216px;object-fit:contain;transform-origin:50% 70%;transition:transform .55s cubic-bezier(.22,.7,.25,1)}
.service-tile summary:hover .tile-art{transform:translateY(-5px) rotate(2deg)}
.tile-action{position:relative;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.01em;min-height:30px;gap:12px}
.tile-action i{display:block;position:relative;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;flex:none;opacity:.85;transition:transform .25s}
.tile-action i:before,.tile-action i:after{content:"";position:absolute;left:9px;right:9px;top:14px;height:1px;background:currentColor}
.tile-action i:after{transform:rotate(90deg);transition:transform .25s}
.service-tile[open] .tile-action i:after{transform:rotate(0)}
.service-tile[open] summary{border-bottom:1px solid var(--tile-line)}
.tile-body{padding:26px 28px 30px}
.tile-body p{font-size:14px;line-height:1.8;margin:0 0 20px;color:var(--tile-ink)}
.tile-body ul{margin:0 0 26px;padding-left:17px;font-size:12px;line-height:1.85;color:var(--tile-soft)}
.tile-body li{padding-left:2px;margin:6px 0}
.tile-body a{display:inline-block;border-bottom:1px solid currentColor;padding:5px 0;color:var(--tile-ink);font-size:12px;font-weight:550}
.tile-body a:hover{opacity:.75}
.tile-traffic,.tile-slides{--tile-ink:#f5f5f0;--tile-soft:#dce5ff;--tile-line:#ffffff40;background:#173fd1}
.tile-traffic{grid-column:span 7}
.tile-web{grid-column:span 5;background:#dce5ff}
.tile-traffic summary,.tile-web summary{min-height:400px;padding:32px}
.tile-traffic h2,.tile-web h2{font-size:clamp(30px,3.2vw,47px)}
.tile-traffic .tile-art,.tile-web .tile-art{height:258px;top:-3px}
.tile-traffic .tile-art{width:105%;left:54%}
.tile-web .tile-art{width:116%;left:52%}
.tile-web h2{max-width:340px}
.tile-brand{--tile-ink:#f5f5f0;--tile-soft:#dce5ff;--tile-line:#ffffff35;background:#14213d}
.tile-brand .tile-art{width:120%;top:-5px}
.tile-print{background:#e8e6df}
.tile-print .tile-art{width:120%;top:-8px}
.tile-social{background:#bdcefc}
.tile-social .tile-art{width:115%;top:-10px}
.tile-email{grid-column:span 5;background:#e8edf2}
.tile-slides{grid-column:span 7}
.tile-email summary,.tile-slides summary{min-height:350px}
.tile-email .tile-art{width:105%}
.tile-slides .tile-art{width:77%;left:63%;top:-2px;height:245px}
.tile-slides h2{font-size:clamp(30px,3.2vw,47px)}
.catalog-page .catalog-contact{position:relative;overflow:hidden}
@media(min-width:1500px){.service-tile summary{min-height:395px}.tile-art{height:260px}.tile-traffic summary,.tile-web summary{min-height:460px}.tile-traffic .tile-art,.tile-web .tile-art{height:310px}.tile-email summary,.tile-slides summary{min-height:405px}.tile-slides .tile-art{height:300px}}
@media(max-width:900px) and (min-width:761px){.service-tile summary{padding:20px;min-height:310px}.service-tile h2{font-size:26px}.tile-traffic summary,.tile-web summary{min-height:370px}.tile-traffic h2,.tile-web h2{font-size:31px}.tile-art{height:185px}.tile-traffic .tile-art,.tile-web .tile-art{height:230px}.tile-action{font-size:10px}.tile-slides .tile-art{width:88%;left:57%;height:220px}}
@media(max-width:760px){.catalog-page .catalog-hero{padding:36px 6% 30px}.catalog-page .catalog-hero h1{font-size:clamp(38px,8.4vw,58px)}.catalog-page .catalog-intro{margin-top:22px}.catalog-page .catalog-intro>p{font-size:14px}.catalog-page .catalog-intro>.catalog-hint{margin-top:20px;font-size:11px;border:0;padding:0;max-width:none}.catalog-hint br{display:none}.catalog-mosaic-wrap{padding:0 5% 42px}.service-mosaic{grid-template-columns:1fr;gap:12px}.service-tile{grid-column:1}.service-tile summary,.tile-traffic summary,.tile-web summary,.tile-email summary,.tile-slides summary{min-height:325px;padding:25px}.service-tile h2,.tile-traffic h2,.tile-web h2,.tile-slides h2{font-size:30px;max-width:100%}.tile-art,.tile-traffic .tile-art,.tile-web .tile-art,.tile-slides .tile-art{height:210px;top:-7px}.tile-web .tile-art{width:110%}.tile-web summary{min-height:355px}.tile-slides .tile-art{width:105%;left:50%}.tile-body{padding:25px}.tile-action{font-size:11px}.tile-body ul{font-size:13px}}
@media(prefers-reduced-motion:reduce){.tile-art,.tile-action i,.tile-action i:after{transition:none!important}.service-tile summary:hover .tile-art{transform:none}}

.tile-hide{display:none}.service-tile[open] .tile-show{display:none}.service-tile[open] .tile-hide{display:inline}

/* Details occupy a full row; neighbouring tiles retain their original dimensions. */
.mosaic-enhanced .service-tile[open] summary{border-bottom:0;box-shadow:inset 0 0 0 2px currentColor}
.mosaic-panel{grid-column:1/-1;--tile-ink:#14213d;--tile-soft:#455069;color:#14213d;min-width:0;overflow:hidden;overflow:clip}
.mosaic-panel-content{background:#edf1fa;border:1px solid #173fd130;border-top:3px solid #173fd1;border-radius:4px;padding:28px 32px 32px}
.mosaic-panel-header{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-bottom:22px}
.mosaic-panel-header h3{font-size:29px;line-height:1.15;font-weight:550;max-width:75%;letter-spacing:-.04em}
.mosaic-panel-close{background:transparent;color:#455069;font-size:11px;white-space:nowrap;padding:7px 0;border-bottom:1px solid #45506970}
.mosaic-panel-close:hover{color:#173fd1;border-color:#173fd1}
.mosaic-panel .tile-body{padding:0;display:grid;grid-template-columns:1.15fr 1fr;column-gap:70px;row-gap:18px}
.mosaic-panel .tile-body p{margin:0}
.mosaic-panel .tile-body ul{grid-column:2;grid-row:1/span 2;margin:0}
.mosaic-panel .tile-body a{grid-column:1;justify-self:start;align-self:end;color:#173fd1}
@media(max-width:760px){.mosaic-panel-content{padding:23px}.mosaic-panel-header{display:block;margin-bottom:20px}.mosaic-panel-header h3{font-size:25px;max-width:none}.mosaic-panel-close{margin-top:15px}.mosaic-panel .tile-body{grid-template-columns:1fr;gap:20px}.mosaic-panel .tile-body ul{grid-column:auto;grid-row:auto}.mosaic-panel .tile-body a{grid-column:auto}}

.mosaic-enhanced .service-tile>.tile-body{display:none}
