/* Direction cards: a clear promise, one graphic, one destination. */
.service-mosaic{background:#171717;color:#ffffff}
.service-mosaic .mosaic-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:end;margin-bottom:45px}
.service-mosaic .mosaic-heading>div{justify-self:end;max-width:355px}
.service-mosaic .mosaic-heading p{font-size:14px;line-height:1.75;color:#999}
.service-mosaic .mosaic-all{font-size:13px;margin-top:21px;gap:35px}
.service-mosaic .mosaic-all>span:last-child{display:inline-flex;color:var(--brand)}
.service-mosaic .bento-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:300px 280px;gap:14px}
.service-mosaic .bento-card{display:block;min-width:0;padding:30px;position:relative;isolation:isolate;overflow:hidden;border:0;background:#1d1c1c;color:#ffffff;box-shadow:inset 0 0 0 1px transparent;transition:background .4s ease,box-shadow .4s ease}
.service-mosaic .bento-card h3{font-size:30px;font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0;position:relative;z-index:2;text-wrap:initial}
.service-mosaic .bento-card p{font-size:13px;line-height:1.65;color:#a49e9b;margin:16px 0 0;max-width:290px;position:relative;z-index:2}
.service-mosaic .bento-card img{position:absolute;object-fit:contain;mix-blend-mode:normal;opacity:1;pointer-events:none;z-index:1;transition:transform .6s cubic-bezier(.22,1,.36,1);transform-origin:center}
.service-mosaic .service-direction{position:absolute;bottom:25px;left:30px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;max-width:calc(100% - 60px);padding:12px 16px;border-radius:5px;background:#ffffff07;color:#e5ddd7;font-size:13px;line-height:1.3;z-index:3;transition:background .35s,color .35s}
.service-mosaic .service-direction svg{width:17px;height:17px;flex-shrink:0;stroke:#c88170;transition:transform .4s ease,stroke .35s}
.service-mosaic .bento-web{grid-row:1/3}
.service-mosaic .bento-web h3{font-size:36px}
.service-mosaic .bento-web img{width:94%;left:3%;height:330px;bottom:73px}
.service-mosaic .bento-seo{grid-column:2/4}
.service-mosaic .bento-seo h3{font-size:35px;max-width:59%}
.service-mosaic .bento-seo p{max-width:55%}
.service-mosaic .bento-seo img{width:38%;right:2%;height:235px;bottom:32px}
.service-mosaic :is(.bento-geo,.bento-performance) h3{font-size:24px;max-width:100%}
.service-mosaic :is(.bento-geo,.bento-performance) img{width:46%;height:120px;right:4%;bottom:76px}
.service-mosaic .mosaic-more{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.service-mosaic .mosaic-more .bento-card{min-height:340px}
.service-mosaic .mosaic-more h3{font-size:30px;max-width:74%}
.service-mosaic .mosaic-more p{max-width:54%;font-size:13px}
.service-mosaic .mosaic-more img{width:38%;height:220px;right:1%;bottom:66px}
.service-mosaic .bento-card:focus-visible{outline:2px solid #d6937e;outline-offset:4px;background:#302327;box-shadow:inset 0 0 0 1px #ffffff14}
.service-mosaic .bento-card:focus-visible .service-direction{background:#ffffff13;color:#fff4ed}
@media(hover:hover) and (pointer:fine){
 .service-mosaic .bento-card:hover{background:#302327;box-shadow:none}
 .service-mosaic .bento-card:hover:not(:focus-visible){outline:none}
 .service-mosaic .bento-card:hover img{transform:translateY(-5px) rotate(-1.5deg)}
 .service-mosaic .bento-card:hover .service-direction{background:#ffffff13;color:#fff4ed}
 .service-mosaic .bento-card:hover .service-direction svg{stroke:#f1b59d;transform:translate(2px,-2px)}
}
@media(max-width:1050px){
 .service-mosaic .mosaic-heading{gap:6%;grid-template-columns:1.5fr 1fr}
 .service-mosaic .bento-grid{grid-template-columns:1fr 1fr;grid-template-rows:445px 280px}
 .service-mosaic .bento-web{grid-row:1}.service-mosaic .bento-seo{grid-column:2}
 .service-mosaic :is(.bento-web,.bento-seo) h3{font-size:30px;max-width:100%}
 .service-mosaic :is(.bento-web,.bento-seo) p{font-size:12px;max-width:100%}
 .service-mosaic .bento-web img{height:230px;bottom:65px}
 .service-mosaic .bento-seo img{width:88%;right:6%;height:235px;bottom:60px}
 .service-mosaic .mosaic-more .bento-card{min-height:365px}
 .service-mosaic .mosaic-more h3{font-size:27px;max-width:100%}
 .service-mosaic .mosaic-more p{max-width:70%;font-size:12px}
 .service-mosaic .mosaic-more img{width:48%;height:160px;bottom:70px}
 .service-mosaic .service-direction{font-size:12px;gap:18px}
}
@media(max-width:650px){
 .service-mosaic .mosaic-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}
 .service-mosaic .mosaic-heading>div{justify-self:start;max-width:none}
 .service-mosaic .mosaic-heading p{font-size:13px}
 .service-mosaic .mosaic-all{margin-top:14px}
 .service-mosaic .bento-grid,.service-mosaic .mosaic-more{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:12px}
 .service-mosaic .mosaic-more{margin-top:12px}
 .service-mosaic .bento-card,.service-mosaic .mosaic-more .bento-card{display:block;min-height:290px;padding:24px;grid-column:auto;grid-row:auto}
 .service-mosaic :is(.bento-web,.bento-seo){min-height:330px}
 .service-mosaic .mosaic-more .bento-media{min-height:320px}
 .service-mosaic .bento-card h3,.service-mosaic .mosaic-more h3{font-size:27px;max-width:100%;margin:0}
 .service-mosaic :is(.bento-geo,.bento-performance) h3{font-size:25px}
 .service-mosaic .bento-card p{display:none}
 .service-mosaic .bento-card img,.service-mosaic .mosaic-more img{position:absolute;left:auto;right:8%;bottom:74px;width:62%;height:120px;margin:0}
 .service-mosaic .bento-web img{left:5%;right:auto;width:90%;height:160px;bottom:73px}
 .service-mosaic .bento-seo img{right:8%;width:74%;height:160px;bottom:71px}
 .service-mosaic .service-direction{left:24px;bottom:22px;max-width:calc(100% - 48px);padding:12px 15px;font-size:13px;gap:23px}
}
@media(max-width:360px){
 .service-mosaic .bento-card,.service-mosaic .mosaic-more .bento-card{padding:21px}
 .service-mosaic .bento-card h3,.service-mosaic .mosaic-more h3{font-size:25px}
 .service-mosaic .service-direction{left:21px;max-width:calc(100% - 42px);font-size:12px;gap:16px}
}
@media(prefers-reduced-motion:reduce){
 .service-mosaic .bento-card,.service-mosaic .bento-card img,.service-mosaic .service-direction,.service-mosaic .service-direction svg{transition:none}
 .service-mosaic .bento-card:hover img,.service-mosaic .bento-card:hover .service-direction svg{transform:none}
}
/* Restore the original editorial hierarchy; keep destination labels sized to their contents. */
.home-page .service-mosaic .service-direction{left:30px;right:auto;bottom:24px;width:max-content;max-width:calc(100% - 60px);min-height:44px;padding:10px 16px;gap:24px;font-size:12px}
.service-mosaic .bento-seo img{bottom:76px;height:200px}
.service-mosaic .mosaic-more img{bottom:78px}
@media(max-width:1050px){.service-mosaic .bento-seo img{bottom:76px;height:210px}}
@media(max-width:650px){
 .home-page .service-mosaic .service-direction{left:24px;right:auto;max-width:calc(100% - 48px);bottom:22px;font-size:12px}
 .service-mosaic .bento-seo img{height:150px;bottom:76px}
 .service-mosaic .mosaic-more img{bottom:76px}
}
@media(max-width:360px){.home-page .service-mosaic .service-direction{left:21px;right:auto;max-width:calc(100% - 42px)}}
