/* Each approved tile is one ordinary, crawlable link. */
.catalog-page .tile-link{display:block;text-decoration:none;color:var(--tile-ink);transition:box-shadow .2s ease,transform .2s ease}
.catalog-page .tile-link:focus-visible{outline:3px solid #173fd1;outline-offset:5px}
.catalog-page .tile-link:hover{transform:translateY(-3px);box-shadow:0 9px 22px #14213d12}
.catalog-page .tile-inner{position:relative;display:flex;flex-direction:column;height:100%;min-height:430px;padding:28px}
.catalog-page .tile-traffic .tile-inner,.catalog-page .tile-web .tile-inner{min-height:450px}
.catalog-page .tile-link .tile-art{position:static!important;inset:auto!important;translate:none;width:100%;height:170px!important;flex:0 0 170px;object-fit:contain;transform:none;pointer-events:none;margin:0 0 22px}
.catalog-page .tile-traffic .tile-art,.catalog-page .tile-web .tile-art{height:205px!important;flex-basis:205px}
.catalog-page .tile-link h2{font-size:clamp(27px,2.6vw,40px);margin:0 0 16px;line-height:1.12;max-width:100%}
.catalog-page .tile-link .tile-benefit{position:relative;font-size:14px;line-height:1.65;margin:0 0 24px;color:var(--tile-soft);max-width:440px}
.catalog-page .tile-link .tile-action{display:block;min-height:0;margin-top:auto;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:5px}
.catalog-page .tile-slides .tile-inner,.catalog-page .tile-email .tile-inner{min-height:430px}
/* Photography and typography share space without overlapping. */
.service-opening{padding-top:36px;padding-bottom:64px;max-width:1500px;margin:auto}
.service-opening .article-breadcrumb{margin-bottom:30px}
.service-opening-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:6%}
.service-opening-copy{padding:20px 0 30px}
.service-opening h1{font-size:clamp(45px,5.05vw,76px);line-height:1.06;font-weight:500;letter-spacing:-.052em;max-width:670px;color:#173fd1}
.service-opening .article-deck{font-size:18px;line-height:1.75;margin-top:28px;max-width:590px}
.service-opening .service-primary{margin-top:30px;min-height:54px}
.service-photo{margin:0;min-width:0;position:relative}
.service-photo>img{width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;display:block;background:#eef2fa}
.service-photo.photo-planejamento>img{object-position:50% 47%}
.service-photo.photo-design>img{object-position:48% 50%}
.service-photo figcaption{display:flex;flex-direction:column;gap:8px;padding:18px 0 16px;border-bottom:1px solid #14213d24}
.service-photo figcaption>span{font-size:14px;line-height:1.6;color:#14213d;max-width:370px}
.service-photo figcaption>a{font-size:10px;line-height:1.6;color:#596273;align-self:flex-start;text-underline-offset:3px}
.service-photo figcaption>a:hover{text-decoration:underline}
.service-method{background:#173fd1;color:#fff;padding-top:54px;padding-bottom:54px}
.service-method-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:38px}
.service-method h2{font-size:clamp(32px,3vw,44px);font-weight:500;letter-spacing:-.04em;line-height:1.17}
.service-method-intro>p{font-size:16px;line-height:1.85;max-width:510px;color:#e4eaff}
.service-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.service-method-step{border-top:1px solid #ffffff65;padding-top:23px;position:relative}
.service-method-step:before{content:'';display:block;width:8px;height:8px;border-radius:50%;background:#fff;position:absolute;top:-4.5px;left:0}
.service-method-step h3{font-weight:550;font-size:23px;line-height:1.3;letter-spacing:-.025em;margin-bottom:14px}
.service-method-step p{font-size:14px;line-height:1.8;color:#dce5ff;max-width:335px}
.service-reading{padding-top:34px;padding-bottom:24px;max-width:1380px;margin:auto}
.service-chapter{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.42fr);gap:8%;padding:45px 0;border-bottom:1px solid #14213d24}
.service-chapter:last-child{border-bottom:0}
.service-chapter-title h2{font-size:clamp(26px,2.55vw,35px);line-height:1.21;font-weight:500;letter-spacing:-.038em;max-width:360px}
.service-chapter .article-body{font-size:16px;line-height:1.85}
.service-chapter .article-body>:last-child{margin-bottom:0}
.service-chapter .article-body>ul{padding-left:20px}
.service-chapter .article-body li{margin:0 0 13px;padding-left:4px}
.service-chapter .article-body li::marker{color:#173fd1}
.service-principle{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.42fr);gap:8%;background:#eef2fa;padding:38px;margin:20px -38px}
.service-principle-title h2{font-size:clamp(28px,2.8vw,39px);line-height:1.18;color:#173fd1;font-weight:500;letter-spacing:-.04em}
.service-principle .article-body{font-size:16px}
.service-principle .article-body p:last-child{margin-bottom:0}
.service-experience .service-faq summary{font-size:17px;padding-top:19px;padding-bottom:19px}
.service-experience .service-faq summary:after{top:19px}
.service-experience .service-faq>p{font-size:15px}
.service-formats{background:#f3f5fa;padding-top:44px;padding-bottom:48px}
.service-formats>h2,.service-related>h2{font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.035em;line-height:1.2;margin-bottom:28px}
.service-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-format-grid>a{display:flex;flex-direction:column;padding:25px 25px 24px;border:1px solid #14213d24;background:#fff;color:#14213d;transition:border-color .2s}
.service-format-grid>a:hover{border-color:#173fd1}
.service-format-grid h3{font-size:25px;font-weight:500;line-height:1.2;letter-spacing:-.03em;color:#173fd1;margin-bottom:15px}
.service-format-grid p{font-size:14px;line-height:1.8;margin-bottom:24px}
.service-format-grid span{font-size:12px;text-decoration:underline;text-underline-offset:4px;margin-top:auto}
.service-related{padding-top:40px;padding-bottom:48px;background:#f3f5fa}
.service-related>h2{font-size:28px}
.service-related nav{display:flex;flex-wrap:wrap;gap:14px 32px}
.service-related a{color:#173fd1;font-size:15px;line-height:1.6;text-decoration:underline;text-underline-offset:5px}
.service-contact{padding-top:58px;padding-bottom:58px}
.service-contact h2{font-size:clamp(35px,4.4vw,60px)}
@media(min-width:1500px){.service-opening-grid{gap:80px}.service-photo>img{max-height:520px}.catalog-page .tile-inner{min-height:480px}.catalog-page .tile-traffic .tile-inner,.catalog-page .tile-web .tile-inner{min-height:530px}}
@media(min-width:761px) and (max-width:1050px){.service-opening-grid{gap:35px}.service-opening h1{font-size:48px}.service-opening .article-deck{font-size:16px}.service-photo>img{aspect-ratio:.88}.service-method-grid{gap:23px}.service-method-step h3{font-size:21px}.service-chapter{gap:5%}.service-principle{gap:5%;margin-inline:0;padding:28px}.catalog-page .tile-inner{padding:23px;min-height:430px}.catalog-page .tile-traffic .tile-inner,.catalog-page .tile-web .tile-inner{min-height:440px}.catalog-page .tile-link h2{font-size:28px}.catalog-page .tile-traffic .tile-art,.catalog-page .tile-web .tile-art{height:175px!important;flex-basis:175px}}
@media(max-width:760px){
 .catalog-page .tile-inner,.catalog-page .tile-traffic .tile-inner,.catalog-page .tile-web .tile-inner,.catalog-page .tile-email .tile-inner,.catalog-page .tile-slides .tile-inner{padding:22px;min-height:0}
 .catalog-page .tile-link .tile-art,.catalog-page .tile-traffic .tile-art,.catalog-page .tile-web .tile-art{height:155px!important;flex-basis:155px;margin-bottom:19px}
 .catalog-page .tile-link h2{font-size:30px;line-height:1.12;margin-bottom:15px}
 .catalog-page .tile-link .tile-benefit{font-size:14px;margin-bottom:22px}
 .service-opening{padding:26px 6% 35px}
 .service-opening .article-breadcrumb{margin-bottom:28px;font-size:11px}
 .service-opening-grid{display:flex;flex-direction:column;gap:28px;align-items:stretch}
 .service-opening-copy{padding:0}
 .service-opening h1{font-size:clamp(38px,10.5vw,60px);line-height:1.07}
 .service-opening .article-deck{font-size:16px;line-height:1.8;margin-top:21px}
 .service-opening .service-primary{margin-top:24px;font-size:12px}
 .service-photo>img{aspect-ratio:1.45;width:100%}
 .service-photo figcaption{padding:13px 0 14px;gap:5px}
 .service-photo figcaption>span{font-size:12px;max-width:none}
 .service-photo figcaption>a{font-size:9px}
 .service-method{padding:36px 6% 40px}
 .service-method-intro{grid-template-columns:1fr;gap:20px;margin-bottom:27px}
 .service-method h2{font-size:34px}
 .service-method-intro>p{font-size:14px;line-height:1.85}
 .service-method-grid{grid-template-columns:1fr;gap:25px}
 .service-method-step{padding-top:19px}
 .service-method-step h3{font-size:22px;margin-bottom:10px}
 .service-method-step p{max-width:none;font-size:14px}
 .service-reading{padding:12px 6% 20px}
 .service-chapter{grid-template-columns:1fr;gap:20px;padding:30px 0}
 .service-chapter-title h2{font-size:28px;max-width:none}
 .service-chapter .article-body{font-size:15px;line-height:1.85}
 .service-principle{grid-template-columns:1fr;gap:23px;margin:10px -6.8%;padding:30px 6.8%}
 .service-principle-title h2{font-size:31px}
 .service-principle .article-body{font-size:15px}
 .service-formats{padding:32px 6% 35px}
 .service-format-grid{grid-template-columns:1fr;gap:14px}
 .service-format-grid>a{padding:23px}
 .service-related{padding:30px 6% 36px}
 .service-related>h2{font-size:26px;margin-bottom:22px}
 .service-related nav{flex-direction:column;gap:18px}
 .service-related a{font-size:14px}
 .service-contact{padding:38px 6% 40px;gap:24px}
 .service-contact h2{font-size:38px}
}
@media(prefers-reduced-motion:reduce){.catalog-page .tile-link{transition:none}.catalog-page .tile-link:hover{transform:none}}
